Claude Desktop fails to proxy Grafana MCP Server: "Cannot use 'in' operator to search for 'properties' in true"
Summary
When the Grafana MCP Server extension (v0.10.0) is installed in Claude Desktop, the MCP connects and reports 57 tools, but LocalMcpServerManager throws while building the proxy. As a result, none of Grafana's tools are exposed to the Claude Code SDK session — the extension appears installed and enabled but silently delivers no tools.
Environment
- Claude Code binary: 2.1.111
- Grafana MCP Server extension: v0.10.0 (
ant.dir.gh.grafana.grafana-mcp) - macOS: Darwin 25.4.0
- Other MCP extensions (Spotify, iMessage, Chrome Control, Control your Mac) load fine.
Repro
- Install Grafana MCP Server v0.10.0 extension.
- Configure with a valid
grafana_urlandservice_account_token. - Start any Claude Code session.
- Observe: no
grafanatools available;ToolSearchreturns no matches.
Logs (~/Library/Logs/Claude/main.log)
[LocalMcpServerManager] Connecting to Grafana MCP Server
Using basic execution for extension Grafana MCP Server: not a Node.js server
or a Python server or no entry point specified
[LocalMcpServerManager] Connected to Grafana MCP Server (57 tools)
[LocalMcpServerManager] Failed to create proxy for Grafana MCP Server:
Cannot use 'in' operator to search for 'properties' in true
The Grafana binary itself starts and responds to tools/list correctly — verified by the MCP server log which shows the full tool list returned. The failure is downstream, in Claude Desktop's proxy construction.
Likely cause
The error Cannot use 'in' operator to search for 'properties' in true is a JavaScript TypeError thrown when 'properties' in x runs against a non-object. Several Grafana tool input schemas use additionalProperties: true (boolean) rather than additionalProperties: {} (object). The proxy code appears to recurse into schema nodes and apply the in operator without first checking that the value is an object.
Suggested fix
In the proxy schema walker, guard the in check:
if (typeof node === 'object' && node !== null && 'properties' in node) { ... }
Workaround
None known client-side. Downgrading the Grafana extension may help if an earlier version emits object-typed additionalProperties, but I haven't verified.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