MCP for coding agents
Sonder's output is designed to be consumed by your coding agent: a machine-readable backlog of diagnosed UX issues, each with a suggested fix and the metric that will prove it. The MCP endpoint exposes that loop as tools.
Endpoint
JSON-RPC (MCP protocol 2024-11-05) over HTTPS at
https://api.sonder.so/mcp. Authenticate with a workspace API key
(Settings → API keys) as a Bearer token or X-Sonder-Api-Key header.
API keys are secrets; never ship them to a browser.
# The MCP endpoint speaks JSON-RPC (protocol 2024-11-05) over plain HTTPS.
# Authenticate with a workspace API key (Settings → API keys), not a write key.
curl -s https://api.sonder.so/mcp \
-H "Authorization: Bearer snd_sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": { "name": "sonder.list_issues",
"arguments": { "status": "worsening" } }
}'
Tools
| Tool | What it does |
|---|---|
sonder.connect_source | Validate a source (SDK or import) and sample recent data. |
sonder.read_taxonomy | Distinct semantic events and routes seen in your workspace. |
sonder.propose_config | Draft milestones/outcomes/surfaces/masking from the observed taxonomy. |
sonder.preview_run | Dry-run the engine on a sample; see candidate issues before committing. |
sonder.commit_config | Approve the config; seed the registry and schedule runs. |
sonder.list_issues | The tracked backlog, filterable by lifecycle status (for example worsening). |
sonder.get_issue | One issue: diagnosis, suggested fix, confirm-metric, sample ribbons. |
sonder.find_instrumentation_gaps | Surfaces with friction but no semantic events ("nothing fires on the upgrade modal"). |
sonder.suggest_instrumentation | The exact sonder.track() call and file location to close a gap. |
The loop this enables
- Your agent calls
sonder.list_issues(status: "worsening")at the start of a session. - Picks an issue, reads
sonder.get_issue: cause, the state the users saw, a proposed diff, the confirm-metric. - Writes the fix, you review and ship it with a new
buildId. - Sonder tracks the metric across the release and resolves (or regresses) the issue. Nobody's memory is the system of record.
Sonder never acts on your product or your users through MCP. The tools read,
propose, and configure Sonder itself; the diff is applied by your agent under your
review. That boundary is deliberate.