mcp-freeipa
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FREEIPA_HOST | Yes | FreeIPA server hostname (e.g. ipa.example.com) | |
| FREEIPA_PASSWORD | Yes | Password for the FreeIPA account | |
| FREEIPA_USERNAME | No | FreeIPA account username | admin |
| FREEIPA_ALLOW_SELF_SIGNED | No | Allow self-signed TLS certificates (true/false) | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_usersA | List users in FreeIPA. Optionally filter by UID, full name (cn), or email address. |
| get_userA | Get detailed information about a specific FreeIPA user by their UID (login name). |
| enable_userA | Enable a disabled FreeIPA user account. |
| disable_userA | Disable a FreeIPA user account (locks it without deleting). |
| add_userB | Create a new FreeIPA user account. |
| delete_userA | Permanently delete a FreeIPA user account. |
| reset_passwordA | Reset a FreeIPA user's password. Requires the current password unless called by an admin with sufficient privileges using the admin API flow. |
| list_groupsB | List groups in FreeIPA. Returns name, description, GID, and member lists. |
| get_groupA | Get detailed information about a specific FreeIPA group by its name (cn). |
| add_user_to_groupA | Add one or more users to a FreeIPA group. |
| remove_user_from_groupB | Remove one or more users from a FreeIPA group. |
| list_hostsA | List hosts enrolled in FreeIPA. Returns FQDN, OS, enrollment status, and group memberships. |
| get_hostA | Get detailed information about a specific FreeIPA-enrolled host by its FQDN. |
| list_dns_zonesB | List all DNS zones managed by FreeIPA. Returns zone names and active status. |
| list_dns_recordsA | List DNS records within a specific zone in FreeIPA. Returns all record types (A, AAAA, CNAME, MX, etc.). |
| get_dns_recordB | Get detailed DNS information for a specific record name within a zone. |
| list_sudo_rulesA | List all sudo rules defined in FreeIPA. Returns who each rule applies to, which hosts, and what commands are allowed or denied. |
| get_sudo_ruleA | Get detailed information about a specific FreeIPA sudo rule by its name. |
| list_hbac_rulesB | List all Host-Based Access Control (HBAC) rules in FreeIPA. HBAC rules control which users can access which hosts and services. |
| get_hbac_ruleA | Get detailed information about a specific FreeIPA HBAC rule by its name. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Each tool targets a distinct resource-action pair, such as user lifecycle, group membership, sudo rules, HBAC rules, hosts, and DNS records. List-versus-get and add-versus-remove patterns are clearly differentiated, so an agent is unlikely to confuse tool purposes.
All tool names follow a consistent verb_noun snake_case pattern, with verbs like list, get, add, delete, enable, disable, reset, and remove used predictably. Even multi-word resources like sudo_rule and dns_record maintain a uniform style.
Twenty tools is slightly above the typical well-scoped range, but FreeIPA is a broad domain covering users, groups, sudo, HBAC, hosts, and DNS. Each tool has a clear purpose, and the count feels reasonable rather than bloated.
User management is well covered with CRUD, password reset, and enable/disable, plus group membership operations. However, groups lack create/delete tools, and sudo rules, HBAC rules, hosts, and DNS are all read-only, leaving notable management gaps that could dead-end workflows.