vespo92/BrocadeICXMCP
If you are the rightful owner of BrocadeICXMCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Brocade MCP Server is designed to automate the management of Brocade ICX 6450 switches using the Model Context Protocol (MCP) via SSH.
Brocade MCP Server
MCP (Model Context Protocol) servers for automating Brocade ICX 6450 switch management. This project provides both stdio and SSE-based MCP servers that interface with Brocade switches via SSH.
Features
- System Information: Get switch model, firmware version, uptime, etc.
- VLAN Management: Create, configure, and manage VLANs
- Interface Control: Configure ports, view status, manage settings
- Layer 2 Operations: MAC address table management
- Layer 3 Operations: Routing table inspection
- Raw CLI Access: Execute any CLI command directly
Architecture
Since Brocade ICX 6450 switches don't support REST APIs, this MCP server uses SSH to execute CLI commands and parse the output. The server provides two transport modes:
- stdio: For command-line integration with Claude Code
- SSE (Server-Sent Events): For web-based integration with real-time monitoring capabilities
Prerequisites
- Node.js 18+
- Access to a Brocade ICX 6450 switch via SSH
- SSH credentials for the switch
Installation
npm install
npm run build
Configuration
- Copy
.env.example
to.env
:
cp .env.example .env
- Edit
.env
with your switch details:
BROCADE_HOST=192.168.1.100
BROCADE_PORT=22
BROCADE_USERNAME=admin
BROCADE_PASSWORD=your_password_here
Usage
stdio Server
For integration with Claude Code:
npm run start:stdio
SSE Server
For web-based integration:
npm run start:sse
The SSE server will start on port 3000 (configurable via SSE_PORT
).
Available Tools
Information Gathering
get_system_info
: Retrieve system informationget_vlans
: List all configured VLANsget_interfaces
: Get interface status and configurationget_mac_table
: View MAC address tableget_routing_table
: Display IP routing table
Configuration
configure_vlan
: Create or modify VLAN settingsadd_port_to_vlan
: Assign ports to VLANs (tagged/untagged)configure_interface
: Set interface parametersexecute_command
: Run raw CLI commands
Monitoring (SSE only)
monitor_interface
: Real-time interface statistics
Example Usage
With Claude Code
Add to your .mcp.json
:
{
"mcpServers": {
"brocade": {
"command": "node",
"args": ["path/to/dist/servers/stdio.js"],
"env": {
"BROCADE_HOST": "192.168.1.100",
"BROCADE_USERNAME": "admin",
"BROCADE_PASSWORD": "your_password"
}
}
}
}
Example Commands
Create a VLAN:
await server.callTool('configure_vlan', {
vlanId: 100,
name: 'Guest-Network'
});
Add port to VLAN:
await server.callTool('add_port_to_vlan', {
port: 'ethernet 1/1/1',
vlanId: 100,
tagged: false
});
Security Notes
- Store credentials securely using environment variables
- Use SSH key authentication when possible
- Limit MCP server access to trusted systems
- Consider network segmentation for management traffic
Limitations
- Brocade ICX 6450 lacks native REST API support
- Performance depends on SSH connection quality
- Command parsing relies on CLI output format consistency
- Some operations may require elevated privileges
Development
# Run in development mode
npm run dev
# Run tests
npm test
# Lint code
npm run lint
# Type check
npm run typecheck
AI and Agent Integration
This project is designed for AI and agent-based automation:
- - Context and guidelines for AI assistants
- - Advanced patterns for autonomous agents
Contributing
Please see for guidelines on how to contribute to this project.
License
MIT - See for details