IPA MCP Server
IPA MCP-Server
MCP-Server und CLI für FreeIPA — verwaltet Benutzergruppen, Hostgruppen, HBAC-Regeln und Sudo-Regeln über die FreeIPA JSON-RPC API. Entwickelt für das Hochfahren von Forge-Clustern und die Automatisierung der Zugriffskontrolle im Together AI SRE-Stack.
Schnellstart
Cursor IDE
Hinzufügen zu .cursor/mcp.json:
{
"mcpServers": {
"ipa-mcp": {
"command": "uvx",
"args": ["--from", "ipa-mcp", "ipa-mcp"],
"env": {
"IPA_HOST": "ipa.example.com",
"IPA_USERNAME": "admin",
"IPA_PASSWORD": "your-password"
}
}
}
}Aus dem Quellcode
cd ipa-mcp
uv sync --all-groups
uv run ipa-mcpTools
Lese-Tools (6)
Tool | Beschreibung |
| Benutzergruppen auflisten |
| Hostgruppen auflisten |
| HBAC-Regeln auflisten |
| Sudo-Regeln auflisten |
| Benutzer auflisten |
| Hosts auflisten |
Schreib-Tools (10)
Tool | Beschreibung |
| Benutzergruppe erstellen |
| Benutzer zu Gruppe hinzufügen |
| Hostgruppe erstellen |
| Hosts zu Hostgruppe hinzufügen |
| HBAC-Regel erstellen |
| Mitglieder zu HBAC-Regel hinzufügen |
| Sudo-Regel erstellen |
| Mitglieder zu Sudo-Regel hinzufügen |
| Sudo-Option hinzufügen |
| Einmalige Forge-Cluster-Einrichtung (Gruppen + HBAC + Sudo) |
CLI
Das begleitende ipa-cli bietet dieselben Funktionen über Shell-Befehle — verwenden Sie es, wenn das Token-Budget begrenzt ist oder Shell-Zugriff verfügbar ist.
Aufgabe | Befehl |
Benutzergruppen auflisten |
|
Hostgruppen auflisten |
|
HBAC-Regeln auflisten |
|
Sudo-Regeln auflisten |
|
Benutzer auflisten |
|
Hosts auflisten |
|
Benutzergruppe erstellen |
|
Hostgruppe erstellen |
|
Vollständige Forge-Einrichtung |
|
CLI installieren: uvx --from ipa-mcp ipa-cli oder aus dem Repository mit uv run ipa-cli ausführen.
Cross-MCP-Integration
Dieser Server arbeitet mit anderen MCP-Servern im SRE-Stack zusammen:
NetBox MCP — Suchen Sie Host-FQDNs, bevor Sie sie zu IPA-Hostgruppen hinzufügen. NetBox ist die Quelle der Wahrheit für das Geräteinventar.
AWX MCP — Lösen Sie Ansible-Playbooks für die IPA-Registrierung oder Host-Bereitstellung nach der Forge-Einrichtung aus.
MAAS MCP — Koordinieren Sie sich mit MAAS bei der Inbetriebnahme von Knoten, die in IPA registriert werden sollen.
Installation
Erfordert Python 3.12+ und einen FreeIPA-Server mit aktivierter JSON-RPC API.
uv add ipa-mcp
# or
pip install ipa-mcpFür die Entwicklung aus dem Quellcode:
cd ipa-mcp
uv sync --all-groupsKonfiguration
Umgebungsvariablen
Erstellen Sie eine .env-Datei (siehe env.example):
Variable | Erforderlich | Standard | Beschreibung |
| Ja | — | FreeIPA-Server-Hostname oder URL |
| Nein |
| IPA API-Benutzername |
| Ja | — | IPA-Administrator-Passwort |
| Nein |
| SSL-Zertifikatsüberprüfung (normalerweise false bei selbstsignierten Zertifikaten) |
Aliase: IPA_URL für IPA_HOST, IPA_USER für IPA_USERNAME, IPA_PASS für IPA_PASSWORD.
Befehlszeile
ipa-mcp # stdio (default)
ipa-cli groups # CLI
ipa-cli setup-forge cartesia5 --hosts "host1.cloud.together.ai" --users "alice"Cursor / Claude Code Integration
Cursor (.cursor/mcp.json oder .mcp.json)
{
"mcpServers": {
"ipa-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/ipa-mcp", "run", "ipa-mcp"],
"env": {
"IPA_HOST": "ipa.example.com",
"IPA_USERNAME": "admin",
"IPA_PASSWORD": "your-password"
}
}
}
}Claude Code
claude mcp add ipa-mcp -- uv --directory /path/to/ipa-mcp run ipa-mcpEntwicklung
uv sync --all-groups
uv run ruff check src/ tests/
uv run ruff format src/ tests/
uv run pytest -v
uv run mypy src/Projektstruktur
src/ipa_mcp/
├── config.py # Pydantic Settings
├── ipa_client.py # FreeIPA JSON-RPC client
├── server.py # FastMCP tools and entrypoint
└── cli.py # Typer CLISicherheit
Anmeldeinformationen sind
SecretStrund werden in Protokollen geschwärztCommitten Sie niemals
.env-Dateien mit echten AnmeldeinformationenFreeIPA-Server verwenden oft selbstsignierte Zertifikate —
IPA_VERIFY_SSL=falseist üblich
Lizenz
Apache License 2.0
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- SkycloakOAuthio.skycloak
Managed Keycloak from any MCP client: clusters, realms, apps, SSO, users, domains, audit events.
Programmatic control of the Hiro security platform: scans, tasks, plans, and approvals.
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
Manage repositories, users, releases, and automate GitHub workflows
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vhspace/ipa-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server