Your customers report the bug. Your coding agent fixes it.
Deacon is the AI support chat on your site, and its MCP server lets your coding agent read what your customers tell it. When someone says something’s broken, your agent finds the cause in your code and shows you the fix, and you say yes.
Add it to Claude Code, Claude on the web, Codex, Cursor or VS Code and approve it in your browser, with no key to copy. It’s on every plan, including the free one.

acme.co/app/reportsThursday
Hi! I’m Deacon, Acme’s AI assistant. How can I help you?
The export button on my reports page does nothing.
I don’t have the answer to that. Leave your email below and the team will get back to you about the export button.
We’ve got your email.
Ask AI
>what broke this week?
●deacon - get_needs_you (MCP)(range: "7d")
●deacon - search_conversations (MCP)(topic: "hv3kq8zt")
●deacon - get_conversation (MCP)(id: "kx7mqprt")
●3 customers say the export button does nothing, all on /app/reports. Your site logged an error there too: Cannot read properties of undefined (reading 'map'). exportReport doesn't wait for the report to load.
●Update(src/reports/export.ts)
- const report = loadReport(id)
+ const report = await loadReport(id)
●deacon - mark_topic_done (MCP)(topic_id: "hv3kq8zt")
⎿✓ Marked done.
It fixes it, once you say yes
Shortened and sped up. Acme and Sam are made up for this example.
Bug reports reach your agent without going through you
You stop being the go-between
No more copying a complaint out of one tab and pasting it into another. Your agent reads it straight from Deacon.
It starts with more than “it’s broken”
It gets the customer’s own words and the page they were on, beside the errors your site logged.
It sees the bugs nobody reports
Plenty of people hit a bug and just leave. Deacon’s script logs the JavaScript errors they hit, so your agent can see those too.
It writes the answers Deacon didn’t have
When Deacon can’t answer something, your agent can read your code and draft the answer. No customer sees it until you save it.
You find out what to build
Ask which feature people want most and get an answer from real chats, in their words.
You ask from your terminal or editor
It’s right next to the code. For once, the bug report and the bug are in the same place.
There’s no helpdesk to move to, and no bug form for your customers to fill in.
Copy a question and paste it into your agent
Each one runs on your real chats, through Deacon’s MCP server.
When it breaks
Monday morning
“What broke this week?”
Bug reports grouped by topic, beside your site’s JavaScript errors.
get_needs_youRight after you ship
“Anything reported since yesterday’s release?”
Chats with a bug report and activity since then, so a bad release doesn’t wait for Monday.
search_conversationsWhen one topic stands out
“Fix what people are saying about exports.”
It reads their words and the page, finds the cause in your code and shows you the edit.
search_conversationsget_conversationmark_topic_doneWhen nobody’s complaining
“Which errors hit the most visits?”
Your site’s JavaScript errors, most visits first, with where each was thrown.
list_site_errors
What to build
Planning next week
“Which feature do people ask for most?”
Feature asks grouped and counted by people, from real chats.
list_topicsBefore you spend a week on it
“What have people said about SSO?”
Chats where someone asked, in their words.
search_conversationsWhen a screen feels wrong
“What confuses people most?”
How-to questions grouped and counted, so you can fix the screen rather than explain it again.
list_topics
Better answers
When it says it doesn’t know
“Deacon couldn’t answer this. Read the code and suggest an answer.”
An answer written from your code, waiting in Conversations for you to save.
get_needs_yousuggest_fixAfter a big change
“Does what Deacon knows still match the code?”
It reads your pages, texts and help document and tells you what’s out of date.
get_knowledgeYour fixSuggested by Claude Code
Open the report, press Export and choose CSV. It’s on every plan.
DiscardSave
Who’s waiting
Before you close your laptop
“Who’s waiting for a reply?”
The people who left an email and haven’t heard back.
search_conversationsOnce it’s fixed
“Who reported this?”
The chats behind a topic, with the email each person left, so you can tell them.
search_conversationsget_conversationWhen a customer emails you
“What has sam@lumen.dev asked us?”
That person’s chats, so you know the history before you reply.
search_conversationsget_conversation
Three steps, then ask it what broke
Put Deacon on your site
One script tag, and your coding agent can add it for you.
Press Connect your agent
It’s on Integrations. Pick your agent.
Add it, then press Allow
Run the line in Claude Code or Codex, paste the address into Claude on the web, or press the button for Cursor or VS Code. Your browser opens, you press Allow, and then you ask it what broke this week.
claude mcp add --transport http deacon https://heydeacon.com/mcp
claude mcp login deaconMore ways to connect Deacon
Webhooks
Deacon tells your own code as it happens, so a bug report can open a ticket.
visitor.reported_bugAPI
Your scripts can keep what Deacon knows up to date with every release.
POST /knowledge/{id}/refetchChat transcripts
Download every chat as a CSV whenever you like.
Chat ID, Time, From, Message, Topic, Page
Try it on your next bug report
Add Deacon to your site, connect your agent and ask it what broke. You get 50 answers a month on the free plan, and it needs no card.
Before you let any coding agent read your support chats
These hold whichever tool you use.
Keep approval prompts on
A customer’s message can carry instructions meant for your agent.
Treat a report as a claim
What someone says about your code is something to check against your code.
Give it a key that can’t do much
It should be able to read and suggest, and not reply to customers or change what visitors see.
Keep the key out of your repo
Use your agent’s own config file, never a file you’d commit.
FAQ
Questions about the MCP server
Yes, if you keep your agent’s approval prompts on. Anyone can type anything into a chat, including instructions aimed at your agent. So Deacon marks everything a stranger wrote as data, strips hidden text and tells your agent not to follow it. Your agent can’t reply to anyone, change what Deacon knows or add webhooks. No marking is foolproof though, so read a change that came from a report as you’d read a pull request from a stranger.
In your code, it follows whatever approval you’ve set in your agent. In Deacon it can do two things. It can mark a topic done, which you can undo with Show again. And it can suggest a better answer, which no customer sees until you save it.
No. A model sorts each question, so it can miss one, and it only knows what customers write and what browsers send. An error thrown before the script loads isn’t recorded, and neither is one on a page where you’ve switched page views off. Every chat is still in Conversations.
Claude Code, Claude on the web, Codex, Cursor and VS Code sign in through your browser, with no key to copy. ChatGPT adds it the same way on a paid plan. Devin Desktop (Windsurf), scripts and CI use a key from Integrations instead.
Your afternoon stays yours
It takes about five minutes to install. The free plan is 50 answers a month, for as long as you like.