meraki
Cisco Meraki Dashboard MCP Server based on openAPI Spec v3
claude mcp add --transport stdio kiskander-meraki-mcp-server uv run python meraki_mcp_server.py stdio \ --env MCP_ROLE="munique: one of noc | sysadmin | all (defaults to noc)" \ --env MERAKI_KEY="Your Meraki Dashboard API key (required for access)" \ --env MERAKI_BASE_URL="Defaults to https://api.meraki.com/api/v1 (optional override)"
How to use
This MCP server exposes a curated subset of the Cisco Meraki Dashboard API to MCP-aware clients. It implements role-based access control to limit operations by role (noc, sysadmin, or all) and bypasses strict OpenAPI validation to tolerate Meraki null values, ensuring smoother tooling interaction. The server is OpenAPI-driven in its tool generation, which means the available MCP operations align with the underlying Meraki endpoints, filtered by the configured role. To test locally, you start the server and connect via an MCP client (e.g., Cursor or Claude Desktop) over stdio, allowing you to issue read-only or limited mutating calls depending on your role.
How to install
Prerequisites:
- Python 3.10+ installed on your system
- Optional: uv (recommended) for reproducible Python environments
- A Meraki Dashboard API key with appropriate organization access
Option A — Using uv (recommended):
-
Install uv if needed curl -LsSf https://astral.sh/uv/install.sh | sh
-
From project root, ensure you’re in the meraki-mcp-server repository cd /path/to/your/meraki-mcp-server
-
Create and sync the environment based on pyproject.toml / uv.lock uv sync
Option B — Using plain Python (fallback):
-
Create a virtual environment python3 -m venv .venv source .venv/bin/activate
-
Install dependencies pip install fastmcp httpx jsonschema
-
Run the server directly (no uv): python3 meraki_mcp_server.py
Additional notes
Tips and considerations:
- Set MERAKI_KEY and, if desired, MERAKI_BASE_URL and MCP_ROLE in your shell or via your MCP client config before launching.
- The server defaults to the noc role if MCP_ROLE is not provided; adjust to sysadmin or all as needed for your testing.
- Validation is globally disabled to tolerate Meraki null values; if strict validation is required, revert the monkey patch in meraki_mcp_server.py and adjust the OpenAPI spec accordingly.
- If you encounter import or compatibility issues, align your FastMCP client version with the MCPType compatibility as noted in the project’s pyproject.toml or uv.lock.
- Never commit your API key; always rely on environment variables.
- For stability, consider running behind a process supervisor and limiting filesystem/network access where appropriate.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP