IPA MCP Server
IPA MCP Server
MCP-сервер и CLI для FreeIPA — управляет группами пользователей, группами хостов, правилами HBAC и правилами sudo через JSON-RPC API FreeIPA. Разработан для развертывания кластеров forge и автоматизации контроля доступа в стеке SRE компании Together AI.
Быстрый старт
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 |
| Однократная настройка кластера forge (группы + HBAC + sudo) |
CLI
Сопутствующий инструмент ipa-cli предоставляет те же возможности через команды оболочки — используйте его, когда важен бюджет токенов или доступна командная строка.
Задача | Команда |
Список групп пользователей |
|
Список групп хостов |
|
Список правил HBAC |
|
Список правил sudo |
|
Список пользователей |
|
Список хостов |
|
Создать группу пользователей |
|
Создать группу хостов |
|
Полная настройка forge |
|
Установка CLI: uvx --from ipa-mcp ipa-cli или запуск из репозитория с помощью uv run ipa-cli.
Кросс-MCP интеграция
Этот сервер работает совместно с другими MCP-серверами в стеке SRE:
NetBox MCP — поиск FQDN хостов перед добавлением их в группы хостов IPA. NetBox является источником достоверных данных об инвентаризации устройств.
AWX MCP — запуск плейбуков Ansible для регистрации в IPA или подготовки хостов после настройки forge.
MAAS MCP — координация с MAAS при вводе в эксплуатацию узлов, которые будут зарегистрированы в IPA.
Установка
Требуется Python 3.12+ и сервер FreeIPA с включенным JSON-RPC API.
uv add ipa-mcp
# or
pip install ipa-mcpДля разработки из исходного кода:
cd ipa-mcp
uv sync --all-groupsКонфигурация
Переменные окружения
Создайте файл .env (см. env.example):
Переменная | Обязательно | По умолчанию | Описание |
| Да | — | Имя хоста или URL сервера FreeIPA |
| Нет |
| Имя пользователя API IPA |
| Да | — | Пароль администратора IPA |
| Нет |
| Проверка SSL-сертификата (обычно false для самоподписанных) |
Псевдонимы: IPA_URL для IPA_HOST, IPA_USER для IPA_USERNAME, IPA_PASS для IPA_PASSWORD.
Командная строка
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.
111Manage 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