MCP server for in-app feedback Triage feedback from your AI agent.
fedo’s MCP (Model Context Protocol) server lets Claude Code, Codex, Cursor and other clients that accept a bearer token read your feedback boards and, with a write token, triage them. On the Plus and Pro plans.
Claude Code · one command, with a token from Settings → MCPCodex, Cursor, VS Code and others
claude mcp add --transport http fedo https://mcp.getfedo.com/mcp --header "Authorization: Bearer <your token>"- Endpoint
mcp.getfedo.com/mcp- Transport
- Streamable HTTP
- Auth
- Bearer token,
fedo_pat_… - Plans
- Plus and Pro. Not on Starter
- Tools
- 4 read, 6 write
- Limit
- 120 requests a minute per token
Set up in three steps
You need a Plus or Pro plan. The dashboard’s Connect a client tab shows these snippets with the URL and your new token already filled in.
Make a token
In the dashboard: Settings → MCP → Tokens → New token.
- Name
- So you can tell your tokens apart, e.g. “Claude Code on my laptop”.
- Access
- Read: see boards, feedback and comments. Read + write: also change status, and create, edit or delete feedback and comments.
- Expires after
- 30, 90 (default) or 365 days.
The token is shown once, so copy it before you close the dialog. You can have up to 20.
Add the server to your client
Replace <your token> with yours.
Terminal
Claude Code1 step
Run this in a terminal.
claude mcp add --transport http fedo https://mcp.getfedo.com/mcp --header "Authorization: Bearer <your token>"Check it works: Run /mcp in Claude Code: fedo shows as connected.
Codex2 steps
Add the token to your shell profile (~/.zshrc or ~/.bashrc), then open a new terminal.
export FEDO_TOKEN="<your token>"Add the server.
codex mcp add fedo --url https://mcp.getfedo.com/mcp --bearer-token-env-var FEDO_TOKENCheck it works: Run /mcp in Codex: fedo shows as connected.
OpenCode1 step
Add this to ~/.config/opencode/opencode.json.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"fedo": {
"type": "remote",
"url": "https://mcp.getfedo.com/mcp",
"oauth": false,
"headers": { "Authorization": "Bearer <your token>" }
}
}
}Check it works: Restart OpenCode and fedo’s tools are there.
Gemini CLI1 step
Add this to ~/.gemini/settings.json.
{
"mcpServers": {
"fedo": {
"httpUrl": "https://mcp.getfedo.com/mcp",
"headers": { "Authorization": "Bearer <your token>" }
}
}
}Check it works: Run /mcp in Gemini CLI: fedo shows as connected.
Editors
Cursor1 step
Add this to ~/.cursor/mcp.json.
{
"mcpServers": {
"fedo": {
"url": "https://mcp.getfedo.com/mcp",
"headers": { "Authorization": "Bearer <your token>" }
}
}
}Check it works: Cursor’s MCP settings show fedo as connected.
VS Code1 step
Run “MCP: Open User Configuration” and add this, so the token stays out of your repo.
{
"servers": {
"fedo": {
"type": "http",
"url": "https://mcp.getfedo.com/mcp",
"headers": { "Authorization": "Bearer <your token>" }
}
}
}Check it works: Copilot Chat in agent mode can now use fedo.
Apps
Claude Desktop1 step
Open Settings › Developer › Edit Config and add this to claude_desktop_config.json. It needs Node.js.
{
"mcpServers": {
"fedo": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.getfedo.com/mcp", "--header", "Authorization:${FEDO_AUTH}"],
"env": { "FEDO_AUTH": "Bearer <your token>" }
}
}
}Check it works: Restart Claude Desktop and fedo shows in its tools menu.
Other client1 step
Any client that supports MCP over streamable HTTP with a custom header.
URL https://mcp.getfedo.com/mcp
Transport Streamable HTTP
Header Authorization: Bearer <your token>Not yet: claude.ai and ChatGPT. They need OAuth sign-in, which is coming soon.
Try a prompt
“Summarize this week’s feedback.” · “Which feedback in review has the most votes?” · “Mark the three most-voted planned items as in progress.” The last one needs a Read + write token.
Tools
The agent always acts as you, an admin on each of your boards, like the dashboard. One token works on every board you belong to. Statuses go over the wire as in_review, planned, in_progress, done (Shipped) and closed.
| Tool | What it does | Token |
|---|---|---|
| Read · any token | ||
list_boards | Your boards, with how much feedback each one holds. | Read |
list_feedbacks | One board’s feedback. Filter by status, search titles and bodies, sort by newest, oldest, votes or comments. Up to 100 a page. | Read |
get_feedbacks | Up to 50 feedback by id, with the full text. | Read |
list_comments | One feedback’s comments in thread order, each reply under its parent. | Read |
| Write · 1 to 50 items per call, one result per item; a failed item doesn’t stop the others | ||
create_feedbacks | Posts feedback that shows in your app right away, under your name with an admin badge and your vote. | Read + write |
update_feedbacks | Changes the title, body or status of any feedback on your boards, your users’ included. | Read + write |
delete_feedbacks | Deletes feedback for good, with its comments and votes. | Read + write |
create_comments | Comments and replies, under your name with an admin badge. | Read + write |
update_comments | Edits your own comments. Only yours. | Read + write |
delete_comments | Deletes any comment on your boards. | Read + write |
What it can’t do
It can’t vote, merge feedback, create or edit boards, manage board users, or act as one of your app’s users, whatever the token. The permissions table has the full list.
Example prompts
What the agent calls for each one. Feedback titles in these examples are illustrative. Five longer workflows, and how other feedback tools’ MCP servers compare, are in the guide Triage feature requests with an MCP server.
| Prompt | Calls | What changes | Token |
|---|---|---|---|
| Summarize this week’s feedback. | list_boardslist_feedbacksget_feedbacks | Nothing. Read only. | Read |
| Which feedback in review has the most votes? | list_feedbacks | Nothing. Read only. | Read |
| Mark the three most-voted planned items as in progress. | list_feedbacksupdate_feedbacks | 3 statuses: Planned → In progress. | Read + write |
| Reply to everything marked Shipped this week saying it’s live. | list_feedbackscreate_comments | New comments in your app, under your name with an admin badge. | Read + write |
| Find duplicates of ‘Export to CSV’ and list their ids. | list_feedbacksget_feedbacks | Nothing. Read only. | Read |
Permissions and safety
| Action | Read | Read + write |
|---|---|---|
| See boards, feedback and comments | Yes | Yes |
| Search, filter and sort feedback | Yes | Yes |
| Change status | No | Yes |
| Create feedback | No | Yes |
| Edit any feedback’s title or body | No | Yes |
| Delete feedback, by id | No | Yes |
| Comment and reply | No | Yes |
| Edit comments | No | Your own only |
| Delete any comment, by id | No | Yes |
| Vote | No | No |
| Merge feedback | No | No |
| Create or edit boards | No | No |
| Manage board users | No | No |
| Act as one of your app’s users | No | No |
Feedback the agent creates includes your vote, as its author.
- Your yes before every write. Update and delete tools are marked destructive, so your client asks before it runs them. The server also tells the agent to show you what will change and wait for a yes before any write.
- Deletes by id only.
delete_feedbacksanddelete_commentstake explicit ids, never a filter, and can’t be undone. - Your users’ text is data. Feedback is written by your app’s users and could contain text aimed at the model. The server returns it only as data, and tells the model to treat it as data, never as instructions.
- No emails. Authors come back as a name and an admin flag. No email addresses.
- Tokens you can see and kill. Shown once when you make it. Expires after 30, 90 or 365 days. The list shows when each was last used; deleting one revokes it at once. Up to 20 per account.
- Bounded. Each write call takes 1 to 50 items and reports one result per item; a failed item doesn’t stop the others. 120 requests a minute per token.
FAQ
Which plans include the MCP server?
Plus and Pro. Starter, the free plan, doesn’t include it. Plus and Pro are in early access, so the price comes by email: see pricing.
Which AI clients work?
Claude Code, Codex, OpenCode and Gemini CLI in the terminal. Cursor and VS Code. Claude Desktop, through the mcp-remote bridge, which needs Node.js. And any other client that supports MCP over Streamable HTTP with a custom header.
Does it work with ChatGPT or claude.ai?
Not yet. Both need OAuth to connect, and fedo’s server takes a token in a header for now. They’re coming soon.
Can the agent delete things?
Only with a Read + write token, and only by id: the delete tools take explicit ids, never a filter like “everything in Closed”. Your client asks before running them, and deletes can’t be undone. A Read token can’t change anything.
What if a user writes instructions into their feedback?
The server returns feedback and comments only as data and tells the model to treat them as data, never as instructions. Writes still wait for your yes, and deletes still need explicit ids.
How do I revoke a token?
Delete it under Settings → MCP → Tokens. It stops working at once. Tokens also expire on their own after 30, 90 or 365 days.