Cisco SSH MCP Server
Connect to, configure, and monitor Cisco network devices like routers and switches via SSH.
Cisco SSH MCP Server
A Model Context Protocol (MCP) server for managing SSH connections to Cisco network devices. This server provides tools for connecting to, configuring, and monitoring Cisco routers and switches through SSH.
Features
- Multiple SSH Connections: Manage connections to multiple Cisco devices simultaneously
- Command Execution: Execute any CLI command on connected devices
- Configuration Management: Enter config mode and apply configuration changes
- Show Commands: Execute show commands with optional output parsing
- Raw Terminal Access: Send raw text for interactive sessions
- Connection Management: List, connect, and disconnect from devices
- Secure Authentication: Support for password and key-based authentication
Installation
npm install
npm run build
Usage
As an MCP Server
Configure your MCP client (like Cline) to use this server:
{
"mcpServers": {
"cisco-ssh": {
"command": "node",
"args": ["path/to/cisco-ssh-mcp/dist/index.js"]
}
}
}
Command Line Usage
# Start the MCP server
npm start
# Start with default connection parameters
cisco-ssh-mcp --host 192.168.1.1 --username admin
Available Tools
cisco_connect
Connect to a Cisco device via SSH.
Parameters:
host
(required): IP address or hostnameusername
(required): SSH usernamepassword
: SSH passwordprivateKey
: Private key for authenticationport
: SSH port (default: 22)connectionId
: Unique identifier for the connection
cisco_exec
Execute a command on a connected device.
Parameters:
command
(required): Command to executeconnectionId
: Which connection to usetimeout
: Command timeout in milliseconds
cisco_config
Enter configuration mode and execute configuration commands.
Parameters:
commands
(required): Array of configuration commandsconnectionId
: Which connection to usesave
: Whether to save config after changes
cisco_show
Execute show commands with optional output parsing.
Parameters:
command
(required): Show command to executeconnectionId
: Which connection to useparseOutput
: Parse output into structured format
cisco_send_raw
Send raw text to the SSH connection.
Parameters:
text
(required): Raw text to sendconnectionId
: Which connection to usewaitForPrompt
: Wait for command prompt
cisco_list_connections
List all active SSH connections.
cisco_disconnect
Disconnect from a device.
Parameters:
connectionId
: Connection to disconnect
Examples
Connecting to a Device
// Connect using password
{
"tool": "cisco_connect",
"arguments": {
"host": "192.168.1.1",
"username": "admin",
"password": "cisco123",
"connectionId": "router1"
}
}
// Connect using SSH key
{
"tool": "cisco_connect",
"arguments": {
"host": "192.168.1.1",
"username": "admin",
"privateKey": "-----BEGIN RSA PRIVATE KEY-----\\n...",
"connectionId": "router1"
}
}
Executing Commands
// Show interface status
{
"tool": "cisco_show",
"arguments": {
"command": "show ip interface brief",
"parseOutput": true
}
}
// Configure an interface
{
"tool": "cisco_config",
"arguments": {
"commands": [
"interface GigabitEthernet0/1",
"ip address 192.168.10.1 255.255.255.0",
"no shutdown"
],
"save": true
}
}
Security Considerations
- Use SSH keys instead of passwords when possible
- Implement proper network segmentation for management traffic
- Enable logging for all commands executed
- Use dedicated management VLANs
- Implement proper access controls and authentication
Troubleshooting
- Connection Timeout: Check network connectivity and SSH service on device
- Authentication Failed: Verify credentials and SSH configuration
- Command Timeout: Increase timeout values for slow devices
- Permission Denied: Ensure user has appropriate privileges
License
MIT License - see LICENSE file for details.
Related Servers
Code Graph RAG MCP
Code Rag with Graph - local only installation
MCP RAG Server
A Python server providing Retrieval-Augmented Generation (RAG) functionality. It indexes various document formats and requires a PostgreSQL database with pgvector.
Tripo MCP Server
Generate 3D models with Tripo AI. Requires the external Tripo AI Blender Addon.
HAL (HTTP API Layer)
An MCP server that enables Large Language Models to make HTTP requests and interact with web APIs. It supports automatic tool generation from OpenAPI/Swagger specifications.
MCPJungle
A self-hosted MCP Server registry for private AI agents, supporting both PostgreSQL and SQLite databases.
MCP Toolhouse
Provides access to a wide range of tools from the Toolhouse platform.
pfSense MCP Server
Enables natural language interaction with pfSense firewalls through GenAI applications.
xcsimctl
Manage Xcode simulators.
Android Preference Editor
Edit Android preferences using adb and Node.js.
mcp-nodejs
A Node.js MCP server example for the OpenWeather API, requiring an API key.