内容
> **镜像通知。** 该仓库是 `vhspace/ipa-mcp` v1.3.0 的个人镜像,在上游仓库从 GitHub 删除后,从本地缓存的 wheel 中恢复。源代码按照其原始的 Apache-2.0 许可证予以保留。
>
> `mcp-common` 依赖项也镜像在 [puhamihai/mcp-common](https://github.com/puhamihai/mcp-common);安装链是自包含的。
# IPA MCP 服务器
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/Apache-2.0)
MCP 服务器和 CLI,用于 [FreeIPA](https://www.freeipa.org/) — 通过 FreeIPA JSON-RPC API 管理用户组、主机组、HBAC 规则和 sudo 规则。设计用于 forge 集群启动和 Together AI SRE 堆栈中的访问控制自动化。
## 快速入门
### Claude 代码 / Cursor / 通用 MCP 客户端
将您的 MCP 配置指向 git URL — `uvx` 将自动安装此软件包和镜像的 `mcp-common`:
```json
{
"mcpServers": {
"ipa-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/puhamihai/ipa-mcp", "ipa-mcp"],
"env": {
"IPA_HOST": "ipa.example.com",
"IPA_USERNAME": "admin",
"IPA_PASSWORD": "your-password"
}
}
}
}
```
### 从源代码
```bash
git clone https://github.com/puhamihai/ipa-mcp
cd ipa-mcp
uv sync
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` | 列出主机 |
### 写入工具(18)
| 工具 | 描述 |
|------|-------------|
| `ipa_create_user` | 创建用户(可选随机或显式密码,SSH 密钥) |
| `ipa_modify_user` | 修改用户属性 / SSH 密钥 / 重置随机密码 |
| `ipa_enable_user` | 启用(解锁)用户账户 |
| `ipa_disable_user` | 禁用(锁定)用户账户 |
| `ipa_delete_user` | 删除用户(硬删除或 `preserve=True` 软删除) |
| `ipa_set_user_password` | 管理员密码重置(首次登录时过期) |
| `ipa_create_group` | 创建用户组 |
| `ipa_add_group_members` | 将用户添加到组 |
| `ipa_remove_group_members` | 从组中删除用户 |
| `ipa_create_hostgroup` | 创建主机组 |
| `ipa_add_hostgroup_members` | 将主机添加到主机组 |
| `ipa_remove_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` | 一次性 forge 集群设置(组 + HBAC + sudo) |
## CLI
配套的 `ipa-cli` 通过 shell 命令提供相同的功能。
| 任务 | 命令 |
|------|---------|
| 列出用户组 | `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>` |
| 完整 forge 设置 | `ipa-cli setup-forge <cluster> --hosts "host1,host2" --users "alice,bob"` |
## 配置
### 环境变量
| 变量 | 是否必需 | 默认值 | 描述 |
|----------|----------|---------|-------------|
| `IPA_HOST` | 是 | — | FreeIPA 服务器主机名或 URL |
| `IPA_USERNAME` | 否 | `admin` | IPA API 用户名 |
| `IPA_PASSWORD` | 是 | — | IPA 管理员密码 |
| `IPA_VERIFY_SSL` | 否 | `false` | SSL 证书验证 |
别名:`IPA_URL` for `IPA_HOST`,`IPA_USER` for `IPA_USERNAME`,`IPA_PASS` for `IPA_PASSWORD`。
## 许可证
Apache License 2.0