LDAP Assistant MCP server
io.github.droideck/ldap-assistant-mcp·v0.5.0·1 starsMCP server for 389 Directory Server health diagnostics, log analysis, and SOS-report investigation
1 stars21 downloads/wk
Reviews
Write oneNobody has reviewed LDAP Assistant MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
LDAP Assistant MCP tools (44, 4 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
analyze_access_logAnalyze access log statistics (operations, errors, slow queries). LOCAL/ARCHIVE.
analyze_archiveInventory available data in an offline instance or archive source, such as an SOS report or config extract.
analyze_audit_logAnalyze audit log statistics (change types, actors). LOCAL/ARCHIVE.
analyze_error_logAnalyze error log statistics (severity, components, patterns). LOCAL/ARCHIVE.
analyze_index_configurationAudit index configuration against best practices with remediation commands.
check_replication_lagMeasure replication lag by comparing supplier and consumer CSNs. LIVE only.
compare_dse_configsCompare entire dse.ldif between two offline/archive servers entry-by-entry.
compare_server_configurationsCompare cn=config attributes between two servers side-by-side.
describe_connectionShow the stored connection settings (hostname, port, SSL, base DN, auth method) for a configured OpenLDAP server.
find_unindexed_searchesFind unindexed searches (notes=U/A) in access logs with fix suggestions.
first_lookMulti-server health overview — the first tool to call for any directory investigation.
get_agreement_statusGet detailed status for one or all replication agreements. LIVE only.
get_backend_configurationRetrieve backend configuration, cache settings, and replication role.
get_cache_statisticsAnalyze database and entry cache efficiency. LIVE only.
get_connection_statisticsAnalyze connection patterns and file descriptor usage. LIVE only.
get_operation_statisticsGet operation counts by type and bind method distribution. LIVE only.
get_performance_summaryCombined performance overview — the first tool when the server is slow or for any performance question. LIVE only.
get_replication_statusGet replication configuration, RUV, and agreement status for one server. LIVE only.
get_replication_topologyMap the complete replication topology across all configured servers. LIVE only.
get_resource_utilizationGet memory, CPU, and disk usage for the Directory Server process. LIVE only.
get_server_configurationRetrieve cn=config attributes from a live, offline, or archive server.
get_thread_statisticsAnalyze worker thread utilization and contention. LIVE only.
get_user_detailsGet full attributes plus computed lock/expiry status for one user, looked up by uid.
ldap_searchwrite actionRun an arbitrary LDAP search (any base DN, scope, and filter) when no specialized tool fits.
list_active_usersList only users whose computed account status is active (not locked or inactivity-expired).
list_all_groupsList directory groups with their full attributes, including membership (member/uniqueMember).
list_all_usersList all user accounts regardless of status, with computed lock/active status per user.
list_healthcheck_errorsList all known DSLE error codes that ``run_healthcheck`` can return.
list_healthchecksList available health checks for a server in ``category:check`` format.
list_indexesList all configured indexes (attribute + VLV) per backend.
list_locked_usersList users whose accounts are locked, whether directly or indirectly (account policy / inactivity).
list_pluginsList server plugins with their enabled/disabled status.
list_replication_conflictsFind replication conflict and glue entries that need resolution. LIVE only.
list_serversList all configured servers with their connection modes.
parse_access_logParse access log entries with full detail (requires expose_sensitive_data).
parse_audit_logParse audit log entries with full detail (requires expose_sensitive_data).
parse_error_logParse error log entries with full detail (requires expose_sensitive_data).
run_healthcheckwrite actionRun targeted lint checks on a single server (like ``dsctl healthcheck``).
run_monitorwrite actionReturn raw cn=monitor attributes for a server or specific backend.
search_users_by_attributeSearch users by any single attribute=value match (e.g. departmentNumber, title, mail domain).
search_users_by_nameSearch users by name substring or '*' wildcard across uid, cn, givenName, sn, displayName, and mail.
server_healthProbe the MCP service itself (NOT directory server health — use ``first_look`` for that).
validate_configurationwrite actionRun static configuration lint on dse.ldif (like ``run_healthcheck`` but offline).
whoamiVerify credentials by binding to the OpenLDAP server and returning the authenticated identity (LDAP Who Am I).
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan37 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How LDAP Assistant MCP compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 92/100
- higher than 95% of 48,255 servers
- Tools
- 44
- the typical server has 7
- Tools that change things
- 9%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 28,688 servers
- Downloads a week
- 21
- more than 8% of 12,191 servers with a package
What its tools let an agent do: 40 read · 2 change · 2 run or deploy
Install LDAP Assistant MCP in Claude Code, Cursor or VS Code
claude mcp add ldap-assistant-mcp -- uvx ldap-assistant-mcp
What the publisher says
From the LDAP Assistant MCP repository's README, as published. We do not edit it. Read it on GitHub
LDAP Assistant MCP
<!-- mcp-name: io.github.droideck/ldap-assistant-mcp -->
Beta — read-only 389 Directory Server diagnostics, suitable for evaluation and internal troubleshooting. Tool schemas, output formats, and configuration fields may still change before 1.0.0.
LDAP Assistant MCP turns your AI assistant into a 389 Directory Server support engineer. Point it at live servers, stopped instances, or an SOS report from a customer case, and ask:
- "What's wrong with my directory servers?"
- "Summarize this SOS report before I open the case."
- "Replication looks broken between these servers — why?"
It answers with prioritized findings (severity, impact, remediation) from 42 read-only diagnostic tools built on lib389, the official 389 DS administration library. Privacy mode is on by default: DNs, hostnames, and IPs are redacted before anything reaches the LLM.
Supported provider: 389 Directory Server. (OpenLDAP provider code exists experimentally behind an opt-in flag, with no privacy guarantees, and is not part of the support contract — see Environment Variables.)
Install
Prerequisites
- Linux (primary) or macOS. Windows is not supported natively (python-ldap has no official Windows wheels) — use WSL2 (see the install playbook)
- Python 3.11+ (3.13 is what CI tests against)
- uv package manager
- MCP client (Claude Desktop, Claude Code, Cursor, Gemini CLI, etc.)
- System development libraries (needed to build python-ldap):
Fedora / RHEL / CentOS:
sudo dnf install python3-devel openldap-devel cyrus-sasl-devel openssl-devel gccUbuntu / Debian:
sudo apt install python3-dev libldap2-dev libsasl2-dev libssl-dev gccmacOS (Homebrew):
brew install openldap
export LDFLAGS="-L$(brew --prefix openldap)/lib"
export CPPFLAGS="-I$(brew --prefix openldap)/include"Anything failing during install? → Installation troubleshooting playbook
From PyPI (recommended)
No clone needed — your MCP client runs the published package via uvx. Skip ahead to Configure your servers, then use this client configuration (Claude Desktop: ~/Library/Application Support/Claude/claudedesktopconfig.json on macOS):
{
"mcpServers": {
"ldap-assistant-mcp": {
"command": "uvx",
"args": ["ldap-assistant-mcp"],
"env": {
"LDAP_SERVERS_CONFIG": "/absolute/path/to/servers.json"
}
}
}
}Use an absolute path for LDAPSERVERSCONFIG — relative paths resolve against the MCP client's working directory, which is usually not where you think.
From source (development)
git clone https://github.com/droideck/ldap-assistant-mcp.git
cd ldap-assistant-mcp
uv venv && source .venv/bin/activate
uv pip install -e .[dev]
# Register with your MCP client via FastMCP:
fastmcp install claude-desktop fastmcp.json # or: fastmcp install claude-code fastmcp.jsonThen set LDAPSERVERSCONFIG in the generated client entry as above. See the Development Guide for test containers and architecture.
Configure your servers
Create a servers.json with your LDAP server(s). Note: the name field is never redacted in privacy mode — it is passed as-is to AI agents so they can reference servers across tool calls. Do not put hostnames, IPs, or other private information in server names.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
LDAP Assistant MCP: common questions
- Is LDAP Assistant MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the LDAP Assistant MCP safety report
- How do I install LDAP Assistant MCP?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does LDAP Assistant MCP need an API key?
- No secret keys are declared. It reads 1 setting from the environment.
- Is LDAP Assistant MCP maintained?
- The last commit was 40 days ago (2026-09-25). The latest release is v0.5.0.
- What can I use instead of LDAP Assistant MCP?
- Servers from other publishers that do the same job: pyscn MCP server.
- How does LDAP Assistant MCP compare with other MCP servers?
- safety score 92/100 (higher than 95% of 48,255 servers); tools 44 (the typical server has 7); tools that change things 9% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to LDAP Assistant MCP
Same job from other publishers: the closest match first, then the best rated.
- pyscnPython code analysis for AI agents: complexity, dead code, clones, coupling, and a health score.not reviewedEstablishedA