Skip to main content
Glama

meraki-dashboard-api (MCP server)

A read-only Model Context Protocol server for the Cisco Meraki Dashboard API. It exposes a curated set of 50 GET endpoints focused on understanding network topology — from the organization level down to individual switch ports, clients, and wireless APs.

Every tool is a GET. This server never creates, updates, or deletes Meraki configuration.

What it covers

Module

Tools

Topology use

organizations

org/network/device inventory, device & uplink statuses, client search & overview

top-level discovery

networks

network detail, devices, link-layer topology (LLDP/CDP), clients, health alerts

per-site map

devices

device detail, connected clients, LLDP/CDP neighbors, management interface

per-device

switch

ports + live port statuses, L3 interfaces, static routes, stacks, STP, LAGs, OSPF, multicast, org-wide port topology discovery

wired fabric

wireless

SSIDs, AP status, mesh statuses, org-wide SSID statuses

wireless fabric

appliance

MX VLANs, ports, static routes, site-to-site VPN, uplink & VPN statuses, L3 interfaces

network edge / WAN

A typical drill-down: organizations-list-organizations → organizations-list-networks → networks-list-devices → networks-list-linklayer → devices-list-lldpcdp → switch-list-statuses.

Related MCP server: Meraki Dashboard MCP Server

Requirements

  • Node.js >= 22

  • A Meraki Dashboard API key (Organization → Settings → Dashboard API access)

Install & register

npm install
export MERAKI_API_KEY=<your-key>     # baked into the MCP config at setup time if set
npm run setup                         # builds, then registers in Claude Desktop + Claude Code

npm run setup also installs one slash command per tool to ~/.claude/commands/. Run npm run uninstall to reverse everything.

Configuration

Variable

Required

Default

Notes

MERAKI_API_KEY

yes

—

sent as Authorization: Bearer <key>

MERAKI_BASE_URL

no

https://api.meraki.com/api/v1

use a regional shard if needed

MERAKI_TIMEOUT_MS

no

30000

per-request timeout

LOG_LEVEL

no

info

logs go to stderr only

Development

npm run dev          # watch mode (tsx)
npm test             # unit + integration tests
npm run typecheck
npm run lint
npm run inspect      # debug with the MCP Inspector

Field projection

Every tool accepts an optional fields: string[] argument. Pass it to return only the top-level fields you care about (e.g. ["name","serial","status"]), keeping irrelevant data out of the model's context. Each tool's schema enumerates the available fields.

Notes

  • The Meraki API rate-limits at ~10 req/s per organization; the client retries 429 responses up to 3 times, honoring Retry-After.

  • All upstream failures surface as EXTERNAL_SERVICE_ERROR tool results, never crashes.

Available Tools

50 tools
appliance-get-vlansC

Return a VLAN. (read-only)

Inputs: networkId (required), vlanId (required), fields.

appliance-list-l3B

List L3 interfaces across networks for the organization. (read-only)

Inputs: organizationId (required), networkIds, perPage, startingAfter, +2 more.

appliance-list-portsB

List per-port VLAN settings for all ports of a secure router or security appliance. (read-only)

Inputs: networkId (required), fields.

appliance-list-sitetositevpnA

Return the site-to-site VPN settings of a network. (read-only)

Inputs: networkId (required), fields.

appliance-list-staticroutesA

List the static routes for an MX or teleworker network. (read-only)

Inputs: networkId (required), fields.

appliance-list-vlansC

List the VLANs for a Security Appliance network. (read-only)

Inputs: networkId (required), fields.

devices-get-devicesB

Return a single device. (read-only)

Inputs: serial (required), fields.

devices-list-clientsB

List the clients of a device, up to a maximum of a month ago. (read-only)

Inputs: serial (required), t0, timespan, fields.

devices-list-lldpcdpC

List LLDP and CDP information for a device. (read-only)

Inputs: serial (required), fields.

devices-list-managementinterfaceA

Return the management interface settings for a device. (read-only)

Inputs: serial (required), fields.

get-organization-appliance-vpn-statusesB

Show VPN status for networks in an organization. (read-only)

Inputs: organizationId (required), perPage, startingAfter, endingBefore, +2 more.

get-organization-clients-overviewB

Return summary information around client data usage (in kb) across the given organization. (read-only)

Inputs: organizationId (required), t0, t1, timespan, +1 more.

get-organization-devicesC

List the devices in an organization that have been assigned to a network. (read-only)

Inputs: organizationId (required), perPage, startingAfter, endingBefore, +15 more.

get-organization-devices-statusesA

List the status of every Meraki device in the organization. (read-only)

Inputs: organizationId (required), perPage, startingAfter, endingBefore, +8 more.

get-organization-devices-statuses-overviewC

Return an overview of current device statuses. (read-only)

Inputs: organizationId (required), productTypes, networkIds, fields.

get-organization-inventory-devicesC

Return the device inventory for an organization. (read-only)

Inputs: organizationId (required), perPage, startingAfter, endingBefore, +12 more.

get-organization-switch-ports-by-switchB

List the switchports in an organization by switch. (read-only)

Inputs: organizationId (required), perPage, startingAfter, endingBefore, +9 more.

get-organization-switch-ports-statuses-by-switchC

List the switchports in an organization. (read-only)

Inputs: organizationId (required), perPage, startingAfter, endingBefore, +9 more.

