Skip to content
GitmoapdocsBeta
Guide· How do I…?Draft

Feedback about Gitmoap

Overview

When something in Gitmoap gets in your way — a page that breaks, a capability you needed and could not find, a result you could not use, an error that did not say what to do — you can tell us in a sentence or two. You send a report from the web app, an AI agent working through Gitmoap's MCP server sends one with the gitmoap_feedback tool, and a script sends one over the API. Reports go to the people who build Gitmoap, and they are how it gets better.

A report is about Gitmoap, never about your work. Nobody in your organisation can read it, and it changes nothing anywhere — which is why an agent can send one even on a read-only connection. A bug report also tells our support desk that it arrived, so a person looks at it soon; the notice says what kind of report it is and where to read it, never what it says.

Before you start

  • A signed-in session, or an access token carrying feedback:create.In the web app you are already signed in. Both agent bundles, mcp_agent and mcp_agent_write, include the scope, so an agent you connected through either can report without anything extra.
  • A person or a service account.A pipeline's own run credential cannot send feedback; send it as the person or service account the pipeline acts for.

How it works

A report records:

WhatWhere it comes from
Its kind — bug, missing_capability, confusing_result, error, wrong_tool or otheryou, or the agent
A summary of at most 500 charactersyou, or the agent
Details of at most 5000 charactersyou, when you have more to say
The path of the page it is about, such as /acme/api/-/merge_requests/87 — the path alone, never what follows a ? or a #you, from the web app
The tool it is about, and the reference an error gavethe agent, when it has them
Who sent itthe session or token that sent it
How it arrived — from the web app, through the MCP server, or directly over the API — and the client that sent it: your browser's own description of itself, or the agent's client nameGitmoap, from the request itself; a caller cannot claim either
WhenGitmoap

The page is a path and nothing more because an address bar can carry a sign-in code or a search you did not mean to send; a report refuses one rather than keep it.

An agent decides when something got in its way. It is prompted in three places: the tool's description says when to use it, every error a Gitmoap tool returns ends with a reference and a one-line pointer to the tool, and the server's instructions mention it once. It is not asked to report after every task — a report nobody needed is noise, and reading noise is how real reports get missed.

Gitmoap keeps a report for 90 days and then deletes it. Deleting the account or service account that sent it deletes it sooner.

Note

A report should describe the problem, never the data: no code, no file content, no secrets, nothing about a person. The web app says so beside the details, the tool's description tells an agent so, and the limits leave no room to paste a file — but if you send reports from a script, the same rule is yours to keep.

How to

Report a problem from the web app

Open the help panel from the help button in the top bar of any page, select Report a problem, pick what kind of problem it is, say what happened, and send. The page you were on comes with it, and you can leave it out before you send. When an error shows a reference, Report this beside it opens the same form with the reference attached. To write to a person instead — about your account, a privacy request or anything that needs a reply — use the contact form.

Terminalbash
gitmoap feedback create-feedback \
--kind bug|missing_capability|confusing_result|error|wrong_tool|other \
--summary <summary>
curlbash
curl -X POST https://api.gitmoap.example/feedback \
-H "Authorization: Bearer $GITMOAP_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "kind": "<one of bug | confusing_result | error | missing_capability | other | wrong_tool>", "summary": "<string>" }'

Pass the reference from an error message as about when the report is about one: it lets us find the exact call in our records without you describing it.

Let an agent report

Nothing to set up. Connect the agent with either agent bundle — see AI agents and the MCP server — and gitmoap_feedback is in its tool list, on read-only connections included.

Review the reports

The queue is for Gitmoap's own administrators, in the admin console. Nobody in your organisation can read your reports, and you cannot read anyone else's.

Terminalbash
gitmoap feedback list-feedback
curlbash
curl -X GET https://api.gitmoap.example/admin/feedback \
-H "Authorization: Bearer $GITMOAP_TOKEN"

A single report, as the support desk's notice of a bug links to it. For Gitmoap's own administrators only.

Terminalbash
gitmoap feedback get-feedback --feedback-id <id>
curlbash
curl -X GET https://api.gitmoap.example/admin/feedback/{feedback_id} \
-H "Authorization: Bearer $GITMOAP_TOKEN"

Reference

3 endpoints

POST/feedbackfeedback:create

Send feedback about Gitmoap itself: a bug, a missing capability, a confusing result, an unhelpful error

create_feedbackPOST /feedbackOpen in the API reference

Token scope

feedback:create

Counts against

feedback_per_day

Send

Body
  • aboutobjectoptional
  • detailsobjectoptional
  • kindbugconfusing_resulterrormissing_capabilityotherwrong_toolWhat a report is about.
  • pageobjectoptional
  • summarystring
  • toolobjectoptional

