Cisco
БесплатноНе проверенEnables LLMs to run read-only show commands on Cisco IOS/IOS-XE and Nexus switches over SSH, with a two-account model for privilege separation and a fail-closed
Описание
Enables LLMs to run read-only show commands on Cisco IOS/IOS-XE and Nexus switches over SSH, with a two-account model for privilege separation and a fail-closed allowlist for safety.
README
A read-only MCP server for Cisco IOS / IOS-XE
and Nexus (NX-OS) switches. It lets an LLM run show commands over SSH — and
nothing else.
The two-account model
To run show running-config on IOS you need privilege 15, but you don't want a
priv-15 account doing everything. So the server uses two accounts:
| Account | Used for |
|---|---|
Read-only (CISCO_RO_*) |
Every normal tool call |
Privilege-15 (CISCO_PRIV15_*) |
Only commands that need priv 15 on IOS/IOS-XE (show running-config, show startup-config, show tech-support, …) |
Platform-aware: privilege levels are an IOS/IOS-XE concept. Nexus uses RBAC —
its read-only network-operator role can already read the running config — so on
NX-OS devices the server always uses the read-only account and never escalates.
Safety
Every command passes through a fail-closed allowlist (allowlist.py) before it
runs:
- must be a
showcommand (abbreviations likesh runincluded); - config mode,
write/erase/reload/copy/clear/debug, command chaining (;, newlines), and pipe-to-write (| redirect,| tee,| append) are rejected.
The LLM never decides what's safe — the server enforces it mechanically, which also contains prompt-injection arriving through arguments or command output.
Setup
# 1. install (uv recommended)
uv sync # or: pip install -e .
# 2. credentials
cp .env.example .env # fill in the two accounts
# 3. inventory
cp devices.example.yaml devices.yaml # list your switches + platform
# 4. run tests
uv run pytest
Register with an MCP client
stdio transport, e.g. in a client config:
{
"mcpServers": {
"cisco": {
"command": "uv",
"args": ["run", "cisco-mcp"],
"cwd": "/path/to/cisco-mcp"
}
}
}
Tools
list_devices— inventory with platform + notesget_version,get_interfaces,get_interface_status,get_vlans,get_cdp_neighborsget_running_config— priv-15 account on IOS, read-only on NX-OSrun_show_command(device, command)— any allowlistedshow, with the same gate
Layout
src/cisco_mcp/
server.py MCP tools (FastMCP, stdio)
allowlist.py safety gate + priv-15 policy <- security core
connection.py account selection + Netmiko SSH
credentials.py two account profiles from env
inventory.py devices.yaml loader
platforms.py IOS vs NX-OS behavior
tests/ allowlist + account-selection tests (no network)
Установка Cisco
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/Chiefff-Kiefff/cisco-mcpFAQ
Cisco MCP бесплатный?
Да, Cisco MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Cisco?
Нет, Cisco работает без API-ключей и переменных окружения.
Cisco — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Cisco в Claude Desktop, Claude Code или Cursor?
Открой Cisco на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Cisco with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
