API & MCP reference
MCP servers you can connect (catalog)
These are the servers offered in the Deputy under 'MCP servers ▸ Add from catalog'. Picking one pre-fills its command and args; you review, point it at your real device / testbed / token / path, then Add and Connect. The commands are starting TEMPLATES — nothing runs until you connect it.
'writes' = whether the server can change state. It stays blocked unless you flip that server's writes gate; the Posse forces every MCP tool read-only regardless.
'env' = the environment variables the server reads for its own login. Non-secret values (URLs, usernames) are typed in; anything marked (Vault) is a token/password you BIND to a Vault secret — pulled from the unlocked Vault at connect time and never written to disk. Unlock the Vault before connecting a server that needs a (Vault) value.
── Network devices ──
- Juniper Junos [can write]
python jmcp.py -f devices.json -t stdio
Official Juniper server — talks to Junos over NETCONF/PyEZ to fetch config, run show/operational commands, and get device facts. Ships a blocklist that rejects disruptive commands (reboot/halt/zeroize) even in batch. It can also CHANGE config (load_and_commit_config, render_and_apply_j2_template), so keep the 'writes' gate OFF unless you mean to commit.
https://github.com/Juniper/junos-mcp-server
- Cisco pyATS / Genie [can write]
python pyats_mcp_server.py
Wraps Cisco's pyATS/Genie framework — runs show commands over SSH, parses them into structured data, and can 'learn' and diff device state. Needs a pyATS testbed file describing your devices. Great for before/after change validation. It can also PUSH config (pyats_configure_device, pyats_rollback_config), so keep the 'writes' gate OFF unless you mean to change devices. Heads-up: current versions of this server run over HTTP, and the Deputy connects over stdio only — it needs a stdio-to-HTTP bridge (or a stdio build) before it will connect.
https://github.com/automateyournetwork/pyATS_MCP
- Cisco Catalyst Center (DNA) [can write]
npx -y <your-vetted-catalyst-center-mcp-package>
Campus/fabric device inventory, health, and client assurance over Catalyst Center (formerly DNA Center). There's no official package — put the community server you've vetted here; npx -y installs whatever is published under the name you type. Some community builds are explicitly 'not for production' — check the repo before trusting it against a live controller, and treat it as write-capable until you've read its tool list.
https://developer.cisco.com/docs/dna-center/
- Cisco Meraki Dashboard [can write]
npx -y <your-vetted-meraki-mcp-package>
env: MERAKI_API_KEY (Vault)
Org/network inventory, device status, clients, and uplink health over the Meraki Dashboard API. There's no official package — put the community server you've vetted here; npx -y installs whatever is published under the name you type. Needs a Meraki API key (a read-only key recommended); treat it as write-capable until you've read its tool list.
https://developer.cisco.com/meraki/api-v1/
- Arista CloudVision (CVP) [can write]
python cvp_mcp_server.py --stdio
EOS fleet state, streaming telemetry, and config compliance through Arista CloudVision. Mostly surfaces CVP's existing REST/telemetry API through MCP; treat it as write-capable until you've read its tool list (no official server — the script name is a placeholder for the community server you use).
https://www.arista.com/en/products/eos/eos-cloudvision
- F5 BIG-IP (iControl REST) [can write]
python f5_mcp_server.py --stdio
Virtual-server / pool / member health and stats via F5 iControl REST (LTM/GTM). Can also push config, so leave the 'writes' gate OFF unless you specifically intend changes (no official server — the script name is a placeholder for the community server you use).
https://clouddocs.f5.com/api/icontrol-rest/
- Netmiko / NAPALM (multivendor) [can write]
python napalm_mcp_server.py --stdio
Vendor-agnostic SSH/API driver (IOS-XE, NX-OS, EOS, Junos, …) — getters for facts/interfaces/BGP/config, plus config-merge/replace on supported platforms. Keep 'writes' OFF for read-only diagnostics (no official server — the script name is a placeholder for the community server you use).
https://github.com/napalm-automation/napalm
- Containerlab (lab topologies) [can write]
python clab_mcp_server.py --stdio
Spin up and inspect virtual lab topologies (deploy/destroy/inspect). Handy for reproducing a ticket safely off the production network. Deploy/destroy are writes — gate accordingly (no official server — the script name is a placeholder for the community server you use).
https://containerlab.dev/
── Source of truth ──
- NetBox (source of truth) [read-only]
uvx --from git+https://github.com/netboxlabs/netbox-mcp-server@v1.2.2 netbox-mcp-server
env: NETBOX_URL, NETBOX_TOKEN (Vault)
Official netboxlabs server — queries sites, devices, IPs, prefixes, VLANs, cables. READ-ONLY by default (a write fork exists at your own risk). Set NETBOX_URL + NETBOX_TOKEN. Use it to compare INTENDED state (the DB) against the live network. It isn't on PyPI, so uvx installs it straight from the netboxlabs GitHub repo, pinned to a release tag (or clone the repo and run: uv run netbox-mcp-server).
https://github.com/netboxlabs/netbox-mcp-server
- Nautobot [can write]
python nautobot_mcp.py --stdio
env: NAUTOBOT_URL, NAUTOBOT_TOKEN (Vault)
SoT/IPAM/DCIM over Nautobot's REST + GraphQL. Note NetBox and Nautobot APIs have diverged — a NetBox server will NOT drive Nautobot. Needs a Nautobot token; treat it as write-capable until you've read its tool list (no official server — the script name is a placeholder for the community server you use).
https://docs.nautobot.com/
── ITSM & ticketing ──
- ServiceNow [can write]
python -m servicenow_mcp.cli
env: SERVICENOW_INSTANCE_URL, SERVICENOW_AUTH_TYPE, SERVICENOW_USERNAME, SERVICENOW_PASSWORD (Vault)
Read and manage ServiceNow records — incidents, changes, CMDB, catalog items. Install it from the osomai repo first (git clone, then pip install -e .); there's no official PyPI package, so don't use uvx servicenow-mcp (that name is an unrelated package). Set SERVICENOW_INSTANCE_URL + a service-account login (SERVICENOW_AUTH_TYPE basic). Pair it with drift/Posse findings to open or annotate an incident. Can create/update records, so leave the 'writes' gate OFF unless you mean to file tickets.
https://github.com/osomai/servicenow-mcp
- Jira (+ Confluence) [can write]
uvx mcp-atlassian
env: JIRA_URL, JIRA_USERNAME, JIRA_API_TOKEN (Vault)
Community Atlassian server — search/read Jira issues and Confluence pages, and (with writes on) create issues, transition them, and add comments. Set JIRA_URL + JIRA_USERNAME + JIRA_API_TOKEN. Handy for turning a finding into a tracked ticket without leaving the Deputy.
https://github.com/sooperset/mcp-atlassian
── Monitoring / NMS ──
- SolarWinds Orion (SWIS) [can write]
python swis_mcp_server.py --stdio
env: SWIS_HOST, SWIS_USER, SWIS_PASSWORD (Vault)
Query SolarWinds Orion through the SWIS REST/SWQL API — nodes, interfaces, NPM/NetPerfMon status, and active alerts. Yes, the toolset SubnetSlinger set out to replace — now on speaking terms. Read-heavy for diagnostics; set SWIS_HOST + an Orion service account, and treat it as write-capable until you've read its tool list (no official server — the script name is a placeholder for the community server you use).
https://github.com/solarwinds/OrionSDK
── General purpose ──
- Filesystem [can write]
npx -y @modelcontextprotocol/server-filesystem C:\NetConfigs
Official reference server — read and write files under a folder you choose (it exposes write/edit/move tools too). Point it at your config-backup or golden-config directory so the Deputy can read and diff saved configs. Restrict the path; keep 'writes' OFF to read only.
https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem
- Git [can write]
uvx mcp-server-git --repository C:\NetConfigs
Official reference server — browse a Git repo's history, diffs, and log. Ideal when configs are stored as code: 'what changed in this switch's config last Tuesday?' It also exposes add/commit/branch tools, so keep 'writes' OFF to read only.
https://github.com/modelcontextprotocol/servers/tree/main/src/git
- GitHub [can write]
npx -y @modelcontextprotocol/server-github
env: GITHUB_PERSONAL_ACCESS_TOKEN (Vault)
Reference server for GitHub — issues, PRs, code search, file contents. Needs GITHUB_PERSONAL_ACCESS_TOKEN. Can open/edit issues and PRs, so it is WRITE-capable — leave the gate OFF for read-only browsing. This npm package is archived (no longer maintained); GitHub's own server is github/github-mcp-server.
https://github.com/modelcontextprotocol/servers-archived/tree/main/src/github
- Fetch (web page → text) [read-only]
uvx mcp-server-fetch
Official server that fetches a URL and returns clean text/markdown — pull a vendor advisory, an RFC, or a KB article into the conversation. Read-only. (SubnetSlinger stays local by default; this is opt-in per connection.)
https://github.com/modelcontextprotocol/servers/tree/main/src/fetch
- SQLite [can write]
uvx mcp-server-sqlite --db-path C:\data\netops.db
Reference server that queries a local SQLite database. Useful for asset/inventory or ticket exports you keep locally. Can run write SQL, so gate it if you only want SELECTs. Archived (no longer maintained).
https://github.com/modelcontextprotocol/servers-archived/tree/main/src/sqlite
Missing one? Any MCP server works — use 'Review / add manually' with its command and args. To go the other way, SubnetSlinger also ships its OWN server so Claude Desktop / Cursor can call these tools.