Meraki Magic

Meraki Dashboard MCP server
  • 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

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational