feedbackbasket-mcp-server
v3.5.1
Published
MCP server for FeedbackBasket project data access
Maintainers
Readme
FeedbackBasket MCP Server
Model Context Protocol (MCP) server for FeedbackBasket. Version 3.5.1 provides the same 42 product operations as the FeedbackBasket CLI and live Streamable HTTP server.
Use a read key for queries. Use a full key for approved writes. A project-restricted key can access only its allowed projects. Project creation and team operations need an unrestricted full key. Each high-impact operation needs confirm: true.
Use this STDIO package with an MCP key for local processes, CI, servers, and unattended automation. For remote Streamable HTTP, add https://feedbackbasket.com/.well-known/mcp to the host, save it, and select Authenticate. Sign in, select an organization, select Read or Full access, select Selected projects or All projects, and select Allow. Browser OAuth is the recommended remote setup. It is not used by STDIO.
Read is selected by default. Full needs an explicit choice and an owner or administrator role. Selected projects limits access to the approved projects. All projects includes current and future projects and is required for project creation and team operations. Existing unrestricted MCP keys remain compatible. New browser grants never receive All-projects access silently. Never put an access token, refresh token, MCP key, or CLI token in source, prompts, logs, generated configuration, or final output.
Installation & Setup
1. Generate API Key
- Log into feedbackbasket.com
- Go to Settings (sidebar)
- Scroll to MCP API Keys section
- Click New API Key
- Name your key (e.g., "Claude Code", "Cursor", "Windsurf")
- Select projects to grant access to (or leave empty for all projects)
- Copy the generated key. It is shown only once. Keep it out of source, logs, prompts, and command history.
2. Configure Your Editor
Claude Code (CLI)
Set FEEDBACKBASKET_API_KEY in the environment that starts Claude Code. Then
add the server without putting the key in the command or shell history:
claude mcp add feedbackbasket -- npx -y [email protected]On native Windows, use cmd /c npx as the command because Claude Code cannot
start npx directly there.
Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"feedbackbasket": {
"command": "npx",
"args": ["-y", "[email protected]"],
"env": { "FEEDBACKBASKET_API_KEY": "${FEEDBACKBASKET_API_KEY}" }
}
}
}Cursor / Windsurf
Add to your MCP config (.cursor/mcp.json or equivalent):
{
"mcpServers": {
"feedbackbasket": {
"command": "npx",
"args": ["-y", "[email protected]"],
"env": { "FEEDBACKBASKET_API_KEY": "${FEEDBACKBASKET_API_KEY}" }
}
}
}Environment Variable
Use an environment variable instead of the --api-key argument. This keeps
the key out of process listings and saved command history.
{
"mcpServers": {
"feedbackbasket": {
"command": "npx",
"args": ["-y", "[email protected]"],
"env": {
"FEEDBACKBASKET_API_KEY": "${FEEDBACKBASKET_API_KEY}"
}
}
}
}Usage Examples
Once configured, ask your AI assistant:
Project Overview
- "Show me all my FeedbackBasket projects"
- "How much feedback does each project have?"
Bug Reports
- "Show me all open bug reports"
- "Get high severity bugs that haven't been addressed"
- "Find bugs related to authentication"
Feedback Analysis
- "Show me negative feedback from my project"
- "Get all feature requests"
- "What are users asking for the most?"
- "Show me high priority feedback"
Search
- "Search for feedback about 'payment issues'"
- "Find feedback mentioning 'mobile'"
Agentic Workflows
- "Look at my bug reports and suggest which ones to fix first"
- "Summarize this week's feedback trends"
- "Are users happy with the new checkout flow?"
Agent capability contract
Agent surface version: 3.5.1. The CLI and both MCP transports implement the same 42 product operations.
| Product operation | CLI command | MCP tool | Required access | Confirm |
| --- | --- | --- | --- | --- |
| projects.list | projects list | list_projects | read:projects | No |
| projects.get | projects show | get_project | read:projects; allowed project | No |
| projects.create | projects create | create_project | write:projects; unrestricted key | No |
| projects.update | projects update | update_project | write:projects; allowed project | No |
| projects.delete | projects delete | delete_project | write:projects; allowed project | Yes |
| feedback.list | feedback list | get_feedback | read:feedback; allowed project | No |
| feedback.get | feedback show | get_feedback_item | read:feedback; allowed project | No |
| feedback.search | feedback search | search_feedback | read:feedback; allowed project | No |
| feedback.create | feedback create | create_feedback | write:feedback; allowed project | No |
| feedback.update | feedback update | update_feedback | write:feedback; allowed project | No |
| feedback.delete | feedback delete | delete_feedback | write:feedback; allowed project | Yes |
| feedback.bulkUpdate | feedback bulk-update | bulk_update_feedback | write:feedback; allowed project | Yes |
| feedback.export | feedback export | export_feedback | read:feedback; allowed project | No |
| bugs.list | bugs list | get_bug_reports | read:feedback; allowed project | No |
| bugs.stats | bugs stats | get_bug_stats | read:feedback; allowed project | No |
| notes.create | feedback note | create_feedback_note | write:notes; allowed project | No |
| notes.update | feedback note update | update_feedback_note | write:notes; allowed project | No |
| notes.delete | feedback note delete | delete_feedback_note | write:notes; allowed project | Yes |
| replies.list | feedback replies | list_feedback_replies | read:feedback; allowed project | No |
| replies.send | feedback reply | send_feedback_reply | write:replies; allowed project | Yes |
| widget.getSettings | widget settings | get_widget_settings | read:projects; allowed project | No |
| widget.updateSettings | widget updatewidget flow | update_widget_settings | write:widget; allowed project | No |
| widget.getScript | widget script | get_widget_script | read:projects; allowed project | No |
| mobile.get | mobile statusmobile verify | get_mobile_integration | read:projects; allowed project | No |
| mobile.update | mobile setupmobile bundlemobile conversationsmobile disable | update_mobile_integration | write:mobile; allowed project | No |
| mobile.rotateKey | mobile rotate-key | rotate_mobile_project_key | write:mobile; allowed project | Yes |
| waitlist.list | waitlist list | get_waitlist | read:feedback; allowed project | No |
| waitlist.export | waitlist export | export_waitlist | read:feedback; allowed project | No |
| team.list | team list | list_team_members | write:team; unrestricted key | No |
| team.updateRole | team role | update_team_member_role | write:team; unrestricted key | Yes |
| team.updateAccess | team access | update_team_member_access | write:team; unrestricted key | Yes |
| team.invite | team invite | invite_team_members | write:team; unrestricted key | Yes |
| team.remove | team remove | remove_team_member | write:team; unrestricted key | Yes |
| themes.list | themes list | list_themes | read:feedback; allowed project | No |
| themes.get | themes show | get_theme | read:feedback; allowed project | No |
| github.status | github status | get_github_status | read:projects; allowed project | No |
| github.draftIssue | github draft | draft_github_issue | read:feedback; allowed project | No |
| github.createIssue | github issue create | create_github_issue | write:projects; allowed project | Yes |
| github.listDrafts | github drafts list | list_github_issue_drafts | read:feedback; allowed project | No |
| github.approveDraft | github drafts approve | approve_github_issue_draft | write:projects; allowed project | Yes |
| github.rejectDraft | github drafts reject | reject_github_issue_draft | write:projects; allowed project | No |
| github.updateAutomation | github automation set | update_github_automation | write:projects; allowed project | Yes |
Security & Privacy
- Explicit access — Read keys query data. Full keys can use approved write operations.
- Project-level permissions — Restricted keys can access only selected projects.
- Confirmation — High-impact operations do not run without explicit confirmation.
- API key authentication — Secure token-based authentication
- Usage tracking — Monitor API key usage from your Settings page
- Revokable access — Deactivate or delete API keys instantly
Troubleshooting
"Invalid or missing API key"
- Check that your API key starts with
fb_key_ - Ensure the key is still active in Settings > MCP API Keys
- Verify the key has access to at least one project
"No projects found"
- Make sure your API key has been granted access to projects
- Check that you have projects in your FeedbackBasket account
Connection Issues
- Ensure Node.js 18+ is installed
- Try clearing npx cache:
npx clear-npx-cache - For local development, add
--base-url http://localhost:3000
API Key Management
Visit feedbackbasket.com/dashboard/settings to:
- Generate new API keys
- Manage project access
- View usage statistics
- Activate/deactivate keys
- Delete keys
Links
Remote ChatGPT events
Agent surface 3.5.1 adds feedback.created on the remote HTTP MCP endpoint. Event subscriptions are an explicit transport parity exemption. CLI and STDIO retain the same 42 product operations. Use ChatGPT Work or a dot with the remote plugin to subscribe; use get_feedback_item to fetch details from an event.
