s statusline.ai Get early access
The Quo / OpenPhone MCP server · Works with Claude, Cursor, Hermes, and any AI agent

Your AI assistant can now read your calls.

Statusline's MCP server plugs every call and text on your Quo (formerly OpenPhone) line into Claude, Cursor, Hermes, or whatever AI you already use. Already classified. Already summarized. Already searchable. Ask in plain English. Get answers with receipts.

Server URL https://statusline.ai/mcp
✓ Read-only by default ✓ Scoped to your business only ✓ Five tools, zero prompt engineering ✓ Built for ops agents too ✓ Included with Statusline
The obvious question

Quo already has a Claude connector. Why not just use that?

You can. It's a good power tool, and the two don't conflict. The difference is who does the reading. Quo's connector hands your AI the recordings and lets it work them out, 100 records at a time, every time you ask. Statusline read every call the minute it ended. Your AI starts from the answer.

Quo's Claude connector Statusline MCP
What your AI gets Raw recordings, transcripts, and texts. Up to 100 records per request, so "last month" is several pulls and a lot of reading. Every call and text already classified, summarized, and scored. Ask for the month, get the month.
When the work happens When you ask. The AI reads the transcripts and works out what happened, from scratch, every time. The moment a call ends. By the time you ask, the analysis is already done and waiting.
Alerts Not part of it. You'd have to ask, and remember to ask. AI Alerts fire the minute a call matches a rule you wrote in plain English. Your agent reads them with one tool call.
Coaching You write the scorecard, upload it, and run it. Coaching flags and key moments on every call, tuned for home-services phones. Nothing to write.
Your daily briefing You build a scheduled task and wire up where it gets delivered. Written for you and refreshed after every few calls. One tool call to read it.
Who it thinks you are A business. A home-services business. It knows a move-out estimate is not a recurring re-book.
Where it works Inside Claude. Claude, Cursor, Hermes, your own agent, or the Statusline dashboard with no AI account at all.

Run both if you like. Quo's connector is the right tool for raw access to a recording. Statusline is the layer that has already done the reading, so your AI, or your agent, can get on with the deciding.

What it looks like

You ask. Claude picks the tool. You get the answer and the call behind it.

No dashboard to open. No report to build. The same questions you'd ask a good office manager, answered from the actual calls. And if you run an ops agent, it can ask without you.

What happened on our phones yesterday? Anything I need to deal with today?

Used get-status-update-tool · period: yesterday

Yesterday: 23 calls. Two quotes turned into bookings, one first-time caller walked on price.

Wins

  • Karen booked a recurring biweekly clean on the first call, $180 a visit.
  • Tuesday's move-out quote called back and confirmed for Friday.

Watch

  • Sarah Reyes asked about pricing twice and didn't book. Nobody has called her back. (call 6281)
  • A customer said the cleaner arrived 40 minutes late. She sounded frustrated. (call 6279)

Want me to pull either transcript?

Which calls this week have coaching flags? Show me where each one went sideways.

Used list-calls-tool · period: last7, call_type: new_inquiry
Used get-call-tool · call_id: 6281, include_transcript: true

4 of this week's 19 new inquiries have coaching flags. Same pattern in all four: price came up, and nobody offered the recurring-clean discount.

  • Sarah Reyes · Tue · move-out, ~$340 · price objection not handled
  • Chris Smith · Wed · move-in, ~$420 · no booking attempt
  • D. Nakamura · Thu · deep clean, ~$260 · didn't ask for a date
  • Unknown caller · Fri · recurring · put on hold, never picked back up

The moment from Sarah's call:

Caller: "That's a bit more than I was expecting… let me think about it."
Agent: "Sure, just give us a call back."

Nothing offered, no follow-up set. Want a one-paragraph coaching note for the team?

Find the call where someone mentioned mold in a bathroom. What did we quote?

Used ask-ai-tool

Found it. Tuesday, 2:14pm, inbound from a first-time caller. Maya took it.

The caller described "black spots on the bathroom ceiling" and asked whether a deep clean would handle it. Maya said yes for surface mold, quoted $260, and offered Thursday morning. The caller said she'd check with her landlord. No booking yet, no callback scheduled.

That's /calls/6274. Want the full transcript, or should I check whether she's called back since?

5:00 PM cron · end-of-day lap
Used list-alerts-tool · period: today
Used get-status-update-tool · period: today

Kimo APP · 5:00 PM

End-of-day lap. Two things were promised on today's calls that nobody has closed:

  • A repeat customer was told someone would call back about a 15% refund on Tuesday's clean. No outbound call or text since 11:40am. (call 6288)@scheduling
  • A first-time caller asked for a Thursday deep-clean quote in writing. Nothing sent yet. (call 6291)@sales

