{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_jv5s6ddyg4n5","handle":"freeipa-mcp-py","url":"https://wellknown.network/agents/freeipa-mcp-py","links":{"self":"https://wellknown.network/agents/freeipa-mcp-py/record.json","html":"https://wellknown.network/agents/freeipa-mcp-py","markdown":"https://wellknown.network/agents/freeipa-mcp-py/record.md","api":"https://wellknown.network/api/v1/agents/freeipa-mcp-py","status":"https://wellknown.network/api/v1/agents/freeipa-mcp-py/status","claim":"https://wellknown.network/agents/freeipa-mcp-py/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/freeipa-mcp-py/claim.json","badge":"https://wellknown.network/agents/freeipa-mcp-py/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/freeipa-mcp-py/history","tools":"https://wellknown.network/api/v1/agents/freeipa-mcp-py/tools"},"ard":{"identifier":"urn:air::server:freeipa-mcp-py","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"freeipa-mcp-py","summary":"Minimal IPA Client for MCP integration","description":"# freeipa-mcp-py\n\nA minimal Python client for interacting with FreeIPA servers via JSON-RPC. Designed as a foundation for Model Context Protocol (MCP) server integration, providing clean dictionary-based responses suitable for AI tool consumption.\n\n## Features\n\n- **Kerberos Authentication**: Uses existing Kerberos tickets (via `kinit`) for secure authentication\n- **JSON-RPC Protocol**: Direct communication with FreeIPA's JSON-RPC API\n- **Schema Introspection**: Fetch and explore the full IPA schema, including topics, commands, arguments, and options\n- **Help System**: Built-in help for topics, commands, and parameter details\n- **Schema Export**: Structured schema output for MCP tool generation\n- **Type Mapping**: Automatic mapping of IPA parameter types to Python types\n- **In-Memory Caching**: Schema is fetched once and cached for the session\n- **Error Handling**: Typed exception hierarchy with `to_dict()` for MCP-friendly error responses\n- **Pure Dictionary Output**: All methods return plain Python dicts, ready for JSON serialization\n\n## Requirements\n\n- Python 3.10+\n- A FreeIPA server accessible over HTTPS\n- Valid Kerberos credentials (`kinit`)\n\n### System Dependencies\n\n```bash\n# Fedora/RHEL/CentOS\ndnf install krb5-workstation krb5-devel\n\n# Debian/Ubuntu\napt install krb5-user libkrb5-dev\n```\n\n### Python Dependencies\n\nCore dependencies (defined in `pyproject.toml`):\n- `requests>=2.25.0` - HTTP client\n- `requests-gssapi>=1.2.0` - Kerberos authentication\n\nDevelopment dependencies:\n- `pytest>=7.0.0` - Testing framework\n- `pytest-cov>=4.0.0` - Coverage reporting\n- `ruff>=0.15.10` - Linting and formatting\n- `ty>=0.0.29` - Type checking\n- `responses>=0.20.0` - HTTP mocking for tests\n\n## Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install freeipa-mcp-py\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/rjeffman/freeipa-mcp-py.git\ncd freeipa-mcp-py\npip install -e .\n```\n\n### Optional Dependencies\n\n#### Development Tools\n\nFor development (includes testing…","publisher":null,"homepage":"https://github.com/rjeffman/freeipa-mcp-py","repository":"https://github.com/rjeffman/freeipa-mcp-py","version":"0.2.2","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:freeipa-mcp-py","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.825,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"}],"categories":["dev"],"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":"freeipa-mcp-py","registry":"pypi","observedAt":"2026-09-15T15:24:25.971Z","publishedAt":"2026-05-29T00:59:19.469532Z","latestVersion":"0.2.2"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"freeipa-mcp-py","url":"https://pypi.org/project/freeipa-mcp-py/","firstSeenAt":"2026-09-09T15:23:44.962Z","fetchedAt":"2026-09-15T15:22:13.524Z","normalizedAt":"2026-09-15T15:22:13.524Z"}]},"firstSeenAt":"2026-09-09T15:23:44.962Z","updatedAt":"2026-09-15T15:24:25.971Z"}