Docs

What is Baton

Baton is actionable product analytics for MCP servers. When a customer's agent calls your server and your API can't meet the request, you often get a 200 with an empty body or a vague error — the customer's intent vanishes with no ticket and no trace. Baton captures that friction at the moment it happens: what the customer was trying to do, the call the agent made, what it expected, and what it got.

You instrument your server once. Whatever agent your customers use — Claude, Cursor, ChatGPT — keeps working exactly as before.

Test, deploy, act

Most teams move through three stages. The first two are free and open source and capture the signal; the third is the paid Console, where you act on it. You only need one of the two capture paths.

Stage 1  ·  Test

baton-proxy  ·  free, open source

Get a taste of the kinds of friction Baton surfaces, with no rebuild. The friction comes from you running it against your own MCP server — either by driving a few tool calls yourself, or automatically with the scan command, which runs a headless agent and writes a report. Nothing leaves your machine. Proxy reference →

Stage 2  ·  Deploy

baton-sdk  ·  free, open source

See friction from your actual customers. They won't install the proxy, so you instrument your side: wrap your MCP server with the SDK middleware (about five lines), or use the Library API path if you ship via Skills and don't have an MCP server. Same wire format, same sinks. SDK reference →

Stage 3  ·  Act

Baton Console  ·  hosted

The paid tier. It collects events across every customer and session, dedupes and ranks the friction into trends — your top unmet demands and silent-failure rates — then routes issues to your team and sends the resolution back into the customer's agent. Console reference →

How it fits together

The proxy and the SDK emit the exact same events to a sink you choose; the difference is who drives them and where they live. The proxy is you, sampling your own server. The SDK is baked into your server (or your Skill), capturing real customer traffic. Either way, the Baton Console is where that signal becomes a ranked roadmap your team can act on.

Each section has an architecture diagram: the Proxy and SDK pages show how capture works; the Console page shows how it comes together across customers.