Skip to main content

MCP server for product feedback

Feedback that arrives through the API is classified as bug, feature request, praise, billing or support. With the MCP server connected, the agent working in your codebase can read that queue, so "what are users reporting about the importer?" is answered next to the code that needs fixing.

Get an API key → Feedback API overview

Things to ask

  • Show me the latest bug reports.
  • How many feature requests came in this week, and what are they about?
  • Log this as feedback from user 4812: the export button does nothing on Safari.
  • Route bugs to our GitHub repo acme/app.

One call, start to finish

You type: “Show me the latest bug reports.” The agent calls list_feedback with:

{
  "classification": "bug",
  "limit": 20
}

Returned to the agent: A list of submissions with id, text, classification, confidence and page URL, plus a cursor if there are more.

Tools and arguments

submit_feedback

Indie and Builder

Submit, classify, and route user feedback

feedback_textrequiredstring, max 2,000Verbatim user feedback text. Do not paraphrase.
user_idoptionalstring, max 256Identifier of the user who submitted the feedback.
emailoptionalstring, max 254Submitter's email, if they want a reply. Never guess it.
page_urloptionalstring, max 2,048URL the user was on when leaving feedback.
category_hintoptional"bug" | "feature_request" | "praise" | "billing" | "support"Pre-classification hint when the agent is confident.

list_feedback

Read-only

List recent feedback submissions

limitoptionalnumber, 1–100Page size (default 25).
cursoroptionalstringOpaque cursor from a previous page's meta.next_cursor.
classificationoptional"bug" | "feature_request" | "praise" | "billing" | "support" | "uncategorised"Filter results to one classification.
statusoptionalstring, max 40A lifecycle status, or "open" for everything not yet reviewed or resolved.

update_feedback

Mark feedback reviewed or resolved, or fix its category

feedback_idrequiredstring, max 64Feedback id from list_feedback, e.g. "fb_...".
statusoptional"reviewed" | "resolved"
classificationoptional"bug" | "feature_request" | "praise" | "billing" | "support" | "uncategorised"Only to correct a wrong classification.

configure_feedback_routing

Configure a feedback routing destination (email/linear/github/slack)

destinationrequired"email" | "linear" | "github" | "slack"Which destination to configure. One of: email, linear, github, slack.
destination_emailoptionalstring[email] Address to send feedback notifications to.
api_keyoptionalstring[linear] Linear personal or workspace API key (lin_api_...).
team_idoptionalstring[linear] Linear team ID (from team Settings → API).
assignee_idoptionalstring[linear] Linear user ID to assign created issues to.
personal_access_tokenoptionalstring[github] GitHub PAT with repo scope (or fine-grained issues:write).
owneroptionalstring[github] GitHub username or organisation name.
repooptionalstring[github] Repository name without the owner prefix.
assigneeoptionalstring[github] GitHub username to assign created issues to.
label_mapoptionalobject[linear/github] Map feedback category → destination label. e.g. { bug: 'bug', feature_request: 'enhancement' }
webhook_urloptionalstring[slack] Incoming Webhook URL (https://hooks.slack.com/services/...).

Behaviour worth knowing

  • Submitting feedback is part of the Indie and Builder plans. On Free, submit_feedback answers PLAN_UPGRADE_REQUIRED; list_feedback works but has nothing to list.
  • submit_feedback takes between 10 and 2,000 characters of text. A category_hint can be passed; classification still runs and reports its own confidence.
  • configure_feedback_routing replaces any existing configuration for the same destination. It creates and updates but does not delete.
  • Routing credentials (a Linear API key, a GitHub token, a Slack webhook URL) pass through the agent. The tool description tells it to ask for consent first and never to repeat the secret back.

Questions

Which routing destinations exist?
Email, Linear, GitHub and Slack. Which of them a project can use depends on its plan; a destination the plan does not include is refused with ROUTING_DESTINATION_NOT_ALLOWED and a link to upgrade.
Is feedback text sent to an AI provider?
Yes, to Anthropic, for classification only. Under the API terms it is not used for training. Your own agent additionally sees whatever list_feedback returns to it.
Can the agent change the status of a feedback item?
Not through MCP today. Status updates are a REST call, PATCH /v1/feedback/{id}, or a click in the dashboard.