Claude Desktop fails to proxy Grafana MCP Server: "Cannot use 'in' operator to search for 'properties' in true"

Resolved 💬 1 comment Opened Apr 17, 2026 by itskevinb Closed Apr 17, 2026

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

  1. Install Grafana MCP Server v0.10.0 extension.
  2. Configure with a valid grafana_url and service_account_token.
  3. Start any Claude Code session.
  4. Observe: no grafana tools available; ToolSearch returns 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.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