Hello 389 Directory Server community,
I'm excited to share an experimental project: LDAP Assistant MCP - an AI-powered assistant for diagnosing 389 Directory Server instances.
What is it?
LDAP Assistant MCP is a Model Context Protocol (MCP) server that enables AI models like Claude to interact with your 389 DS instances. Instead of manually running dsconf/dsctl commands and parsing output, you can ask:
- "What's wrong across all my servers?"
- "Check replication status and tell me if there's any lag"
- "Are there any unindexed searches causing performance issues?"
The assistant runs the appropriate tools and provides actionable recommendations with severity levels.
Key Features (v0.2.0)
- Health & Diagnostics: first_look() for multi-server health overview, run_healthcheck() equivalent to dsctl healthcheck
- Replication: status checks, topology mapping, lag analysis (CSN comparison), conflict detection
- Performance: cache statistics, connection analysis, operation metrics, thread utilization
- Index Analysis: list indexes, analyze against best practices, find unindexed searches from access logs
- Configuration: server config retrieval, multi-server comparison, plugin listing
- User & Group Management: list, search, filter users by status, check groups
Use Cases
Support Engineers: Rapid root cause analysis, multi-server health scans, replication troubleshooting
LDAP Administrators: Performance tuning, index optimization, configuration audits
Getting Started
Prerequisites:
- Python 3.13+
- uv package manager
- MCP client (Claude Desktop, Claude Code, Cursor, or any MCP-compatible client)
Quick Setup:
1. Clone and install:
git clone https://github.com/droideck/ldap-assistant-mcp.git
cd ldap-assistant-mcp
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
2. Create servers.json with your server(s). You can configure local servers (with is_local: true and serverid for full diagnostics including disk/logs/etc) or remote servers (LDAP-only).
3. Install to your MCP client:
fastmcp install claude-desktop fastmcp.json
or
fastmcp install claude-code fastmcp.json
4. Edit MCP client config to set LDAP_SERVERS_CONFIG path to your servers.json
5. Restart and start asking questions!
Important Notes
- Experimental - Early-stage project, APIs may change
- Read-only - No write operations yet
- Privacy mode - Set LDAP_MCP_EXPOSE_SENSITIVE_DATA=false to anonymize output
- Plain text passwords - Use restrictive file permissions on config files
Feedback
I'd love to hear your thoughts:
- What diagnostics would be most useful?
- What operations would you want AI assistance with?
GitHub: https://github.com/droideck/ldap-assistant-mcp
Issues: https://github.com/droideck/ldap-assistant-mcp/issues
References:
- Model Context Protocol: https://modelcontextprotocol.io/introduction
- FastMCP: https://gofastmcp.com
I'm excited to share an experimental project: LDAP Assistant MCP - an AI-powered assistant for diagnosing 389 Directory Server instances.
What is it?
LDAP Assistant MCP is a Model Context Protocol (MCP) server that enables AI models like Claude to interact with your 389 DS instances. Instead of manually running dsconf/dsctl commands and parsing output, you can ask:
- "What's wrong across all my servers?"
- "Check replication status and tell me if there's any lag"
- "Are there any unindexed searches causing performance issues?"
The assistant runs the appropriate tools and provides actionable recommendations with severity levels.
Key Features (v0.2.0)
- Health & Diagnostics: first_look() for multi-server health overview, run_healthcheck() equivalent to dsctl healthcheck
- Replication: status checks, topology mapping, lag analysis (CSN comparison), conflict detection
- Performance: cache statistics, connection analysis, operation metrics, thread utilization
- Index Analysis: list indexes, analyze against best practices, find unindexed searches from access logs
- Configuration: server config retrieval, multi-server comparison, plugin listing
- User & Group Management: list, search, filter users by status, check groups
Use Cases
Support Engineers: Rapid root cause analysis, multi-server health scans, replication troubleshooting
LDAP Administrators: Performance tuning, index optimization, configuration audits
Getting Started
Prerequisites:
- Python 3.13+
- uv package manager
- MCP client (Claude Desktop, Claude Code, Cursor, or any MCP-compatible client)
Quick Setup:
1. Clone and install:
git clone https://github.com/droideck/ldap-assistant-mcp.git
cd ldap-assistant-mcp
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
2. Create servers.json with your server(s). You can configure local servers (with is_local: true and serverid for full diagnostics including disk/logs/etc) or remote servers (LDAP-only).
3. Install to your MCP client:
fastmcp install claude-desktop fastmcp.json
or
fastmcp install claude-code fastmcp.json
4. Edit MCP client config to set LDAP_SERVERS_CONFIG path to your servers.json
5. Restart and start asking questions!
Important Notes
- Experimental - Early-stage project, APIs may change
- Read-only - No write operations yet
- Privacy mode - Set LDAP_MCP_EXPOSE_SENSITIVE_DATA=false to anonymize output
- Plain text passwords - Use restrictive file permissions on config files
Feedback
I'd love to hear your thoughts:
- What diagnostics would be most useful?
- What operations would you want AI assistance with?
GitHub: https://github.com/droideck/ldap-assistant-mcp
Issues: https://github.com/droideck/ldap-assistant-mcp/issues
References:
- Model Context Protocol: https://modelcontextprotocol.io/introduction
- FastMCP: https://gofastmcp.com
- lib389: https://pypi.org/project/lib389/
Kind regards,
Simon
No comments:
Post a Comment