Skip to main content
Glama
vhspace
by vhspace

IPA MCP-Server

CI Release Python 3.12+ License: Apache 2.0

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-mcp

Tools

Lese-Tools (6)

Tool

Beschreibung

ipa_list_groups

Benutzergruppen auflisten

ipa_list_hostgroups

Hostgruppen auflisten

ipa_list_hbac_rules

HBAC-Regeln auflisten

ipa_list_sudo_rules

Sudo-Regeln auflisten

ipa_list_users

Benutzer auflisten

ipa_list_hosts

Hosts auflisten

Schreib-Tools (10)

Tool

Beschreibung

ipa_create_group

Benutzergruppe erstellen

ipa_add_group_members

Benutzer zu Gruppe hinzufügen

ipa_create_hostgroup

Hostgruppe erstellen

ipa_add_hostgroup_members

Hosts zu Hostgruppe hinzufügen

ipa_create_hbac_rule

HBAC-Regel erstellen

ipa_add_hbac_rule_members

Mitglieder zu HBAC-Regel hinzufügen

ipa_create_sudo_rule

Sudo-Regel erstellen

ipa_add_sudo_rule_members

Mitglieder zu Sudo-Regel hinzufügen

ipa_add_sudo_option

Sudo-Option hinzufügen

ipa_setup_forge

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

ipa-cli groups

Hostgruppen auflisten

ipa-cli hostgroups

HBAC-Regeln auflisten

ipa-cli hbac-rules

Sudo-Regeln auflisten

ipa-cli sudo-rules

Benutzer auflisten

ipa-cli users

Hosts auflisten

ipa-cli hosts

Benutzergruppe erstellen

ipa-cli create-group <name> --desc "description"

Hostgruppe erstellen

ipa-cli create-hostgroup <name>

Vollständige Forge-Einrichtung

ipa-cli setup-forge <cluster> --hosts "host1,host2" --users "alice,bob"

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-mcp

Für die Entwicklung aus dem Quellcode:

cd ipa-mcp
uv sync --all-groups

Konfiguration

Umgebungsvariablen

Erstellen Sie eine .env-Datei (siehe env.example):

Variable

Erforderlich

Standard

Beschreibung

IPA_HOST

Ja

FreeIPA-Server-Hostname oder URL

IPA_USERNAME

Nein

admin

IPA API-Benutzername

IPA_PASSWORD

Ja

IPA-Administrator-Passwort

IPA_VERIFY_SSL

Nein

false

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-mcp

Entwicklung

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 CLI

Sicherheit

  • Anmeldeinformationen sind SecretStr und werden in Protokollen geschwärzt

  • Committen Sie niemals .env-Dateien mit echten Anmeldeinformationen

  • FreeIPA-Server verwenden oft selbstsignierte Zertifikate — IPA_VERIFY_SSL=false ist ü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.

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

Latest Blog Posts

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