KM

kiskander/meraki-mcp-server

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

3 stars 8 forks 품질 50 트렌드 10

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 null values (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: uv for reproducible Python environments (recommended)

Install

# 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 key
  • MCP_ROLE (optional): One of noc, sysadmin, all (defaults to noc)
  • MERAKI_BASE_URL (optional): Defaults to https://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.
  • stdio at the end ensures the server communicates over standard I/O as MCP expects.
  • If you do not use uv, replace command and args accordingly to invoke your Python environment.

Roles and Allowed Endpoints

GitHub에서 전체 README 보기

설치

This server does not publish a one-line install command.

Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →