{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_sywjyzw89pcz","handle":"bibliocommons-mcp-freeipa","url":"https://wellknown.network/agents/bibliocommons-mcp-freeipa","links":{"self":"https://wellknown.network/agents/bibliocommons-mcp-freeipa/record.json","html":"https://wellknown.network/agents/bibliocommons-mcp-freeipa","markdown":"https://wellknown.network/agents/bibliocommons-mcp-freeipa/record.md","api":"https://wellknown.network/api/v1/agents/bibliocommons-mcp-freeipa","status":"https://wellknown.network/api/v1/agents/bibliocommons-mcp-freeipa/status","claim":"https://wellknown.network/agents/bibliocommons-mcp-freeipa/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/bibliocommons-mcp-freeipa/claim.json","badge":"https://wellknown.network/agents/bibliocommons-mcp-freeipa/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:bibliocommons-mcp-freeipa","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"bibliocommons-mcp-freeipa","summary":"MCP server for FreeIPA identity management","description":"# FreeIPA MCP Server\n\nMCP server for FreeIPA identity management instances. Tools are dynamically registered from FreeIPA's schema API, exposing ~290 commands covering users, groups, hosts, DNS, HBAC, sudo rules, certificates, services, trusts, vaults, and more.\n\nThe server uses [CodeMode](https://gofastmcp.com/servers/transforms/code-mode#code-mode) for efficient LLM interaction, collapsing ~290 individual tools into 3 meta-tools (`get_tags`, `search`, `get_schemas`) that let AI assistants discover and call commands on demand rather than loading all tools into context at once.\n\nBoth MCP (stdio) and REST API (Swagger UI) interfaces are available, sharing the same underlying FreeIPA client.\n\n## Configuration\n\n**Authentication**: FreeIPA supports two authentication methods:\n\n- **Password** — username/password with session cookies (simpler, good for development)\n- **Kerberos** — keytab-based authentication (recommended for production, no passwords stored)\n\n### Option 1: config.json (Password Auth)\n\n```bash\ncp config.json.example config.json\n# Edit config.json with your credentials\n```\n\n```json\n{\n  \"host\": \"ipa.example.com\",\n  \"auth_method\": \"password\",\n  \"username\": \"api-user\",\n  \"password\": \"changeme\",\n  \"verify_ssl\": true,\n  \"ca_cert_path\": \"/etc/ipa/ca.crt\"\n}\n```\n\n### Option 1b: config.json (Kerberos Auth)\n\n```json\n{\n  \"host\": \"ipa.example.com\",\n  \"auth_method\": \"kerberos\",\n  \"principal\": \"mcp-api\",\n  \"keytab_path\": \"/root/mcp-api.keytab\",\n  \"verify_ssl\": true,\n  \"ca_cert_path\": \"/etc/ipa/ipa-ca.cert\"\n}\n```\n\nThe server runs `kinit -kt <keytab_path> <principal>` automatically. No password needed.\n\n### Option 2: Environment Variables\n\n```bash\n# Password auth\nexport FREEIPA_HOST=\"ipa.example.com\"\nexport FREEIPA_AUTH_METHOD=\"password\"\nexport FREEIPA_USERNAME=\"api-user\"\nexport FREEIPA_PASSWORD=\"api-password\"\nexport FREEIPA_VERIFY_SSL=\"true\"\nexport FREEIPA_CA_CERT_PATH=\"/etc/ipa/ca.crt\"\n\n# Or Kerberos auth\nexport FREEIPA_HOST=\"ipa.example.com\"\nexport FREEIPA_AUTH_METHOD=…","publisher":null,"homepage":null,"repository":null,"version":"1.3.6","license":"MIT","protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:bibliocommons-mcp-freeipa","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"security.secrets","name":"Secrets Management","confidence":0.825,"provenance":"derived"},{"slug":"data.apis","name":"API Access","confidence":0.814,"provenance":"derived"}],"categories":["data","security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"bibliocommons-mcp-freeipa","registry":"pypi","observedAt":"2026-09-09T10:30:21.329Z","publishedAt":"2026-08-26T17:56:19.053038Z","latestVersion":"1.3.6"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"bibliocommons-mcp-freeipa","url":"https://pypi.org/project/bibliocommons-mcp-freeipa/","firstSeenAt":"2026-09-09T10:26:59.255Z","fetchedAt":"2026-09-09T10:26:59.255Z","normalizedAt":"2026-09-09T10:26:59.255Z"}]},"firstSeenAt":"2026-09-09T10:26:59.255Z","updatedAt":"2026-09-09T10:30:21.329Z"}