One alert fired today: "customer threatens a bad review" on call 6279, confidence 0.91. Drafted a reply for Jim to approve in the thread.

Briefing: 19 calls, 3 bookings, $1,120 quoted. Full write-up in tomorrow's diary.

This is the division of labour: Statusline is the call-intelligence layer that has already read every call. Your agent, whether it's Hermes, a custom build, or a scheduled Claude task, is the quarterback that acts on it across Slack, scheduling, and email. Neither one has to rebuild the other.

Illustrative conversation. Names and numbers are made up; the tools and the shape of the answers are real.

Setup

One URL. One key. Done.

If you can paste a link, you can connect it. If you'd rather not, send this page to whoever set up your AI tools and they'll have it done in two minutes.

1

Get your key.

Every Statusline workspace can have an MCP key. Ask us and it arrives the same day. It only opens your business, nobody else's.

Same day

2

Add the server.

Give your AI tool the server URL and the key. Claude Code is one command. Cursor and VS Code are four lines of JSON. Instructions below.

2 minutes

3

Ask.

Ask about your calls the way you'd ask a person. The AI picks the right tool, reads the calls, and answers with the call IDs to back it up.

Every day after

Prompts for your calls

Six things to ask on day one.

Copy, paste into Claude, hit enter. Each one maps to a tool below, but you never have to know that.

Morning check-in

"What happened on our phones yesterday? Anything I need to deal with today?"

Missed money

"Show me every lost sale from the last 30 days and the reason we lost each one."

Coaching

"Which calls this week have coaching flags? Give me the moment in each call where it went sideways."

Alerts

"Any alerts fired since Friday? Summarize them and tell me which one to call back first."

One caller

"Pull up everything we have with the caller who asked about a move-out clean on Tuesday."

Search

"Find the call where someone mentioned mold in a bathroom and tell me what we quoted."

The MCP tools

Five tools to read your calls. One that thinks. Six to set things up.

The read tools never change anything. The set-up tools create alert rules and register webhook URLs, and nothing else; they're marked as writes so your AI asks you before running them. Nothing touches another business. Every call ID any tool returns can be handed to get-call-tool for the full story.

get-status-update-tool Read-only

Your Status Update

The AI-written briefing from your Statusline home screen: a headline, what went well, what needs attention, and the calls behind each point. Today or yesterday.

Inputs period: today | yesterday
list-calls-tool Read-only

Find calls

Classified call summaries filtered by date, type, outcome, sentiment, service, agent, or an exact word. Every result comes with a call ID.

Inputs period call_type call_outcome sentiment min_intensity service_type agent_name q limit ≤ 25
get-call-tool Read-only

Open one call

Everything about a single call: type, outcome, sentiment, quote amount, key moments, coaching flags, summary, and the speaker-tagged transcript if you ask for it.

Inputs call_id include_transcript max_chars
list-alerts-tool Read-only

Fired alerts

Every AI Alert that fired: the rule, the confidence, the quote from the call that tripped it, and the call ID to dig in.

Inputs period include_dismissed limit ≤ 50
ask-ai-tool Uses Ask AI

Ask the analyst

Hand a question to Statusline's own Ask AI: revenue math, lost-deal breakdowns, semantic search across every conversation. Pass the conversation ID back to keep the thread going.

Inputs question conversation_id
Set-up tools Writes · your AI asks first

So an agent can wire itself up without you opening the dashboard: tell Statusline what to watch for, and where to send it.

add-alert-tool

Create an alert rule in one plain-English sentence. New calls are checked against it from then on. No backtesting over MCP yet.

list-alert-rules-tool

See the rules already in place, so the agent doesn't create a duplicate.

add-webhook-tool

Register an https URL. Every fired alert is POSTed there as JSON, signed with a secret shown once. Retried three times, then switched off after ten straight failures.

test-webhook-tool

Send a sample payload right now and get back whether the URL accepted it.

list-webhooks-tool

Every registered URL with its delivery health: last success, last failure, what went wrong.

remove-webhook-tool

Take a URL out. Deliveries stop immediately.

Connect

Connect Claude, Cursor, Hermes, or any MCP client.

Replace YOUR_KEY with the key we send you. The server URL is the same everywhere.

One command in your terminal, then restart Claude Code. Type /mcp inside a session to confirm the five tools are listed.

claude mcp add --transport http statusline https://statusline.ai/mcp \
  --header "Authorization: Bearer YOUR_KEY"

Hermes reads ~/.hermes/config.yaml. Add the server there, put the key in ~/.hermes/.env as STATUSLINE_MCP_KEY, and restart. The five tools register as mcp__statusline__*, so any profile or cron job can call them, which is exactly how the end-of-day lap above runs.

