Back arrowAll posts

Your coding agent should know what your customers said

Pixel art illustration of the Modem agent fielding an incoming call
Mike ClarkeMike Clarke
5 min read

Modem's MCP server and public API are now available for all Modem users. Any MCP client can connect at https://mcp.modem.dev/mcp.

As we build, we've found it useful to pull relevant customer feedback into the work: who hit this bug, what they expected, what they asked for. It keeps us building the right thing.

Your agent can already reach those sources one at a time: Slack has an MCP server, and so do Intercom, Linear and others. But what comes back is raw material: threads, tickets and duplicate reports, one tool at a time. Modem synthesizes the feedback from all of those connections into topics, deduplicated findings with the evidence and reporter counts attached. Our MCP server hands your agent that synthesis.

Now the agent can just ask.

What your agent gets

Connect Modem over MCP and your coding agent gains three things:

  • Read tools: search_modem takes a plain-English question and searches your synthesized topics, returning findings with their evidence and reporter counts attached.
  • Write tools: merge_topics for duplicates, update_topic to reprioritize, create_companies to create or link companies, and more, all without leaving the session.
  • Subagent: invoke_modem_agent runs the full Modem agent, for questions that need Slack, Gong, Intercom and topics reasoned over together.

Building with user feedback

Neil Chudleigh builds superwhisper, an AI-powered dictation app for macOS. He was mid-PR on a paste-detection bug: the recording window hung after dictating into Electron and browser apps, but worked in Apple Notes. From inside the coding session, he asked Modem what users had said. The reply:

The agent's reply, recreated and condensed: user reports from Modem, grouped by how they relate to the fix in progress. Usernames removed.

The results are grouped by relevance to the fix they had open. A dashboard cannot do that; it does not know what you are building.

That top result is one of Modem's topics: reports from Slack and Discord, deduplicated into a single finding with a reporter count. Neil never had to read the 400 messages behind it.

Reports from different sources converge into one Modem topic. Reports paraphrased.

Neil's verdict at the end of the session:

pretty useful from mcp today

We'll take it.

How we wrote this post

We found that story with the MCP server. To prep for writing this post, we asked the Modem MCP:

what have customers said about our mcp server?

That one question turned up customers who had asked for an API months before it existed. It also resurfaced Neil's story above, highlighting both his experience and his quote as evidence. Along the way we found a gap in our own product and filed a Linear issue for it from the same session, using the write tools.

Token efficient

Using Modem to search customer feedback is fast and token efficient. You can of course query each source directly — Slack, Linear, GitHub, Intercom — but those sources hand back raw threads and tickets, and the agent pays for every token it reads while piecing them together.

We measured it: the same question in a fresh Claude Code session, restricted to one source at a time. Modem typically answered from a single search_modem call. The other sessions searched, pulled threads and issues, and reconciled what came back.

SourceTool callsTokens / questionsame question, fresh sessionvs Modem
Modem · MCP128,255baseline
GitHub · gh CLI3266,4042.4×
Linear · MCP1070,9662.5×
Slack · MCP1072,1802.6×
All three · one session14129,5584.6×
Mean tokens over 3 runs per source, Sonnet 5 / Claude Code. Tokens counts what enters the context window: input, cache writes and output. Tool calls is the median per session. The combined bar is split by each source's share of what those sessions retrieved.

Any single source used at least 2.4× the tokens, for a partial answer; each one only knows its own silo. Matching Modem's coverage meant querying all three in one session, at 4.6× the tokens. The synthesis had already happened before the session started, so the agent read findings instead of threads.

The pattern is not specific to one model. We reran the head-to-head — all three sources in one session versus Modem alone — with Opus 5 and Fable 5 in Claude Code, GPT-5.6 Sol in Codex CLI, and GLM 5.2 in opencode:

ModelTokens / questionsame question: Modem MCP alone vs all three sourcesvs Modem
Fable 5 · Claude CodeModem22,264All 361,8752.8×
Opus 5 · Claude CodeModem33,134All 3116,3703.5×
Sonnet 5 · Claude CodeModem28,255All 3129,5584.6×
GPT-5.6 Sol · Codex CLIModem30,995All 3181,2205.8×
GLM 5.2 · opencodeModem8,388All 3112,67813.4×
Mean tokens over 3 runs per cell, using each harness's own usage accounting; compare within a row, not across harnesses.

Every model paid a multiple for skipping the synthesis, from 2.8× (Fable 5) to 13.4× (GLM 5.2). GPT-5.6 Sol worked hardest for its aggregate answer, averaging 61 tool calls per session; one run made 95.

Get started

In Claude Code:

claude mcp add --transport http modem https://mcp.modem.dev/mcp

Then run /mcp to authorize. Auth is OAuth in the browser; there is no API key to provision. Cursor, VS Code, Copilot, Codex and opencode connect to the same endpoint over Streamable HTTP, and the docs have the per-client config.

Then ask about whatever you are working on, the way you would type it mid-PR:

i'm fixing the timeout on file uploads. what users have hit this and what did they say?

If you want to push context into Modem from your own systems, there is also a public API at api.modem.dev/v1. That one deserves its own post, coming soon; the API reference has the details today.

Connect it and ask about the thing you are building today.

Modem

Give your agent the customer context.

Connect Modem's MCP server and your customer feedback is one question away, inside the session you already have open.