Spanly brings MCP-native observability via language-agnostic sidecar proxy
Spanly is a sidecar proxy that provides MCP-native observability for any language or framework, capturing full protocol telemetry that generic APM tools miss.
Score breakdown
Spanly fills a gap left by generic APM and SDK-based MCP monitors by operating at the protocol level as a language-agnostic proxy, making silent agent failures and tool-level errors visible without requiring code changes or a supported runtime.
- 01Spanly is a Go sidecar proxy for MCP server observability, requiring zero code changes and supporting any language or framework.
- 02It captures all MCP message types — not just tool-call spans — including notifications and log messages that don't fit a span model.
- 03Client identification covers Claude, Cursor, Copilot, ChatGPT, Windsurf, Cline, Zed, and custom agents.
Tim, the solo founder of Spanly, built the tool after spending a year working on MCP gateways and finding that HTTP-level APM was inadequate for debugging them. The core problem: when an AI agent calls a tool, gets an error, and retries twice before giving up, generic APM logs three healthy POST requests with no indication anything went wrong. Sentry's own MCP server grew to 50M requests/month before the team discovered requests were silently dying — not from their own monitoring, but from users reaching out.
Spanly addresses this with a Go sidecar proxy that speaks the MCP protocol itself, sitting in front of any MCP server regardless of language or framework.
Spanly addresses this with a Go sidecar proxy that speaks the MCP protocol itself, sitting in front of any MCP server regardless of language or framework. It wraps both HTTP and stdio servers, and telemetry shipping is async and lossy by design so that a Spanly backend outage does not affect the monitored server. Existing tools from Sentry and New Relic offer in-process SDKs limited to TypeScript and Python, and neither handles MCP notifications or log messages, which don't map cleanly onto a span model. Spanly captures all message types, redacts credential-bearing headers before telemetry leaves the sidecar, and passes W3C `traceparent` headers through untouched so MCP traces cross-link with existing Datadog or Sentry traces.
Beyond the engineering view of traces and latency percentiles, Spanly adds a product view showing which clients are connecting, which tools are growing, adoption trends, and how much agents do per session. The sidecar and optional TypeScript/Python SDKs are Apache-2.0; the hosted backend is the paid component, available in US and EU regions with telemetry staying in-region. Pricing starts with a free tier covering 100k requests/month (degrading to 10% sampling rather than billing overages), with paid plans starting at $49. A request and its response count as one billable unit; notifications and MCP log messages are not billed.
Key facts
- 01Spanly is a Go sidecar proxy for MCP server observability, requiring zero code changes and supporting any language or framework.
- 02It captures all MCP message types — not just tool-call spans — including notifications and log messages that don't fit a span model.
- 03Client identification covers Claude, Cursor, Copilot, ChatGPT, Windsurf, Cline, Zed, and custom agents.
- 04Sentry's MCP server reached 50M requests/month before silent request failures were discovered only through user reports, not internal monitoring.
- 05Existing MCP monitoring from Sentry and New Relic are in-process SDKs limited to TypeScript and Python.
- 06Telemetry shipping is async and lossy by design; a Spanly backend outage does not impact the monitored server.
- 07Free tier covers 100k requests/month (degrades to 10% sampling on overage); paid plans start at $49. The sidecar is Apache-2.0 open source.
Topics
Summary and scoring are generated automatically from the original article. We always link back to the publisher and never republish images or paywalled content. Last processed Jun 12, 2026 · 10:05 UTC. How this works →