RedHatLDAP-MCP

RedHatLDAP-MCP

Provides read-only access to corporate LDAP directories, enabling AI assistants to search for people, navigate organizational hierarchies, and export contact information.

Category
Visit Server

README

RedHat LDAP MCP Server

Test Suite Lint

A specialized Model Context Protocol (MCP) server designed for corporate LDAP directories, with optimizations for Red Hat's LDAP environment and other OpenLDAP-based corporate systems.

๐ŸŽฏ Purpose

This MCP server provides read-only access to corporate LDAP directories, enabling AI assistants to:

  • Search for people and organizational information
  • Navigate corporate hierarchies and reporting structures
  • Access contact information and organizational data
  • Export directory information for business use

๐Ÿš€ Features

Corporate LDAP Optimized

  • Anonymous bind support for read-only corporate directories
  • Red Hat LDAP integration with rhatPerson schema support
  • Schema auto-detection for different LDAP environments
  • Corporate hierarchy tools for org charts and reporting structures

Read-Only & Secure

  • No modification operations - purely informational
  • Corporate firewall friendly - optimized for enterprise networks
  • Flexible authentication - anonymous, simple, and SASL support planned

AI Assistant Ready

  • MCP protocol compliance for Claude, Cursor, and other AI tools
  • Structured responses with consistent JSON formatting
  • Rich search capabilities across multiple person attributes
  • Export functionality for contact lists and org charts

๐Ÿ”ง Available MCP Tools

People Search

  • search_people - Search for people by name, email, uid, department
  • get_person_details - Get detailed information about a specific person

Organization Charts

  • get_organization_chart - Build hierarchical org charts from any manager
  • find_manager_chain - Get the complete management chain for any person

Groups & Teams

  • search_groups - Search for groups and teams
  • get_person_groups - Find all groups a person belongs to
  • get_group_members - List all members of a specific group

Locations & Offices

  • find_locations - Discover office locations and people counts
  • get_people_at_location - Find all colleagues at a specific office

Utilities

  • test_connection - Test LDAP connectivity and configuration

๐Ÿ› ๏ธ Installation

# Clone the repository
git clone https://github.com/jlaska/RedHatLDAP-MCP.git
cd RedHatLDAP-MCP

# Create virtual environment and install
uv venv
uv pip install -e ".[dev]"

โš™๏ธ Configuration

Create a configuration file (e.g., config/redhat-ldap.json):

{
  "ldap": {
    "server": "ldap://ldap.corp.redhat.com",
    "base_dn": "dc=redhat,dc=com",
    "auth_method": "anonymous",
    "timeout": 30
  },
  "schema": {
    "person_object_class": "rhatPerson",
    "person_search_base": "ou=users,dc=redhat,dc=com",
    "group_search_base": "ou=adhoc,ou=managedGroups,dc=redhat,dc=com",
    "corporate_attributes": [
      "rhatJobTitle", "rhatCostCenter", "rhatLocation",
      "rhatBio", "manager", "rhatGeo"
    ]
  },
  "logging": {
    "level": "INFO",
    "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
  }
}

๐Ÿš€ Usage

Claude CLI Integration (Recommended)

For the easiest setup with Claude CLI, use the included wrapper script:

# Add to Claude CLI (from project directory)
claude mcp add redhat-ldap /absolute/path/to/RedHatLDAP-MCP/scripts/run_mcp_server.sh

# Verify connection
claude mcp list

# Use in Claude CLI conversations
claude chat
> What's John Doe's mobile number?

The wrapper script automatically configures the environment and uses the local configuration.

Stdio Mode (for other MCP clients)

REDHAT_LDAP_CONFIG="config/redhat-ldap.json" uv run python -m redhat_ldap_mcp.server

HTTP Mode (for testing/development)

REDHAT_LDAP_CONFIG="config/redhat-ldap.json" uv run python -m redhat_ldap_mcp.server_http --host 0.0.0.0 --port 8813

๐Ÿ”ง MCP Client Configuration

Claude CLI

claude mcp add redhat-ldap "scripts/run_mcp_server.sh" -e REDHAT_LDAP_CONFIG=$PWD/config/redhat-ldap.json

๐Ÿ“š Available Tools

  • search_people - Find people by name, email, uid, or other attributes
  • get_person_details - Get detailed information about a specific person
  • get_organization_chart - Generate hierarchical org charts from any manager
  • find_manager_chain - Get the complete management chain for any person
  • search_groups - Search for groups and teams
  • get_person_groups - Find all groups a person belongs to
  • get_group_members - List all members of a specific group
  • find_locations - Discover office locations and people counts
  • get_people_at_location - Find all colleagues at a specific office
  • test_connection - Test LDAP connectivity and configuration

๐Ÿงช Development

# Run tests
pytest

# Format code
black src/ tests/

# Lint code
ruff check src/ tests/

# Type checking
mypy src/

๐Ÿ“„ License

MIT License - see LICENSE file for details.

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Run the test suite
  6. Submit a pull request

๐Ÿ™ Acknowledgments

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured