dbankscard/cisco-meraki-mcp
If you are the rightful owner of cisco-meraki-mcp 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 Cisco Meraki MCP Server is a comprehensive Model Context Protocol server that integrates with the Cisco Meraki Dashboard API v1, enabling AI assistants to manage Meraki infrastructure through natural language.
organization_list
List all organizations
network_get
Get network details
device_get
Get device details
Cisco Meraki MCP Server
A comprehensive Model Context Protocol (MCP) server that exposes all Cisco Meraki Dashboard API v1 endpoints as tools for AI assistants. Control your Meraki infrastructure through natural language with Claude, ChatGPT, or any MCP-compatible AI assistant.
Features
- 55+ Tools - Complete coverage of Meraki Dashboard API v1
- Natural Language Control - Manage your network infrastructure through conversation
- Smart Rate Limiting - Automatic handling of API limits with exponential backoff
- Response Optimization - 80-95% token reduction for efficient AI interactions
- Type Safety - Full TypeScript with Zod validation
- Auto-Approval - Configurable patterns for read-only operations
- Bearer Authentication - Modern API v1 authentication with legacy fallback
Supported Operations
- Organization Management - Networks, devices, licenses, admins
- Network Operations - Clients, traffic analysis, firmware, alerts
- Device Control - Status, LED control, reboots, performance metrics
- Analytics & Monitoring - Bandwidth usage, applications, API usage
Installation
# Clone the repository
git clone https://github.com/dbankscard/cisco-meraki-mcp.git
cd cisco-meraki-mcp
# Install dependencies
npm install
# Build the server
npm run build
Configuration
1. Get Your Meraki API Key
- Log into Meraki Dashboard
- Navigate to Organization > Settings
- Check Enable access to the Cisco Meraki Dashboard API
- Generate your API key
2. Set Up Authentication
# Option 1: Environment variable
export MERAKI_API_KEY="your-40-character-api-key"
# Option 2: Create .env file
echo "MERAKI_API_KEY=your-40-character-api-key" > .env
Optional Configuration
# Use a different API base URL (for different regions)
export MERAKI_API_BASE_URL="https://api.meraki.com/api/v1"
# Specify custom settings file location
export MERAKI_MCP_SETTINGS_PATH="/path/to/meraki-mcp-settings.json"
Auto-Approve Settings
The MCP server supports configurable auto-approval for tools, allowing certain operations to execute without user confirmation. Create a meraki-mcp-settings.json
file:
{
"autoApprove": {
"enabled": true,
"tools": {
"all": false, // Auto-approve all tools (use with caution)
"patterns": [ // Auto-approve tools matching these patterns
"*_list", // All list operations
"*_get", // All get operations
"organization_*_list", // All organization list operations
"network_*_get" // All network get operations
],
"specific": [ // Auto-approve specific tools
"organization_licenses_overview",
"network_events_list"
],
"exclude": [ // Never auto-approve these tools
"network_delete",
"organization_admin_create"
]
},
"readOnlyByDefault": true // Auto-approve read-only operations
}
}
Auto-Approve Configuration Options
- enabled: Master switch for auto-approval functionality
- tools.all: Auto-approve all tools (overrides other settings)
- tools.patterns: Array of glob-like patterns for matching tool names
- tools.specific: Array of exact tool names to auto-approve
- tools.exclude: Array of tool names to never auto-approve
- readOnlyByDefault: Automatically approve read-only operations (get, list, show, etc.)
For detailed auto-approval setup instructions and example configurations, see
Settings File Locations (in order of precedence)
- Path specified in
MERAKI_MCP_SETTINGS_PATH
environment variable meraki-mcp-settings.json
in current working directory.meraki-mcp-settings.json
in current working directorymeraki-mcp-settings.json
in the MCP server directory
Quick Start
Running with Claude Desktop
- Open Claude Desktop settings
- Add to your MCP servers configuration:
{
"mcpServers": {
"meraki": {
"command": "node",
"args": ["/path/to/cisco-meraki-mcp/build/index.js"],
"env": {
"MERAKI_API_KEY": "your-api-key"
}
}
}
}
- Restart Claude Desktop
- Look for the wrench icon to confirm MCP is connected
Development Mode
npm run dev
Testing with MCP Inspector
npm run inspector
Available Tools
Organization Tools (26 tools)
organization_list
- List all organizationsorganization_get
- Get organization detailsorganization_update
- Update organization settingsorganization_networks_list
- List networks in an organizationorganization_network_create
- Create a new networkorganization_devices_list
- List all devicesorganization_devices_statuses
- Get device statusesorganization_devices_availabilities
- Get device availability historyorganization_licenses_list
- List licensesorganization_licenses_overview
- Get license overvieworganization_license_claim
- Claim licensesorganization_admins_list
- List administratorsorganization_admin_create
- Create administratororganization_inventory_devices
- Get inventory devicesorganization_inventory_claim
- Claim inventoryorganization_uplinks_statuses
- Get uplink statusesorganization_networks_combine
- Combine multiple networks
Analytics Tools:
organization_traffic_analysis
- Top bandwidth consumersorganization_clients_bandwidth_usage
- Bandwidth usage historyorganization_api_usage
- API request monitoringorganization_config_changes
- Configuration change trackingorganization_device_statuses_overview
- Device health overvieworganization_security_events
- Security event logs (aggregated from all networks)organization_top_networks_by_status
- Top networks by health statusorganization_devices_availability_history
- Device uptime tracking
Network Tools (19 tools)
network_get
- Get network detailsnetwork_update
- Update network settingsnetwork_delete
- Delete a networknetwork_clients_list
- List network clientsnetwork_client_get
- Get client detailsnetwork_devices_list
- List network devicesnetwork_devices_claim
- Claim devicesnetwork_device_remove
- Remove devicenetwork_traffic_get
- Get traffic analysisnetwork_events_list
- List eventsnetwork_firmware_upgrades_get
- Get firmware infonetwork_firmware_upgrades_update
- Update firmware settingsnetwork_settings_get
- Get network settingsnetwork_settings_update
- Update network settingsnetwork_alerts_settings_get
- Get alert settingsnetwork_alerts_settings_update
- Update alert settingsnetwork_split
- Split networknetwork_combine
- Combine networksnetwork_bind
- Bind to templatenetwork_unbind
- Unbind from template
Device Tools (10 tools)
device_get
- Get device detailsdevice_update
- Update device attributesdevice_blink_leds
- Blink LEDs for identificationdevice_clients_list
- List clients connected to devicedevice_loss_latency_history
- Uplink performance metricsdevice_reboot
- Reboot a devicedevice_remove
- Remove device from networkdevice_lldp_cdp
- Get LLDP/CDP informationdevice_management_interface
- Get management settingsdevice_management_interface_update
- Update management settings
Coming Soon
- Appliance (MX) specific tools
- Switch (MS) specific tools
- Wireless (MR) specific tools
- Camera (MV) tools
- Systems Manager tools
- Insight tools
- Sensor tools
Example Conversations
Ask your AI assistant natural language questions:
Organization Management
"What Meraki organizations do I have access to?"
"Show me all networks in organization 12345"
"Create a new network called 'Branch Office' with MX and MS devices"
"What licenses are expiring soon?"
Network Operations
"List all clients in my network from the last 24 hours"
"What's consuming the most bandwidth?"
"Show me security events from today"
"Update the timezone for network N_12345 to America/New_York"
Device Control
"Blink the LEDs on device Q2QN-XXXX-XXXX"
"Show me the uplink performance for the last week"
"Reboot the main office switch"
"Which clients are connected to access point Q2QN-YYYY-YYYY?"
Analytics & Monitoring
"What are the top bandwidth consuming applications?"
"Show me API usage patterns for the last week"
"Track configuration changes made this month"
"Which networks are using the most data?"
Documentation
- - Complete list of all 55 tools with examples
- - Performance tuning and best practices
- - Detailed setup instructions
Security
- API keys are never logged or exposed in responses
- All communications use HTTPS
- Environment variables are validated on startup
- Input parameters are sanitized and validated
- Response data is filtered to prevent token overflow
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Development Setup
# Clone your fork
git clone https://github.com/YOUR_USERNAME/cisco-meraki-mcp.git
cd cisco-meraki-mcp
# Install dependencies
npm install
# Run in development mode
npm run dev
# Run tests
npm test
# Test with MCP Inspector
npm run inspector
Resources
License
This project is licensed under the MIT License - see the file for details.
Acknowledgments
- Cisco Meraki for the comprehensive Dashboard API
- Anthropic for the Model Context Protocol specification
- The open-source community for continued support and contributions
Made with love by dbankscard