mcp_servers:
  statusline:
    url: "https://statusline.ai/mcp"
    headers:
      Authorization: "Bearer ${STATUSLINE_MCP_KEY}"

Already running? /reload-mcp picks up the change without a restart. Want Hermes to only read? Everything but ask-ai-tool already is, but you can also list it under tools: exclude:.

Add this to ~/.cursor/mcp.json (or Settings → MCP → Add new server). Cursor lists the tools as soon as the file saves.

{
  "mcpServers": {
    "statusline": {
      "url": "https://statusline.ai/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}

Add this to .vscode/mcp.json in your workspace, then run MCP: List Servers from the command palette and start it.

{
  "servers": {
    "statusline": {
      "type": "http",
      "url": "https://statusline.ai/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}
  1. Open Customize (or Settings) → ConnectorsAdd custom connector.
  2. Name it Statusline. Server URL: https://statusline.ai/mcp.
  3. Authentication: No sign-in. Under Request headers, add Authorization with the value Bearer YOUR_KEY.
  4. Click Add. In any chat, open the + menu → Connectors and switch Statusline on.

Request headers on custom connectors are still rolling out across Claude plans. If you don't see the field yet, connect through Claude Code or Cursor, or ask us and we'll get you sorted.

MCP is an open protocol. Any client or agent framework that supports remote servers over HTTP works: point it at the URL and send the key as a bearer token. Here's the raw handshake if you're wiring it up yourself.

curl -X POST https://statusline.ai/mcp \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Building an ops agent for your business? This is the layer it should sit on, the same way the Hermes setup above does. Your agent gets classified calls, alerts, and the daily briefing without rebuilding a transcription-and-classification pipeline of its own.

Your data

It reads. It only writes what you'd set up yourself.

Your business only

Your key opens your workspace and nothing else. Every request is scoped to your organization before a single call is read.

Read-only by default

The reading tools can only look, and they tell the AI client so, which is why Claude doesn't ask permission on every call. The set-up tools (alert rules, webhook URLs) are marked as writes, so it asks first.

Nothing hidden from you

Questions asked through MCP show up in your Statusline chat history, labelled MCP, so you always know what your agent asked.

Questions

The short answers.

What is MCP, in plain English?

MCP (Model Context Protocol) is the open standard AI assistants use to plug into outside tools. Think of it as a USB port for AI. Statusline is one of the things you can plug in. Once it's connected, Claude (or whichever assistant you use) can read your call insights the same way it reads a document you paste in, except it's live and it's all of them.

Does this work with OpenPhone?

Yes. Quo is OpenPhone's new name, same product, same API. If your business line is on OpenPhone or Quo, Statusline connects to it with one API key and this MCP server sits on top. We haven't seen another MCP server built for OpenPhone call intelligence; Quo's own connector gives your AI the raw calls, this one gives it the finished analysis.

Which AI tools work with it?

Anything that speaks MCP over HTTP with an authorization header: Claude Code, Cursor, VS Code, Claude Desktop and claude.ai custom connectors, Windsurf, Hermes Agent, and custom agents built on any framework. If you can give it a URL and a key, it works.

Quo already has a Claude connector. Why would I use this?

They do different jobs, and you can run both. Quo's connector hands Claude your raw calls and texts, 100 records at a time, and leaves the reading to you: every question starts from the recordings again. Statusline processed each call the moment it ended. Your AI gets the classification, the summary, the coaching flags, the alerts that already fired, and this morning's briefing already written. It starts from the answer instead of the recording. The comparison near the top of this page has the detail.

Can the AI change anything in my account?

Only two kinds of thing, and it asks first: it can create an alert rule (the same plain-English sentence you'd type on the Alerts page) and it can register, test, or remove a webhook URL for fired alerts. It can't edit or delete calls, send messages, or touch anything else. The reading tools are marked read-only, so Claude won't nag you for approval on those, and Ask AI only creates a conversation you can see in your chat history.

Can it see other companies' calls?

No. Your key is tied to your business. Every request is scoped to your organization before a single row is read, and that boundary is covered by automated tests on every deploy.

How do I get a key?

Ask us. During early access we issue MCP keys by hand for every Statusline workspace, usually the same day. Self-service keys and sign-in with your Statusline account are on the roadmap.

What does it cost?

It's part of Statusline, not an add-on. The four read tools are free to call as often as you like. Ask AI questions through MCP count exactly like Ask AI questions in the app.

Get your key.

Already on Statusline? Drop your email and we'll send your MCP key today. Not yet? Same form. We'll get your Quo line connected first, then hand you the key.

Included with Statusline · Read-only by default · Works with Claude, Cursor, VS Code, and any MCP client