Source on GitHub Dashboard API

Cisco-hosted Meraki MCP server setup

Connect Cursor, Codex, or ChatGPT to Cisco’s hosted Meraki MCP server. There is no local server to install. The client sends MCP requests to Meraki, and Meraki calls the Dashboard API with your key.

https://mcp.meraki.com/mcp

This is the public version of the local Meraki MCP runbooks. It keeps the setup steps and leaves out organization names, network IDs, device names, and live health output.

Use it read-only: list organizations, inspect MX WAN events, find switch ports with errors or flaps, and rank AP client experience. Do not ask it to reboot, claim, or change configuration unless you have an approved change window.

A browser visit or a plain GET may return HTTP 405. Verify with an MCP tool call from the client.

1. Create a Dashboard API key

  1. Sign in to Meraki Dashboard.
  2. Open Organization → Settings and confirm API access is enabled.
  3. Open your profile → My profile → API access.
  4. Generate a new key. Copy it once. Dashboard will not show it again.
  5. Prefer a read-only org role, or a dedicated automation user.

2. Store the key

Cursor and Codex read MERAKI_DASHBOARD_API_KEY from the environment. Add this to ~/.zshrc locally. Do not commit that file.

export MERAKI_DASHBOARD_API_KEY="your-dashboard-api-key"

Quit and relaunch the app. Confirm the variable is set without printing it:

if [ -n "$MERAKI_DASHBOARD_API_KEY" ]; then echo "Meraki key is set"; else echo "Meraki key is missing"; fi

ChatGPT does not expand ${env:...}. Store that key in the connector secret field, not in this repo.

3. Connect Cursor

Cursor → Settings → Tools & MCP. Add meraki, type HTTP, URL https://mcp.meraki.com/mcp. Header Authorization:

Bearer ${env:MERAKI_DASHBOARD_API_KEY}

The same JSON is in mcp.json for ~/.cursor/mcp.json:

{
  "mcpServers": {
    "meraki": {
      "url": "https://mcp.meraki.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MERAKI_DASHBOARD_API_KEY}"
      }
    }
  }
}

4. Connect Codex

codex mcp add meraki \
  --url https://mcp.meraki.com/mcp \
  --bearer-token-env-var MERAKI_DASHBOARD_API_KEY

Equivalent ~/.codex/config.toml entry, also in config.toml:

[mcp_servers.meraki]
url = "https://mcp.meraki.com/mcp"
bearer_token_env_var = "MERAKI_DASHBOARD_API_KEY"
enabled = true
codex mcp get meraki
codex mcp list

5. Connect ChatGPT

This server is already remote, so ChatGPT can use it. ChatGPT does not read ~/.zshrc.

  1. Settings → Apps & Connectors → Advanced → enable Developer mode.
  2. Create a connector named meraki.
  3. URL: https://mcp.meraki.com/mcp.
  4. Authentication: bearer token. Paste the Dashboard key into ChatGPT’s connector secret store only.
  5. Scan tools, enable the connector, and leave write actions off.

Reference: Developer mode and MCP connectors.

6. Verify

List the Meraki MCP tools you can use, then list my organizations. Read only.

You should see semantic_search and execute_api, then at least one organization. Use an organization ID from that response. Do not guess IDs. Never pass the API key as a tool argument.

Example prompts

List my Meraki organizations, then the networks in the organization I name. Read only.

Which MX sites had WAN failovers in the last 30 days?

Find switch ports with high errors or flaps in the last 7 days.

Which APs have the worst client experience this week?

Interface packet-error counters cover at most the last 24 hours, and events calls return one page. Say so when a result may be truncated.

Security

References