API Keys & MCP Setup

Connect Claude Code, Cursor, or Claude Desktop to your Feedbapp project: search feedback, summarize clusters, and set status, directly from the agent.

1. Create an API key

Dashboard → Projects → your project → SettingsAPI KeysNew API Key. The key (format fb_live_…) is shown exactly once; copy it right away. It is scoped to the project it was created in.

2. Quick start: Claude Code (recommended)

npx feedbapp-mcp setup

The wizard asks for your key, detects the project automatically (via /api/v1/projects/me), and registers the MCP server in Claude Code. Multiple projects? Just run it again: npx feedbapp-mcp setup --list shows every entry.

3. Manual: Cursor / Claude Desktop / other MCP clients

Add the server to your client's MCP configuration (Cursor: .cursor/mcp.json, Claude Desktop: claude_desktop_config.json):

{
  "mcpServers": {
    "feedbapp": {
      "command": "npx",
      "args": ["-y", "-p", "feedbapp-cli@latest", "feedbapp-mcp"],
      "env": {
        "FEEDBAPP_API_KEY": "fb_live_…",
        "FEEDBAPP_PROJECT_ID": "<Projekt-UUID>"
      }
    }
  }
}

You can find the project UUID in the URL of the settings page (/projects/<UUID>/settings).

4. Available tools

  • search_feedback semantic search across all feedback
  • list_clusters / get_cluster clusters by priority
  • summarize_cluster AI summary of a cluster
  • get_feedback full details incl. screenshot
  • mark_feedback_status set workflow status

5. Working with agents: keep the status updated while work is in progress

When an agent (e.g. Claude Code) works through your feedback, it should keep the workflow status maintained, so the board stays honest about what is being worked on and what is finished. As of feedbapp-cli 0.2.3 the MCP server gives the agent these rules automatically; the description of mark_feedback_status carries the same lifecycle.

  • new / approvedin_progress as soon as the agent picks up or plans an item, with a short note on the approach. Leave unplanned work in new.
  • in_progressdone only once the fix is implemented and verified, not just planned. If something is still open, it stays in_progress.
  • rejected for noise or test artifacts.
  • Valid values: future, new, approved, in_progress, done, rejected. mark_feedback_status is idempotent (no-op when the status is unchanged) and always writes a server-side audit row; always pass a short note.

6. Rotation & security

Keys are stored exclusively as a SHA-256 hash. During rotation, the old key stays valid for 24 hours. Revoke compromised keys immediately in Settings, and never paste them into Git or chat history.