networks-get-clientsA

Return the client associated with the given identifier. (read-only)

Inputs: networkId (required), clientId (required), fields.

networks-get-networksB

Return a network. (read-only)

Inputs: networkId (required), fields.

networks-list-alertsA

Return all global alerts on this network. (read-only)

Inputs: networkId (required), fields.

networks-list-clientsC

List the clients that have used this network in the timespan. (read-only)

Inputs: networkId (required), t0, timespan, perPage, +14 more.

networks-list-devicesC

List the devices in a network. (read-only)

Inputs: networkId (required), fields.

networks-list-linklayerB

List the LLDP and CDP information for all discovered devices and connections in a network. (read-only)

Inputs: networkId (required), fields.

networks-list-overviewA

Return overview statistics for network clients. (read-only)

Inputs: networkId (required), t0, t1, timespan, +2 more.

organizations-get-devicesA

Return a single device from the inventory of an organization. (read-only)

Inputs: organizationId (required), serial (required), fields.

organizations-get-organizationsB

Return an organization. (read-only)

Inputs: organizationId (required), fields.

organizations-list-availabilitiesC

List the availability information for devices in an organization. (read-only)

Inputs: organizationId (required), perPage, startingAfter, endingBefore, +7 more.

organizations-list-networksA

List the networks that the user has privileges on in an organization. (read-only)

Inputs: organizationId (required), configTemplateId, isBoundToConfigTemplate, tags, +6 more.

organizations-list-organizationsB

List the organizations that the user has privileges on. (read-only)

Inputs: perPage, startingAfter, endingBefore, fields.

organizations-list-uplinkslossandlatencyA

Return the uplink loss and latency for every MX in the organization from at latest 2 minutes ago. (read-only)

Inputs: organizationId (required), t0, t1, timespan, +3 more.

switch-get-portsC

Return a switch port. (read-only)

Inputs: serial (required), portId (required), fields.

switch-list-bydeviceC

List most recently seen LLDP/CDP discovery and topology information per switch port in an organization. (read-only)

Inputs: organizationId (required), t0, timespan, perPage, +11 more.

switch-list-interfacesA

List layer 3 interfaces for a switch. (read-only)

Inputs: serial (required), mode, protocol, fields.

switch-list-linkaggregationsC

List link aggregation groups. (read-only)

Inputs: networkId (required), fields.

switch-list-multicastB

Return multicast settings for a network. (read-only)

Inputs: networkId (required), fields.

switch-list-ospfB

Return layer 3 OSPF routing configuration. (read-only)

Inputs: networkId (required), vrf, fields.

switch-list-portsC

List the switch ports for a switch. (read-only)

Inputs: serial (required), fields.

switch-list-stacksB

List the switch stacks in a network. (read-only)

Inputs: networkId (required), fields.

switch-list-staticroutesB

List layer 3 static routes for a switch. (read-only)

Inputs: serial (required), fields.

switch-list-statusesB

Return the status for all the ports of a switch. (read-only)

Inputs: serial (required), t0, timespan, fields.

switch-list-stpC

Returns STP settings. (read-only)

Inputs: networkId (required), fields.

wireless-get-ssidsA

Return a single MR SSID. (read-only)

Inputs: networkId (required), number (required), fields.

wireless-list-bydeviceB

List status information of all BSSIDs in your organization. (read-only)

Inputs: organizationId (required), networkIds, serials, bssids, +5 more.

wireless-list-meshstatusesB

List wireless mesh statuses for repeaters. (read-only)

Inputs: networkId (required), perPage, startingAfter, endingBefore, +1 more.

wireless-list-ssidsB

List the MR SSIDs in a network. (read-only)

Inputs: networkId (required), fields.

wireless-list-statusB

Return the SSID statuses of an access point. (read-only)

Inputs: serial (required), fields.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 50 tools

    Disambiguation3/5

    Many tools have overlapping names like 'get-organization-devices' vs 'organizations-get-devices', and similar patterns for switches and wireless. While descriptions clarify the differences, the naming similarity could cause confusion for an agent.

    Naming Consistency2/5

    Inconsistent use of 'get' vs 'list' prefixes, mixed ordering (e.g., 'appliance-list-vlans' vs 'get-organization-uplinks-statuses'), and inconsistent pluralization (e.g., 'switch-get-ports' vs 'switch-list-ports'). No single naming convention is followed.

    Tool Count2/5

    50 tools is excessive for a single MCP server, especially with all being read-only. The large number makes it difficult for an agent to navigate and select the correct tool efficiently.

    Completeness1/5

    All tools are read-only, with no create, update, or delete operations. This severely limits the agent's ability to manage Meraki networks, leaving obvious gaps for a dashboard API.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP (Model Context Protocol) server that enables interaction with the Cisco Meraki Dashboard API, allowing users to manage Meraki networks, devices, and configurations through natural language.
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      This MCP (Model Context Protocol) Server provides a communication interface for the Meraki Dashboard API, auto-generated using AG2's MCP builder from the Meraki OpenAPI specification.
      -
    • A
      license
      A
      quality
      C
      maintenance
      A read-only MCP server for AppDynamics that exposes 12 task-oriented tools to query applications, topology, metrics, snapshots, health rules, anomalies, events, alerting config, analytics events, and dependency maps via OAuth API-client credentials.
      12
      1
      MIT