Skip to main content

Claude Desktop

Claude Desktop is the default starting point for most users — it speaks MCP over stdio and can spawn the Infrahub MCP server locally without any infrastructure.

Quick start​

See the Installation guide for the minimal Claude Desktop configuration snippet. This page covers Claude Desktop-specific details.

Configure​

Open Settings → Developer, then click Edit config. Claude Desktop opens claude_desktop_config.json. Add an entry under mcpServers:

{
"mcpServers": {
"infrahub_mcp": {
"transport": "stdio",
"command": "uvx",
"args": ["infrahub-mcp"],
"env": {
"INFRAHUB_ADDRESS": "http://localhost:8000",
"INFRAHUB_API_TOKEN": "your-api-token"
}
}
}
}

Save and restart Claude Desktop. The infrahub_mcp server appears under Developer → MCP servers with a green status indicator once the handshake succeeds.

Connect to a remote server​

If the MCP server runs in Docker or on a remote host, use the Streamable HTTP transport:

{
"mcpServers": {
"infrahub_mcp": {
"transport": "streamable-http",
"url": "http://mcp.example.com:8001/mcp"
}
}
}

For multi-user deployments, combine this with token pass-through — each user's Claude Desktop sends its own Infrahub token in the Authorization header.

Try it​

In a new conversation, attach the infrahub_agent prompt (available under the Prompts picker). Try:

List every schema kind whose name starts with Dcim.

Or with writes enabled:

Create a new DcimInterface named Ethernet99 on spine-03 and open a proposed change for review.

See Your first agent run for the full walkthrough.

Troubleshooting​

SymptomFix
Server shows red statusCheck logs at Developer → Open Logs Folder — the server prints startup errors there.
command not found: uvxClaude Desktop doesn't inherit your shell's PATH. Use an absolute path to uvx in command.
Connection keeps droppingEnable ping middleware — set INFRAHUB_MCP_PING_INTERVAL_MS=30000.
No tools appear in the UIThe server is starting but failing to register. Check INFRAHUB_MCP_LOG_LEVEL=debug for the full traceback.