Meraki Monitor MCP
by coozgan
README.md
# Meraki Monitor MCP
[](https://www.python.org/downloads/release/python-3130/) [](LICENSE)  
## Project Purpose
This project was created to provide a safe, read-only tool for a Network Operations Center (NOC) AI Agent. It allows an AI agent to securely query and monitor a Cisco Meraki environment without any risk of making configuration changes.
## Use Case
The primary use case for the Meraki Monitor MCP is to act as a secure "source of truth" for network monitoring. An AI agent can use this server to get real-time information about the status of the Meraki network, devices, and clients, enabling automated monitoring and incident response without granting the agent write-access to the network infrastructure.
## Features
- **Network Monitoring:** Get details on organizations, networks, devices, and clients.
- **Status and Health:** Check the status and health of your Meraki organization and devices.
- **Traffic Analysis:** View network traffic data.
- **Read-Only:** All tools are strictly for monitoring and do not allow any modifications to your network.
## Installation
1. Clone the repository:
```bash
git clone https://github.com/coozgan/meraki-monitor-mcp.git
cd meraki-monitor-mcp
```
2. Create a virtual environment and activate it:
```bash
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
```
3. Install dependencies:
```bash
pip install -r requirements.txt
```
## Configuration
1. Copy the example environment file:
```bash
cp .env-example .env
```
2. Update the `.env` file with your Meraki API Key, Organization ID, and default Network ID:
```env
MERAKI_API_KEY="Your Meraki API Key here"
MERAKI_ORG_ID="Your Meraki Org ID here"
MERAKI_NETWORK_ID="Your Default Meraki Network ID here"
```
## Usage With an MCP Client
1. Configure your MCP client to use this server. For example, in the Claude Desktop client, you would add the following to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"Meraki_Monitor_MCP": {
"command": "/path/to/your/meraki-monitor-mcp/.venv/bin/fastmcp",
"args": [
"run",
"/path/to/your/meraki-monitor-mcp/meraki-monitor-mcp.py"
]
}
}
}
```
**Note:** Replace the paths above to reflect your local environment.
2. Restart your MCP client.
3. You can now interact with the Meraki Monitor MCP server using the available tools.
## Available Tools
### Organization Tools
- `get_organizations()`
- `get_organization_details()`
- `get_networks()`
- `get_devices()`
- `get_organization_status()`
- `get_organization_inventory()`
- `get_organization_license()`
- `get_alerts(timespan_days: int = 30)`
### Network Tools
- `get_network_details()`
- `get_network_devices()`
- `get_clients(timespan: int = 86400)`
- `get_client_details(client_id: str)`
- `get_client_usage(client_id: str)`
- `get_client_policy(client_id: str)`
- `get_network_traffic(timespan: int = 86400)`
### Device Tools
- `get_device_details(serial: str)`
- `get_device_clients(serial: str, timespan: int = 86400)`
- `get_device_status(serial: str)`
- `get_device_uplink(serial: str)`
### Wireless Tools
- `get_wireless_ssids()`
- `get_wireless_settings()`
- `get_wireless_clients(timespan: int = 86400)`
### Switch Tools
- `get_switch_ports(serial: str)`
- `get_switch_vlans()`
### Appliance Tools
- `get_security_center()`
- `get_vpn_status()`
- `get_firewall_rules()`
### Camera Tools
- `get_camera_video_settings(serial: str)`
- `get_camera_quality_settings()`This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues