npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

feedbucket-mcp

v1.0.6

Published

MCP server for managing Feedbucket website feedback in Claude Code and Cursor

Readme

Feedbucket MCP Server

A Model Context Protocol (MCP) server that lets AI assistants (Claude Code, Cursor) manage website feedback from Feedbucket.

Beta Software: This project is in beta. Use at your own risk. Please report issues on GitHub.

Prerequisites

Before installing this MCP server, make sure you have:

  1. A Feedbucket account
  2. Feedbucket installed on your website
  3. Protected mode enabled (recommended):
    • Go to Widget Settings
    • Set "Trigger Feedbucket using a query string" to Yes
    • Save settings and copy your secret key

Quick Start

1. Install from npm

npm install -g feedbucket-mcp

2. Run the setup wizard

# For protected projects:
feedbucket-setup https://your-website.com YOUR_FEEDBUCKET_SECRET

# For public projects:
feedbucket-setup https://your-website.com

The setup script automatically:

  • Extracts the project ID from your website HTML
  • Fetches the private key from Feedbucket API
  • Configures Claude Code and Cursor

3. Restart your IDE

Restart Claude Code or Cursor to load the new MCP server.

4. Start using it

Ask your AI assistant:

  • "Show me unresolved feedback from Feedbucket"
  • "What's the feedback summary for this project?"
  • "Add a comment to feedback #12345 saying we've fixed this"

Alternative: Clone from GitHub

If you prefer to clone the repository:

git clone https://github.com/swiftcomza/feedbucket-mcp.git
cd feedbucket-mcp
npm install && npm run build
npm run setup -- https://your-website.com YOUR_FEEDBUCKET_SECRET

Available Tools

| Tool | Description | |------|-------------| | feedback_list | List and filter feedback with smart summarization | | feedback_get | Get full details of a specific feedback item | | feedback_stats | Quick project overview (total, resolved, by type, recent activity) | | feedback_comment | Add comments to feedback items | | feedback_resolve | Mark feedback as resolved | | api_status | Check API connection status |

feedback_list

List feedback with powerful filtering:

Parameters:
- resolved (boolean): Filter by resolution status
- limit (number): Items to retrieve (default: 10, max: 50)
- offset (number): Skip items for pagination
- summary (boolean): Return condensed format (default: true)
- page_filter (string): Filter by page URL (partial match)
- reporter_filter (string): Filter by reporter name
- feedback_type (string): 'screenshot', 'video', or 'text'
- created_after (string): ISO date filter

feedback_get

Get complete details for a single feedback item:

Parameters:
- feedback_id (number, required): The feedback ID

Returns full text, all comments, attachments, browser/device info, and console logs.

feedback_stats

Get a quick project health overview:

Returns:
- Total feedback count
- Resolved vs unresolved breakdown
- Feedback by type (screenshot/video/text)
- Recent activity (7 days, 30 days)
- Top 5 pages with most feedback

feedback_comment

Add a comment to a feedback item:

Parameters:
- feedback_id (number, required): The feedback ID
- comment (string, required): Comment text
- reporter_name (string): Defaults to "Claude AI Assistant"
- reporter_email (string): Defaults to "[email protected]"
- resolve (boolean): Also resolve the feedback (default: false)

feedback_resolve

Mark a feedback item as resolved:

Parameters:
- feedback_id (number, required): The feedback ID

Setup Options

Automatic Setup (recommended)

# Protected project - provide URL and secret
npm run setup -- https://your-website.com YOUR_SECRET

# Public project - just the URL
npm run setup -- https://your-website.com

Manual Project ID (if auto-detection fails)

# With project ID only (public)
npm run setup -- --project-id tMbUCuQ4FeFJVViMEPlb

# With project ID and API key (protected)
npm run setup -- --project-id tMbUCuQ4FeFJVViMEPlb --api-key YOUR_SECRET

Configure only one IDE

# Claude Code only
npm run setup -- https://your-website.com YOUR_SECRET --claude

# Cursor only
npm run setup -- https://your-website.com YOUR_SECRET --cursor

Extract credentials without configuring

npm run setup -- https://your-website.com YOUR_SECRET --extract

Full help

npm run setup -- --help

Manual Configuration

If you prefer to configure manually:

Claude Code

Add to .mcp.json in your project root:

{
  "mcpServers": {
    "feedbucket": {
      "command": "node",
      "args": ["/path/to/feedbucket-mcp/dist/index.js"],
      "env": {
        "FEEDBUCKET_PROJECT_ID": "your-project-id",
        "FEEDBUCKET_PRIVATE_KEY": "your-private-key",
        "FEEDBUCKET_API_KEY": "your-api-key"
      }
    }
  }
}

Or use the CLI:

claude mcp add feedbucket \
  -e FEEDBUCKET_PROJECT_ID="your-project-id" \
  -e FEEDBUCKET_PRIVATE_KEY="your-private-key" \
  -e FEEDBUCKET_API_KEY="your-api-key" \
  -- node /path/to/feedbucket-mcp/dist/index.js

Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "feedbucket": {
      "command": "node",
      "args": ["/path/to/feedbucket-mcp/dist/index.js"],
      "env": {
        "FEEDBUCKET_PROJECT_ID": "your-project-id",
        "FEEDBUCKET_PRIVATE_KEY": "your-private-key",
        "FEEDBUCKET_API_KEY": "your-api-key"
      }
    }
  }
}

Environment Variables

| Variable | Required | Description | |----------|----------|-------------| | FEEDBUCKET_PROJECT_ID | Yes | Project ID from the data-feedbucket attribute | | FEEDBUCKET_PRIVATE_KEY | Yes | Private key for commenting/resolving (auto-fetched by setup) | | FEEDBUCKET_API_KEY | No* | API key for protected projects (feedbucketKey from URL) |

*Required if your project uses query string protection.


Development

# Install dependencies
npm install

# Development mode (with hot reload)
npm run dev

# Type checking
npm run typecheck

# Linting
npm run lint

# Build for production
npm run build

Architecture

This MCP server was reverse-engineered from the Feedbucket browser widget to provide:

  • Smart Summarization: Optimizes large datasets for AI consumption
  • Client-side Filtering: Reduces API calls by filtering locally
  • Full TypeScript: Strict mode with comprehensive types
  • Production Ready: Proper error handling and validation

API Endpoints Used

| Method | Endpoint | Purpose | |--------|----------|---------| | GET | /projects/{id} | Fetch project with all feedback | | POST | /feedback/{id}/comments | Add comment to feedback | | PUT | /feedback/{id}/resolve | Mark feedback as resolved |


License

MIT