- Home
- MCP servers
- Meraki Magic
Meraki Magic
- python
14
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"mkutka-meraki-magic-mcp": {
"command": "/Users/yourname/meraki-magic-mcp/.venv/bin/fastmcp",
"args": [
"run",
"/Users/yourname/meraki-magic-mcp/meraki-mcp-dynamic.py"
],
"env": {
"MERAKI_ORG_ID": "ORG_ID",
"ENABLE_CACHING": "true",
"MERAKI_API_KEY": "YOUR_API_KEY",
"READ_ONLY_MODE": "false",
"CACHE_TTL_SECONDS": "300"
}
}
}
}Meraki Magic MCP is a Python-based MCP server that lets you query, monitor, and manage your Cisco Meraki environment by exposing Meraki Dashboard API endpoints as MCP tools. It comes in two forms so you can choose a dynamic, auto-updating experience or a curated, type-safe manual approach suitable for specific use cases.
How to use
You run an MCP client that connects to the Meraki Magic MCP server to perform operations against your Meraki Dashboard. Start the server locally and connect your MCP client to invoke pre-registered network management actions or the full API surface. You can run both the dynamic MCP and the manual MCP in parallel to get curated endpoints plus the complete API access.
Key usage patterns include querying organization details, listing networks, retrieving device information, managing wireless settings, and performing live diagnostics. Use the pre-registered tools for common operations, or fall back to the generic API caller to access any Meraki API method. Operations can be read-only by enabling read-only mode for safety or use action batches for bulk changes.
How to install
Prerequisites: Python 3.8+ and a Meraki Dashboard API key with an appropriate scope. Set up a virtual environment, install dependencies, and prepare your environment file with API credentials.
# macOS
git clone https://github.com/MKutka/meraki-magic-mcp.git
cd meraki-magic-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env-example .env
# Edit .env with your API credentials
# Windows
git clone https://github.com/MKutka/meraki-magic-mcp.git
cd meraki-magic-mcp
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env-example .env
# Edit .env with your API credentials
Configuration and startup notes
Create or edit the environment file to supply your API credentials and optional performance tuning flags.
Example environment entries you may include in your environment file:
MERAKI_API_KEY="your_api_key_here"
MERAKI_ORG_ID="your_org_id_here"
# Optional: Performance tuning
ENABLE_CACHING=true
CACHE_TTL_SECONDS=300
READ_ONLY_MODE=false
Running the dynamic MCP and manual MCP together
You can run both MCP variants at the same time to get the broad API surface plus the curated, type-safe operations.
{
"mcpServers": {
"Meraki_Curated": {
"command": "/Users/apavlock/meraki-magic-mcp/.venv/bin/fastmcp",
"args": ["run", "/Users/apavlock/meraki-magic-mcp/meraki-mcp.py"]
},
"Meraki_Full_API": {
"command": "/Users/apavlock/meraki-magic-mcp/.venv/bin/fastmcp",
"args": ["run", "/Users/apavlock/meraki-magic-mcp/meraki-mcp-dynamic.py"]
}
}
}
Available tools
get_organizations
Retrieve a list of organizations you can access
get_organization_details
Fetch details for a specific organization by org_id
get_organization_admins
List administrators for an organization
get_networks
List networks within an organization
get_network_details
Fetch details for a specific network by network_id
get_network_clients
List clients connected to a network
get_device_details
Retrieve details for a specific device by serial
get_switch_ports
Get ports for a switch and their statuses
get_wireless_ssids
Get wireless SSIDs configured for a network
get_firewall_rules
Retrieve firewall rules for a network