Command Palette

Search for a command to run...

Home / Servers

meraki-mcp

by sen2diwakar

Cisco Meraki MCP Server

Overview

The Cisco Meraki MCP Server is a Python-based implementation of the Model Context Protocol (MCP) that exposes Cisco Meraki Dashboard API operations as MCP tools.

Instead of calling REST APIs directly, any MCP-compatible client can invoke these tools using a standardized interface.

This project demonstrates how MCP can be used to bridge AI assistants and enterprise networking platforms.


Features

  • Cisco Meraki Dashboard API integration
  • Model Context Protocol (MCP) Server
  • Streamable HTTP transport
  • Environment variable support
  • Interactive MCP client
  • Clean and modular Python code
  • Production-ready project structure
  • Easy to extend with additional Meraki APIs

Supported Tools

Health

  • Health Check

Networks

  • Create Network
  • Delete Network
  • List Networks
  • Get Network Information

Configuration Templates

  • Create Template
  • List Templates
  • Get Template Information
  • Bind Template to Network

Project Structure

meraki-mcp/
│
├── app.py                 # MCP Server
├── client.py              # Interactive MCP Client
├── meraki.py              # Cisco Meraki REST API Wrapper
├── config.py              # Configuration & Environment Variables
├── requirements.txt
├── README.md
├── .env

Requirements

  • Python 3.10 or later
  • Cisco Meraki Dashboard Account
  • Cisco Meraki API Key

Installation

Clone the repository.

git clone <repository-url>

Move into the project directory.

cd meraki-mcp

Install the required packages.

pip install -r requirements.txt

Environment Variables

Create a .env file in the project directory (or copy .env.example to .env).

Example:

# Cisco Meraki Dashboard API Key
MERAKI_API_KEY=YOUR_MERAKI_API_KEY

# OpenAI API Key
# Required only if using the AI-powered client.
OPENAI_API_KEY=YOUR_OPENAI_API_KEY

Note:

  • MERAKI_API_KEY is required to authenticate with the Cisco Meraki Dashboard API.
  • OPENAI_API_KEY is only required if you are using the AI-powered client that converts natural language into MCP tool calls.

Running the MCP Server

Start the server.

python app.py

If successful, you should see output similar to:

Connected to Cisco Meraki Dashboard
Organization ID : xxxxxxx

Cisco Meraki MCP Server Started

Running the Interactive Client

Open another terminal.

Run:

python client.py

Example:

============================================================
Cisco Meraki Natural Language MCP Client
============================================================

Connected Successfully.

You >

Supported Natural Language Commands

Health

Health check
Check health
Check server health
Server status
Status

Networks

Show all networks
List all networks
List networks

Create a network named Delhi Office
Create network Delhi Office

Delete network Delhi Office
Remove network Delhi Office

Show network Delhi Office
Get network Delhi Office
Show information for Delhi Office

Templates

List templates
Show templates

Create a template named Branch Template
Create template Branch Template

Show template Branch Template
Get template Branch Template

Bind template Branch Template to Delhi Office
Apply template Branch Template to Delhi Office

Other Commands

Help

Exit

Example Session

You > Show all networks

Result
------------------------------------------------------------
[
    {
        "id": "...",
        "name": "Delhi Office"
    }
]

You > Create a network named Mumbai Office

Result
------------------------------

Related servers

n8n

Updated today

by n8n-io

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

NOASSERTION199,059

mcp-server-fetch

OfficialUpdated today

by modelcontextprotocol

A Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

89,138

@modelcontextprotocol/server-filesystem

OfficialUpdated today

by modelcontextprotocol

MCP server for filesystem access

SEE LICENSE IN LICENSE89,138

@modelcontextprotocol/server-everything

OfficialUpdated today

by modelcontextprotocol

MCP server that exercises all the features of the MCP protocol

89,138