Meraki Magic MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MERAKI_ORG_ID | Yes | Your Meraki Organization ID | |
| MERAKI_API_KEY | Yes | Your Meraki API Key |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| call_meraki_apiA | Call any Meraki API method - provides access to all 804+ endpoints Args: section: SDK section (organizations, networks, wireless, switch, appliance, camera, devices, sensor, sm, etc.) method: Method name (e.g., getOrganizationAdmins, updateNetworkWirelessSsid, getNetworkApplianceFirewallL3FirewallRules) parameters: Dict of parameters (e.g., {"networkId": "L_123", "name": "MySSID"}) Examples: call_meraki_api(section="organizations", method="getOrganizationAdmins", parameters={"organizationId": "123456"}) call_meraki_api(section="wireless", method="updateNetworkWirelessSsid", parameters={"networkId": "L_123", "number": "0", "name": "NewSSID", "enabled": True}) call_meraki_api(section="appliance", method="getNetworkApplianceFirewallL3FirewallRules", parameters={"networkId": "L_123"}) |
| getOrganizationsA | Get all organizations |
| getOrganizationAdminsC | Get organization administrators |
| getOrganizationNetworksC | Get organization networks |
| getOrganizationDevicesC | Get organization devices |
| getNetworkC | Get network details |
| getNetworkClientsC | Get network clients |
| getNetworkEventsC | Get network events |
| getNetworkDevicesD | Get network devices |
| getDeviceC | Get device by serial |
| getNetworkWirelessSsidsC | Get wireless SSIDs |
| getDeviceSwitchPortsC | Get switch ports for a device |
| updateDeviceSwitchPortC | Update switch port configuration. For the full parameter set use call_meraki_api. |
| list_all_methodsA | List all available Meraki API methods Args: section: Optional section filter (organizations, networks, wireless, switch, appliance, etc.) |
| search_methodsA | Search for Meraki API methods by keyword Args: keyword: Search term (e.g., 'admin', 'firewall', 'ssid', 'event') |
| get_method_infoA | Get detailed parameter information for a method Args: section: SDK section (e.g., 'organizations', 'networks') method: Method name (e.g., 'getOrganizationAdmins') |
| cache_statsA | Get cache statistics and configuration |
| cache_clearB | Clear all cached data |
| get_mcp_configA | Get MCP configuration |
| get_cached_responseA | Retrieve a paginated slice of a cached response from a file IMPORTANT: This tool returns paginated data to avoid context overflow. For full data access, use command-line tools: cat | jq Args: filepath: Path to the cached response file (from _full_response_cached field) offset: Starting index for pagination (default: 0) limit: Maximum number of items to return (default: 10, max: 100) Examples: get_cached_response(filepath="...", offset=0, limit=10) # First 10 items get_cached_response(filepath="...", offset=10, limit=10) # Next 10 items get_cached_response(filepath="...", offset=0, limit=100) # First 100 items |
| list_cached_responsesA | List all cached response files |
| clear_cached_filesC | Clear cached response files older than specified hours Args: older_than_hours: Delete files older than this many hours (default: 24) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Multiple tools like getOrganizationAdmins, getDevice, etc., overlap with the generic call_meraki_api, which can perform all those actions and more. This creates ambiguity about which tool to use for a given operation.
Tool names mix conventions: some use camelCase (getDevice, getNetworkClients) while others use snake_case (get_mcp_config, list_all_methods). This inconsistency makes it harder to predict tool names.
With 22 tools, the count is on the higher side. Many tools are specific getters that could be subsumed by the generic call_meraki_api, making the set feel bloated for the domain.
The generic call_meraki_api provides access to all 804+ Meraki endpoints, so the tool surface is essentially complete. The specific tools cover common reads, but missing CRUD operations are addressed by the generic method.