Install the Infrahub MCP server
This guide gets you from a fresh checkout to a running Infrahub MCP server in a few minutes. Once it's running, continue with Authentication to pick a credential model, then Your first agent run to connect an LLM.
For a containerized deployment (Docker Compose, sidecar alongside Infrahub), see the Docker Compose guide.
Prerequisites
- Python 3.13 or newer
- uv for dependency management
- An Infrahub instance you can reach over HTTP
- An Infrahub API token (create one from Admin → API tokens in the Infrahub UI)
Install
The recommended way is via uvx (no clone needed):
uvx infrahub-mcp --help
Or install into an existing environment:
pip install infrahub-mcp
To develop or contribute, clone the repository:
git clone https://github.com/opsmill/infrahub-mcp.git
cd infrahub-mcp
uv sync
Configure the connection
The server reads its configuration from environment variables. At minimum, set the Infrahub URL and an API token:
export INFRAHUB_ADDRESS=http://localhost:8000
export INFRAHUB_API_TOKEN=06438eb2-8019-4776-878c-0941b1f1d1ec
For the complete list of variables (rate limiting, caching, observability, auth), see the Configuration reference.
Run the server
Stdio transport (local clients)
Stdio is the default transport for MCP clients that spawn the server as a subprocess (Claude Desktop, Claude Code with .mcp.json):
uvx infrahub-mcp
Streamable HTTP transport (remote clients, Docker)
HTTP is required for token pass-through, OIDC, or any client connecting over the network:
uvx infrahub-mcp --transport streamable-http --host 0.0.0.0 --port 8001
The server exposes three endpoints on the configured port:
| Path | Description |
|---|---|
/mcp | MCP Streamable HTTP transport |
/health | Health probe — returns {"status": "healthy"} or HTTP 503 |
/metrics | Request counts, errors, latency (JSON or Prometheus format) |
Verify it is running
With the HTTP transport:
curl -s http://localhost:8001/health
# {"status":"healthy"}
Or inspect the server logs — you should see a line confirming the Infrahub connection and the middleware stack that is active.
Next steps
- Set up authentication — choose between a shared API token, per-client token pass-through, or OIDC.
- Your first agent run — connect Claude Desktop and ask Infrahub a read-only question end-to-end.
- Make a change through an agent — walk the session-branch +
propose_changesworkflow.