Infrahub MCP methods
Schema
get_schema_mapping
Capabilities
- read-only
- idempotent
- no destroy
List all schema nodes and generics available in Infrahub.
Parameters
- branch (string): branch to read from; default is the server’s default branch
get_schema
Capabilities
- read-only
- idempotent
- no destroy
Retrieve the full schema for a specific kind (attributes, relationships, and types).
Parameters
- kind (string, required): schema Kind to retrieve
- branch (string): branch to read from; default is the server’s default branch
get_schemas
Capabilities
- read-only
- idempotent
- no destroy
Retrieve all schemas, optionally excluding Profiles and Templates.
Parameters
- branch (string): branch to read from; default is the server’s default branch
- exclude_profiles (boolean, default: true): omit Profile schemas
- exclude_templates (boolean, default: true): omit Template schemas
Nodes
get_nodes
Capabilities
- read-only
- idempotent
- no destroy
Get all objects of a specific kind from Infrahub.
Use get_schema_mapping
to discover kinds and get_node_filters
to discover filter keys.
Parameters
- kind (string, required): kind of the objects to retrieve
- branch (string): branch name (default: server’s default branch)
- filters (object): dictionary of filters to apply
- partial_match (boolean, default: false): enable substring matches for string filters
get_node_filters
Capabilities
- read-only
- idempotent
- no destroy
Retrieve all available filters for a specific schema node kind.
Parameters
- kind (string, required): node kind (example: "Router")
- branch (string): branch name
info
- Attribute filters:
attribute__value
- Relationship filters:
relationship__attribute__value
- Filters starting with
parent__
refer to a related generic node - Use
get_schema
to inspect peer kinds and attributes used in relationship filters
get_related_nodes
Capabilities
- read-only
- idempotent
- no destroy
Retrieve related nodes by relation name for a given kind.
Parameters
- kind (string, required): source node kind (example: "Device")
- relation (string, required): relationship name to follow (example: "interfaces")
- filters (object): filters applied to the source nodes before following the relation
- branch (string): branch name
Branches
branch_create
Capabilities
- write
- idempotent
- no destroy
Create a new branch in Infrahub.
Parameters
- name (string, required): name of the branch to create
- sync_with_git (boolean, default: false): whether to sync the branch with Git
get_branches
Capabilities
- read-only
- idempotent
- no destroy
Retrieve all branches from Infrahub.
GraphQL
get_graphql_schema
Capabilities
- read-only
- idempotent
- no destroy
Retrieve the GraphQL schema from Infrahub as a string.
query_graphql
Capabilities
- may write (depends on operation)
- idempotent for queries; non-idempotent for mutations
- destructive potential depends on mutation
Execute a GraphQL operation against Infrahub.
Parameters
- query (string, required): GraphQL document (use
query { ... }
for reads,mutation { ... }
for writes)