Skip to main content
Glama
vhspace
by vhspace

IPA MCPサーバー

CI Release Python 3.12+ License: Apache 2.0

FreeIPA用のMCPサーバーおよびCLIです。FreeIPA JSON-RPC APIを介して、ユーザーグループ、ホストグループ、HBACルール、sudoルールを管理します。Together AI SREスタックにおけるフォージクラスターの立ち上げとアクセス制御の自動化のために設計されています。

クイックスタート

Cursor IDE

.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"
      }
    }
  }
}

ソースから

cd ipa-mcp
uv sync --all-groups
uv run ipa-mcp

ツール

読み取りツール (6)

ツール

説明

ipa_list_groups

ユーザーグループを一覧表示

ipa_list_hostgroups

ホストグループを一覧表示

ipa_list_hbac_rules

HBACルールを一覧表示

ipa_list_sudo_rules

sudoルールを一覧表示

ipa_list_users

ユーザーを一覧表示

ipa_list_hosts

ホストを一覧表示

書き込みツール (10)

ツール

説明

ipa_create_group

ユーザーグループを作成

ipa_add_group_members

ユーザーをグループに追加

ipa_create_hostgroup

ホストグループを作成

ipa_add_hostgroup_members

ホストをホストグループに追加

ipa_create_hbac_rule

HBACルールを作成

ipa_add_hbac_rule_members

HBACルールにメンバーを追加

ipa_create_sudo_rule

sudoルールを作成

ipa_add_sudo_rule_members

sudoルールにメンバーを追加

ipa_add_sudo_option

sudoオプションを追加

ipa_setup_forge

ワンショットのフォージクラスターセットアップ (グループ + HBAC + sudo)

CLI

付属の ipa-cli は、シェルコマンドを介して同じ機能を提供します。トークン予算が重要な場合や、シェルアクセスが可能な場合に使用してください。

タスク

コマンド

ユーザーグループを一覧表示

ipa-cli groups

ホストグループを一覧表示

ipa-cli hostgroups

HBACルールを一覧表示

ipa-cli hbac-rules

sudoルールを一覧表示

ipa-cli sudo-rules

ユーザーを一覧表示

ipa-cli users

ホストを一覧表示

ipa-cli hosts

ユーザーグループを作成

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

ホストグループを作成

ipa-cli create-hostgroup <name>

完全なフォージセットアップ

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

CLIのインストール: uvx --from ipa-mcp ipa-cli またはリポジトリから uv run ipa-cli を実行します。

クロスMCP統合

このサーバーは、SREスタック内の他のMCPサーバーと連携して動作します:

  • NetBox MCP — IPAホストグループに追加する前にホストのFQDNを検索します。NetBoxはデバイスインベントリの信頼できる唯一の情報源です。

  • AWX MCP — フォージセットアップ後に、IPA登録やホストプロビジョニングのためのAnsible Playbookをトリガーします。

  • MAAS MCP — IPAに登録されるノードをコミッショニングする際にMAASと連携します。

インストール

Python 3.12+ と、JSON-RPC APIが有効なFreeIPAサーバーが必要です。

uv add ipa-mcp
# or
pip install ipa-mcp

ソースからの開発用:

cd ipa-mcp
uv sync --all-groups

設定

環境変数

.env ファイルを作成します(env.example を参照):

変数

必須

デフォルト

説明

IPA_HOST

はい

FreeIPAサーバーのホスト名またはURL

IPA_USERNAME

いいえ

admin

IPA APIユーザー名

IPA_PASSWORD

はい

IPA管理者パスワード

IPA_VERIFY_SSL

いいえ

false

SSL証明書の検証(自己署名の場合は通常false)

エイリアス: IPA_HOSTIPA_URLIPA_USERNAMEIPA_USERIPA_PASSWORDIPA_PASS が使用可能です。

コマンドライン

ipa-mcp                    # stdio (default)
ipa-cli groups             # CLI
ipa-cli setup-forge cartesia5 --hosts "host1.cloud.together.ai" --users "alice"

Cursor / Claude Code 統合

Cursor (.cursor/mcp.json または .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

開発

uv sync --all-groups
uv run ruff check src/ tests/
uv run ruff format src/ tests/
uv run pytest -v
uv run mypy src/

プロジェクト構造

src/ipa_mcp/
├── config.py       # Pydantic Settings
├── ipa_client.py   # FreeIPA JSON-RPC client
├── server.py       # FastMCP tools and entrypoint
└── cli.py          # Typer CLI

セキュリティ

  • 資格情報は SecretStr であり、ログでは編集(非表示)されます

  • 実際の資格情報を含む .env ファイルをコミットしないでください

  • FreeIPAサーバーは自己署名証明書を使用することが多いため、IPA_VERIFY_SSL=false が一般的です

ライセンス

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