IPA MCP Server
IPA MCPサーバー
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)
ツール | 説明 |
| ユーザーグループを一覧表示 |
| ホストグループを一覧表示 |
| HBACルールを一覧表示 |
| sudoルールを一覧表示 |
| ユーザーを一覧表示 |
| ホストを一覧表示 |
書き込みツール (10)
ツール | 説明 |
| ユーザーグループを作成 |
| ユーザーをグループに追加 |
| ホストグループを作成 |
| ホストをホストグループに追加 |
| HBACルールを作成 |
| HBACルールにメンバーを追加 |
| sudoルールを作成 |
| sudoルールにメンバーを追加 |
| sudoオプションを追加 |
| ワンショットのフォージクラスターセットアップ (グループ + HBAC + sudo) |
CLI
付属の ipa-cli は、シェルコマンドを介して同じ機能を提供します。トークン予算が重要な場合や、シェルアクセスが可能な場合に使用してください。
タスク | コマンド |
ユーザーグループを一覧表示 |
|
ホストグループを一覧表示 |
|
HBACルールを一覧表示 |
|
sudoルールを一覧表示 |
|
ユーザーを一覧表示 |
|
ホストを一覧表示 |
|
ユーザーグループを作成 |
|
ホストグループを作成 |
|
完全なフォージセットアップ |
|
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 を参照):
変数 | 必須 | デフォルト | 説明 |
| はい | — | FreeIPAサーバーのホスト名またはURL |
| いいえ |
| IPA APIユーザー名 |
| はい | — | IPA管理者パスワード |
| いいえ |
| SSL証明書の検証(自己署名の場合は通常false) |
エイリアス: IPA_HOST に IPA_URL、IPA_USERNAME に IPA_USER、IPA_PASSWORD に IPA_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.
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