Claude Code
Connect your feedback.tools surveys to Claude Code (the CLI) so you can ask about your feedback from the terminal — "What are the top bugs this month?", "Summarize the latest responses." It reads your survey data and can import feedback, but can't change or delete anything.
Need a token first? See Before you start.
There are two ways to add it. Option A (one command) is quickest; Option B edits the config file directly, which is handy if you want to check it into a project.
Option A — One command
Run this in your terminal, replacing mcp_live_YOUR_TOKEN_HERE with your token:
claude mcp add --transport http feedback-tools https://feedback.tools/mcp \
--header "Authorization: Bearer mcp_live_YOUR_TOKEN_HERE"By default the server is added at local scope (this project, just you). To make it
available everywhere, add --scope user; to share it with your team via a checked-in
.mcp.json, use --scope project.
Option B — Edit the config file
Add the server to your MCP config yourself:
- Project (shared, checked into git):
.mcp.jsonin the project root. - User (all your projects):
~/.claude.json.
{
"mcpServers": {
"feedback-tools": {
"type": "http",
"url": "https://feedback.tools/mcp",
"headers": {
"Authorization": "Bearer mcp_live_YOUR_TOKEN_HERE"
}
}
}
}Replace mcp_live_YOUR_TOKEN_HERE with your token and save.
Keep
"type": "http". An entry with aurlbut notypeis read as a local (stdio) server and skipped.
Prefer not to commit the token?
.mcp.jsonsupports env expansion — use"Authorization": "Bearer ${FT_TOKEN}"and setFT_TOKENin your shell. A project-scoped server also asks for your approval the first time; runclaudeto approve it.
Verify
Check it's registered:
claude mcp listfeedback-tools should be listed as connected. Then start Claude Code and ask:
List my surveys in feedback.tools.
Claude will ask permission to use the tool the first time — allow it. If your surveys come back, you're connected. Try "What's the CSAT for my Onboarding survey?" next.
Troubleshooting
| Problem | Fix |
|---|---|
feedback-tools not listed / failed | Check the entry has "type": "http" — a url with no type is treated as a local server and skipped. Run claude mcp list to see the connection status. |
| "Unauthorized" / connection failed | Check the token is copied in full (starts with mcp_live_) and the header reads Authorization: Bearer <token>. A rejected header fails the connection rather than falling back — revoke and create a fresh token if unsure. |
| Server added but not visible in a project | Scope matters — a local server only applies where you added it. Re-add with --scope user to use it everywhere. |
| "Data is locked" for a survey | That survey's subscription has lapsed — reactivate it. The survey list stays visible regardless. |