Skip to main content
Glama
QUICKSTART.md5.81 kB
# Meraki Dynamic MCP - Quick Start Guide ## What Was Created I've created a **dynamic version** of your Meraki MCP that automatically exposes **all ~804 Meraki SDK methods** as MCP tools. ## Files Created 1. **meraki-mcp-dynamic.py** - The dynamic MCP server 2. **inspect_tools.py** - Safe inspection script (no API calls) 3. **README-DYNAMIC.md** - Detailed documentation 4. **COMPARISON.md** - Manual vs. Dynamic comparison 5. **QUICKSTART.md** - This file ## Step 1: Inspect (Safe - No API Calls) Before using the dynamic MCP, run the inspection script to see what will be available: ```bash cd /Users/apavlock/meraki-magic-mcp source .venv/bin/activate python3 inspect_tools.py ``` This will show you: - Tool counts by section - Sample tool names - Parameter details - Search examples - Coverage comparison **This is 100% safe** - it doesn't make any API calls. ## Step 2: Update Claude Desktop Config Edit your Claude Desktop config file: **Location**: `~/Library/Application Support/Claude/claude_desktop_config.json` **Option A: Replace existing MCP** ```json { "mcpServers": { "Meraki_Magic_MCP": { "command": "/Users/apavlock/meraki-magic-mcp/.venv/bin/fastmcp", "args": [ "run", "/Users/apavlock/meraki-magic-mcp/meraki-mcp-dynamic.py" ] } } } ``` **Option B: Run both (recommended)** ```json { "mcpServers": { "Meraki_Curated": { "command": "/Users/apavlock/meraki-magic-mcp/.venv/bin/fastmcp", "args": [ "run", "/Users/apavlock/meraki-magic-mcp/meraki-mcp.py" ] }, "Meraki_Full_API": { "command": "/Users/apavlock/meraki-magic-mcp/.venv/bin/fastmcp", "args": [ "run", "/Users/apavlock/meraki-magic-mcp/meraki-mcp-dynamic.py" ] } } } ``` ## Step 3: Restart Claude Desktop Completely quit and restart Claude Desktop for the config changes to take effect. ## Step 4: Test Discovery Tools (Safe) These helper tools **don't make API calls** - they just list available tools: ### List all tools ``` Use list_available_tools to show me all available tools ``` ### List tools by category ``` Use list_available_tools with category="wireless" to show wireless tools ``` ### Search for tools ``` Use search_tools with keyword="firewall" to find firewall-related tools ``` ### Get tool details ``` Use get_tool_info with tool_name="organizations_getOrganization" to see parameters ``` ## Step 5: Test Read-Only Operations Start with safe, read-only operations: ### Get organizations ``` Use organizations_getOrganizations to list all my organizations ``` ### Get networks ``` Use organizations_getOrganizationNetworks with organizationId="YOUR_ORG_ID" ``` ### Get devices ``` Use organizations_getOrganizationDevices with organizationId="YOUR_ORG_ID" ``` ### Get network details ``` Use networks_getNetwork with networkId="YOUR_NETWORK_ID" ``` ## Tool Naming Pattern All tools follow this pattern: `{section}_{methodName}` Examples: - `organizations_getOrganization` - `networks_getNetworkClients` - `wireless_getNetworkWirelessSsids` - `devices_rebootDevice` - `appliance_updateNetworkApplianceFirewallL3FirewallRules` ## Auto-Organization ID If you don't provide `organizationId` to a tool that needs it, the MCP will automatically use your `MERAKI_ORG_ID` from `.env`. ## Discovery Workflow 1. **Find tools** - Use `search_tools` to find what you need 2. **Check parameters** - Use `get_tool_info` to see required parameters 3. **Call the tool** - Use the tool with proper parameters Example: ``` 1. "Use search_tools with keyword='vpn' to find VPN-related tools" 2. "Use get_tool_info with tool_name='appliance_getNetworkApplianceVpnSiteToSiteVpn'" 3. "Use appliance_getNetworkApplianceVpnSiteToSiteVpn with networkId='L_12345'" ``` ## Safety Tips ### ✅ Safe Operations (Read-Only) - Anything with `get` in the name - `list_available_tools` - `search_tools` - `get_tool_info` ### ⚠️ Use with Caution - Anything with `update` in the name - Anything with `create` in the name - `reboot` operations ### 🛑 Double-Check Before Using - Anything with `delete` in the name - Anything with `remove` in the name - Network/device claiming operations ## Common Use Cases ### Monitor network health ``` organizations_getOrganizationDevicesStatuses networks_getNetworkEvents networks_getNetworkHealthChannelUtilization ``` ### Manage wireless ``` wireless_getNetworkWirelessSsids wireless_updateNetworkWirelessSsid wireless_getNetworkWirelessRfProfiles wireless_getNetworkWirelessAirMarshal ``` ### Configure firewall ``` appliance_getNetworkApplianceFirewallL3FirewallRules appliance_getNetworkApplianceFirewallL7FirewallRules appliance_getNetworkApplianceFirewallInboundFirewallRules ``` ### Troubleshoot ``` devices_createDeviceLiveToolsPing devices_createDeviceLiveToolsCableTest networks_getNetworkEvents ``` ### Manage admins ``` organizations_getOrganizationAdmins organizations_createOrganizationAdmin organizations_updateOrganizationAdmin ``` ## Error Messages All tools return formatted JSON. Errors look like: ```json { "error": "Meraki API Error", "message": "Invalid network ID", "status": 404 } ``` ## Next Steps 1. ✅ Run `inspect_tools.py` to see available tools 2. ✅ Update Claude Desktop config 3. ✅ Restart Claude Desktop 4. ✅ Test discovery tools (list_available_tools, search_tools) 5. ✅ Test read-only operations 6. ✅ Gradually explore more advanced features ## Support - **README-DYNAMIC.md** - Full documentation - **COMPARISON.md** - Manual vs. Dynamic comparison - **inspect_tools.py** - See all available tools safely ## Coverage - **Manual MCP**: 40 tools (0.57% of API) - **Dynamic MCP**: ~804 tools (100% of SDK) - **Increase**: 20x more coverage! Happy automating! 🚀

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MKutka/meraki-magic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server