
An MCP server exposing Batfish tools so AI assistants can query network configs in plain language.
Public tool metadata for what this MCP can expose to an agent.
batfish_list_questionsThe 60-question curated catalog, with input types and TYPE_HINTS descriptions. No Batfish server needed.The 60-question curated catalog, with input types and TYPE_HINTS descriptions. No Batfish server needed.
No parameter schema in public metadata yet.
batfish_list_snapshotsSnapshots of a network.Snapshots of a network.
No parameter schema in public metadata yet.
batfish_upload_snapshotUpload a snapshot zip (base64). The name is sanitized (safe_snapshot_name); collisions are made unique (name_1, ...).Upload a snapshot zip (base64). The name is sanitized (safe_snapshot_name); collisions are made unique (name_1, ...).
No parameter schema in public metadata yet.
batfish_run_questionRun any catalog question. Giving reference_snapshot and snapshot runs a differential question. Returns JSON-safe {fun, snapshot, reference_snapshot, status, rows, removed_columns}.Run any catalog question. Giving reference_snapshot and snapshot runs a differential question. Returns JSON-safe {fun, snapshot, reference_snapshot, status, rows, removed_columns}.
No parameter schema in public metadata yet.
batfish_list_assertionsLive pybatfish assertion names plus the 16-entry registry (specs) with parameter descriptions.Live pybatfish assertion names plus the 16-entry registry (specs) with parameter descriptions.
No parameter schema in public metadata yet.
batfish_run_assertionValidate and run one assertion (answer-based ones fetch the answer first). Returns {type, status, message, snapshot, ran_at, runtime, fun?, answer_rows?}.Validate and run one assertion (answer-based ones fetch the answer first). Returns {type, status, message, snapshot, ran_at, runtime, fun?, answer_rows?}.
No parameter schema in public metadata yet.
batfish_run_assertion_suiteValidate (all-or-nothing) and run a YAML suite; examples/assertions.yaml shows the schema. Returns results[], errors[], summary.Validate (all-or-nothing) and run a YAML suite; examples/assertions.yaml shows the schema. Returns results[], errors[], summary.
No parameter schema in public metadata yet.
batfish_fork_snapshotFork a snapshot, optionally failing nodes or interfaces, then diff the fork against the base with a differential question.Fork a snapshot, optionally failing nodes or interfaces, then diff the fork against the base with a differential question.
No parameter schema in public metadata yet.
batfish_get_topologykind="layer3" (from layer3Edges, with interface titles) or "routing" (from bgpEdges). Returns {kind, snapshot, node_count, edge_count, nodes, edges}.kind="layer3" (from layer3Edges, with interface titles) or "routing" (from bgpEdges). Returns {kind, snapshot, node_count, edge_count, nodes, edges}.
No parameter schema in public metadata yet.
Sponsors
BATFISH_SERVERHost of the Batfish server (default 127.0.0.1)
An MCP (Model Context Protocol) server that exposes Batfish as tools for AI assistants. Point it at a snapshot of your network configs and ask questions in plain language, without writing Batfish queries yourself.
With it, an assistant can:
batfish-q-mcp