Refuses

  • 400The report is not valid
  • 401Unauthorized
  • 403Forbidden — the caller's access level or token scope is insufficient
  • 429You have sent as much feedback as you may in a day

Receive

  • created_atstringWhen the report arrived.
  • feedback_iduuid
GET/admin/feedbackfeedback:read

The feedback people and agents have sent, newest first (platform admin)

list_feedbackGET /admin/feedbackOpen in the API reference

Token scope

feedback:read

Send

Query
  • kindbugconfusing_resulterrormissing_capabilityotherwrong_tooloptionalOnly reports of this kind
  • toolstringoptionalOnly reports about this MCP tool
  • sincestringoptionalOnly reports sent after this instant (RFC 3339)
  • limitint32optionalPage size (1-100)
  • next_tokenstringoptionalPagination cursor

Refuses

  • 400A filter is not valid
  • 401Unauthorized
  • 403Platform administrators only

Receive

  • items[]object16 fields
    • aboutobjectoptional
    • channelmcprestwebHow a report arrived. Decided by the platform from the request, never claimed by the caller.
    • clientobjectoptionalThe client application: the name an MCP client gave itself, or the User-Agent the request carried.
    • created_atstringWhen it arrived.
    • deliveryobjectoptional
    • detailsobjectoptional
    • feedback_iduuid
    • kindbugconfusing_resulterrormissing_capabilityotherwrong_toolWhat a report is about.
    • oauth_client_idobjectoptionalThe app the person approved, when the token came from connecting it by signing in.
    • pageobjectoptional
    • senderobject4 fields
      • avatar_urlobjectoptional
      • emailstring
      • idstring
      • usernamestring
    • summarystring
    • toolobjectoptional
  • next_tokenobjectoptional
GET/admin/feedback/{feedback_id}feedback:read

One report (platform admin) — what the support desk's notice of a bug links to

get_feedbackGET /admin/feedback/{feedback_id}Open in the API reference

Token scope

feedback:read

Send

Path
  • feedback_iduuidThe report's reference

Refuses

  • 400Bad request — a path parameter is not a well-formed value of its type
  • 401Unauthorized
  • 403Platform administrators only
  • 404No such report: it may have been deleted

Receive

  • aboutobjectoptional
  • channelmcprestwebHow a report arrived. Decided by the platform from the request, never claimed by the caller.
  • clientobjectoptionalThe client application: the name an MCP client gave itself, or the User-Agent the request carried.
  • created_atstringWhen it arrived.
  • deliveryobjectoptional
  • detailsobjectoptional
  • feedback_iduuid
  • kindbugconfusing_resulterrormissing_capabilityotherwrong_toolWhat a report is about.
  • oauth_client_idobjectoptionalThe app the person approved, when the token came from connecting it by signing in.
  • pageobjectoptional
  • senderobject4 fields
    • avatar_urlobjectoptional
    • emailstring
    • idstring
    • usernamestring
  • summarystring
  • toolobjectoptional

Limits

WhatLimit
Reports per person or service account50 in any 24 hours
Summary1 to 500 characters
Details1 to 5000 characters
Pagea path starting with /, at most 2048 characters, with no ? or #
Tool name1 to 64 characters, a Gitmoap tool's name
Reference1 to 128 characters
How long a report is kept90 days

The limit is the same on every plan. At 50 reports in a day, the next is refused with 429 TOO_MANY_REQUESTS and nothing is recorded; the window moves, so the first report of the day stops counting 24 hours after it was sent.

Troubleshooting

403 INSUFFICIENT_SCOPE
Cause
The token was minted without feedback:create
What to do
Mint a token with an agent bundle, or name feedback:create
400— summary must be at most 500 characters
Cause
The summary is too long
What to do
Say what got in the way in a sentence, and put the rest in the details
400— summary must not contain control characters
Cause
The summary carries a control character other than a newline or a tab
What to do
Remove it. The MCP tool drops these for you
400— page must be the path alone
Cause
The page carried a query string or a fragment
What to do
Send the path without ? or # and what follows
400— tool must be a tool name
Cause
tool is not spelled the way Gitmoap names its tools
What to do
Use the name as the tool list shows it, such as gitmoap_issue_get, or leave it out
400— A pipeline run cannot send feedback
Cause
The request carried a pipeline's own run credential
What to do
Send it as the person or service account the pipeline acts for
429 TOO_MANY_REQUESTS
Cause
50 reports were sent in the last 24 hours
What to do
Wait. If an agent is reporting in a loop, its instructions are asking it to report too often
gitmoap_feedback is missing from an agent's tools
Cause
The token lacks feedback:create, or the connection excludes the tool by name
What to do
Mint the token with an agent bundle; check the connection's tool selection