Skip to main content
Glama
README.md
# Infrahub MCP Server

Infrahub MCP Server connects AI assistants and IDE agents to [Infrahub](https://github.com/opsmill/infrahub) using the open [Model Context Protocol](https://modelcontextprotocol.io) standard — so agents can query, create, update, and propose changes to your infrastructure data through a consistent, audited interface. It works with any MCP-compatible client (Claude Desktop, VS Code, Cursor, CLI agents, and more) with no custom glue code required.

All writes are branch-isolated and require human approval before merging — agents never modify your default branch directly.

## Installation

```bash
pip install infrahub-mcp
# or
uv pip install infrahub-mcp
```

Docker:

```bash
docker pull registry.opsmill.io/opsmill/infrahub-mcp:latest
# or use Docker Compose:
docker compose up -d
```

## Quickstart

Point the server at your Infrahub instance via environment variables, then run it over the transport your client expects.

**stdio** (default — for Claude Desktop, VS Code, Cursor):

```bash
export INFRAHUB_ADDRESS=http://localhost:8000
export INFRAHUB_API_TOKEN=<your-token>
infrahub-mcp
```

**Streamable HTTP** (for remote clients, sidecar deployments):

```bash
infrahub-mcp --transport streamable-http --host 0.0.0.0 --port 8001
```

## What you can do with it

- **Query your infrastructure data from natural language** — find devices, interfaces, IP addresses, or any kind in your schema, with attribute filtering and partial-match search.
- **Explore your schema without leaving the conversation** — the server exposes your catalog, per-kind attribute/filter maps, and the GraphQL SDL as MCP resources.
- **Make changes on isolated branches** — writes land on an auto-created session branch (`mcp/session-YYYYMMDD-<hex>`); the default branch is never touched directly.
- **Submit changes for human review** — call `propose_changes` to open a Proposed Change for approval before merging.
- **Run arbitrary GraphQL** — execute any query or mutation against the Infrahub API when you need full control.

## Documentation

Full documentation, including client configuration for Cursor, VS Code, Claude Desktop, and Claude Code, is available at the [Infrahub MCP Server docs site](https://docs.infrahub.app/mcp).

- [Installation and client setup](https://docs.infrahub.app/mcp/getting-started/installation)
- [Docker / sidecar deployment](https://docs.infrahub.app/mcp/guides/docker-compose)
- [Authentication modes](https://docs.infrahub.app/mcp/references/authentication)
- [Configuration reference](https://docs.infrahub.app/mcp/references/configuration)
- [Methods reference — tools, resources, prompts](https://docs.infrahub.app/mcp/references/methods)

## About Infrahub

[Infrahub](https://github.com/opsmill/infrahub) is an open source infrastructure data management and automation platform (AGPLv3), developed by [OpsMill](https://opsmill.com). It gives infrastructure and network teams a unified, schema-driven source of truth — devices, topology, IP space, configuration — with built-in version control, a generator framework for automation, and native integrations with Git, Ansible, Terraform, and CI/CD pipelines.

## License

Apache 2.0 — see [LICENSE](./LICENSE.txt).

TDQS

A4.4/5.0

Scored across 12 tools

Disambiguation5/5

Each tool has a clearly distinct purpose. For instance, get_nodes and search_nodes both return nodes but are differentiated by filtering vs substring search. Graph traversal tools find_paths and find_reachable serve different analyses. Session management tools are distinct. No ambiguity.

Naming Consistency5/5

All tool names follow a verb_noun pattern with underscores, using verbs like find, get, mutate, node_, propose, query, reset, search. No mixing of conventions (e.g., camelCase). The pattern is consistent and predictable.

Tool Count5/5

With 12 tools covering schema discovery, node CRUD, graph traversal, GraphQL operations, and session management, the count is well-scoped for the server's purpose. It is neither too few nor too many, each tool earns its place.

Completeness5/5

The tool set provides comprehensive coverage: schema introspection, node create/read/update/delete, search, graph path analysis, GraphQL read/write, and session lifecycle management. No obvious missing operations for the domain.

Maintenance

ActivityActive
ResponsivenessUnresponsive