Cisco Meraki MCP Server
Allows interaction with the Cisco Meraki Dashboard API to manage networks, configuration templates, and perform health checks.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Cisco Meraki MCP ServerList all networks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Cisco Meraki MCP Server
Overview
The Cisco Meraki MCP Server is a Python-based implementation of the Model Context Protocol (MCP) that exposes Cisco Meraki Dashboard API operations as MCP tools.
Instead of calling REST APIs directly, any MCP-compatible client can invoke these tools using a standardized interface.
This project demonstrates how MCP can be used to bridge AI assistants and enterprise networking platforms.
Related MCP server: Meraki Dashboard MCP Server
Features
Cisco Meraki Dashboard API integration
Model Context Protocol (MCP) Server
Streamable HTTP transport
Environment variable support
Interactive MCP client
Clean and modular Python code
Production-ready project structure
Easy to extend with additional Meraki APIs
Supported Tools
Health
Health Check
Networks
Create Network
Delete Network
List Networks
Get Network Information
Configuration Templates
Create Template
List Templates
Get Template Information
Bind Template to Network
Project Structure
meraki-mcp/
│
├── app.py # MCP Server
├── client.py # Interactive MCP Client
├── meraki.py # Cisco Meraki REST API Wrapper
├── config.py # Configuration & Environment Variables
├── requirements.txt
├── README.md
├── .envRequirements
Python 3.10 or later
Cisco Meraki Dashboard Account
Cisco Meraki API Key
Installation
Clone the repository.
git clone <repository-url>Move into the project directory.
cd meraki-mcpInstall the required packages.
pip install -r requirements.txtEnvironment Variables
Create a .env file in the project directory (or copy .env.example to .env).
Example:
# Cisco Meraki Dashboard API Key
MERAKI_API_KEY=YOUR_MERAKI_API_KEY
# OpenAI API Key
# Required only if using the AI-powered client.
OPENAI_API_KEY=YOUR_OPENAI_API_KEYNote:
MERAKI_API_KEYis required to authenticate with the Cisco Meraki Dashboard API.OPENAI_API_KEYis only required if you are using the AI-powered client that converts natural language into MCP tool calls.
Running the MCP Server
Start the server.
python app.pyIf successful, you should see output similar to:
Connected to Cisco Meraki Dashboard
Organization ID : xxxxxxx
Cisco Meraki MCP Server StartedRunning the Interactive Client
Open another terminal.
Run:
python client.pyExample:
============================================================
Cisco Meraki Natural Language MCP Client
============================================================
Connected Successfully.
You >Supported Natural Language Commands
Health
Health check
Check health
Check server health
Server status
StatusNetworks
Show all networks
List all networks
List networks
Create a network named Delhi Office
Create network Delhi Office
Delete network Delhi Office
Remove network Delhi Office
Show network Delhi Office
Get network Delhi Office
Show information for Delhi OfficeTemplates
List templates
Show templates
Create a template named Branch Template
Create template Branch Template
Show template Branch Template
Get template Branch Template
Bind template Branch Template to Delhi Office
Apply template Branch Template to Delhi OfficeOther Commands
Help
ExitExample Session
You > Show all networks
Result
------------------------------------------------------------
[
{
"id": "...",
"name": "Delhi Office"
}
]
You > Create a network named Mumbai Office
Result
------------------------------------------------------------
Network created successfully.
You > List templates
Result
------------------------------------------------------------
...
You > ExitCurrent Architecture
+-----------------------------+
| Interactive Client |
| (client.py) |
+-------------+---------------+
|
|
v
+-----------------------------+
| MCP Server |
| (app.py) |
+-------------+---------------+
|
|
v
+-----------------------------+
| Cisco Meraki REST Wrapper |
| (meraki.py) |
+-------------+---------------+
|
|
v
+-----------------------------+
| Cisco Meraki Dashboard API |
+-----------------------------+Technology Stack
Python
Model Context Protocol (MCP)
FastMCP
Cisco Meraki Dashboard API
Requests
Python Dotenv
Uvicorn
Future Enhancements
VLAN Management
Switch Port Configuration
Wireless SSID Management
Firewall Rules
Device Inventory
Client Information
Organization Administration
OpenAI Integration for intelligent natural language understanding
Multi-Organization Support
Logging
Unit Testing
Docker Support
GitHub Actions CI/CD
Troubleshooting
Invalid API Key
Ensure the .env file contains a valid Cisco Meraki API key.
Network Not Found
Verify that the specified network exists in your Cisco Meraki Dashboard.
Template Not Found
Verify that the template exists before attempting to retrieve or bind it.
Connection Errors
Ensure the MCP server is running before starting the client.
Learning Objectives
This project demonstrates:
Building an MCP Server from scratch
Creating custom MCP tools
Calling enterprise REST APIs
Environment variable management
Python project organization
Interactive MCP client development
Cisco Meraki Dashboard API automation
Author
Diwakar Sharma
Python Developer | Network Automation | AI | Cisco Meraki | MCP | REST APIs
License
This project is provided for educational purposes. Modify and extend it according to your own requirements.
This server cannot be deployed
Maintenance
Related MCP Connectors
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Read and write Mission Control state via MCP — projects, tasks, subtasks, templates, status updates.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- AlicenseCqualityCmaintenanceA Python-based MCP server that enables querying Cisco's Meraki Dashboard API to discover, monitor, and manage Meraki environments.2244MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP (Model Context Protocol) server that enables interaction with the Cisco Meraki Dashboard API, allowing users to manage Meraki networks, devices, and configurations through natural language.-
- AlicenseNot gradedqualityFmaintenanceEnables interaction with the Meraki Dashboard API for LLMs, allowing seamless integration of Meraki network management capabilities within an AI assistant's conversational interface.1MIT
- AlicenseNot gradedqualityBmaintenanceA read-only MCP server for Cisco Meraki Dashboard, enabling LLMs to discover devices, check health, troubleshoot, and generate reports via natural language.MIT