
kiskander/meraki-mcp-server
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Cisco Meraki Dashboard MCP Server based on openAPI Spec v3
Обзор
A Model Context Protocol (MCP) server that exposes a curated subset of the Cisco Meraki Dashboard API to MCP-aware clients (e.g., Cursor, Claude Desktop). It provides role-based access to ensure safe and scoped operations. - Role-based access control (noc | sysadmin | all) - OpenAPI-driven tool generation (using the bundled spec) - Global schema validation bypass to tolerate Meraki null values (prevents "None is not of type 'string'") - Simple configuration via environment variables - Python 3.10+ - A Meraki Dashboard API key with appropriate org access - Optional: uv for reproducible Python environments (recommended) Set environment variables (you can export them in your shell or supply via your MCP client config): - MERAKI_KEY (required): Your Meraki Dashboard API key - MCP_ROLE (optional): One of noc, sysadmin, all (defaults to noc) - MERAKI_BASE_URL (optional): Defaults to https://api.meraki.
README
Показан фрагмент оригинального README. Открыть оригинал.
Meraki MCP Server
A Model Context Protocol (MCP) server that exposes a curated subset of the Cisco Meraki Dashboard API to MCP-aware clients (e.g., Cursor, Claude Desktop). It provides role-based access to ensure safe and scoped operations.
Features
- Role-based access control (noc | sysadmin | all)
- OpenAPI-driven tool generation (using the bundled spec)
- Global schema validation bypass to tolerate Meraki
nullvalues (prevents “None is not of type ‘string’”) - Simple configuration via environment variables
Requirements
- Python 3.10+
- A Meraki Dashboard API key with appropriate org access
- Optional:
uvfor reproducible Python environments (recommended)
Install
Option A: Using uv (recommended)
# 1) Install uv if needed
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2) From project root
cd /path/to/your/meraki-mcp-server
# 3) Create and sync the environment based on pyproject.toml / uv.lock
uv sync
Option B: Using pip (fallback)
# 1) Create a virtual environment
python3 -m venv .venv
source .venv/bin/activate
# 2) Install dependencies
pip install fastmcp httpx jsonschema
Configure
Set environment variables (you can export them in your shell or supply via your MCP client config):
MERAKI_KEY(required): Your Meraki Dashboard API keyMCP_ROLE(optional): One ofnoc,sysadmin,all(defaults tonoc)MERAKI_BASE_URL(optional): Defaults tohttps://api.meraki.com/api/v1
Example (macOS/Linux):
export MERAKI_KEY=""
export MCP_ROLE="noc" # or sysadmin | all
Quick Run (smoke test)
You can quickly validate the server starts locally (even outside an MCP client):
# Using uv
uv run python meraki_mcp_server.py
# Or with plain Python (ensure venv is active)
python3 meraki_mcp_server.py
This will start the MCP server process. Typically, you run this via an MCP client over stdio.
MCP Client Configuration
Below is an example mcp_server_config.json entry you can adapt in your MCP client (e.g., Cursor, Claude Desktop). Ensure you replace the directory path with your actual project location.
{
"Meraki-MCP-Server": {
"command": "uv",
"env": {
"MERAKI_KEY": "${MERAKI_KEY}",
"MERAKI_BASE_URL": "https://api.meraki.com/api/v1",
"MCP_ROLE": "noc",
"_comment": "Set MERAKI_KEY in your shell env. MCP_ROLE values: noc | sysadmin | all"
},
"args": [
"--directory",
"/path/to/yourMCPdirector/meraki-mcp-server",
"run",
"python",
"meraki_mcp_server.py",
"stdio"
]
}
}
Notes:
- The
${MERAKI_KEY}placeholder means your MCP client will inherit the key from your shell environment. stdioat the end ensures the server communicates over standard I/O as MCP expects.- If you do not use
uv, replacecommandandargsaccordingly to invoke your Python environment.
Roles and Allowed Endpoints
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →