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

feedback-magic-mcp

v1.3.1

Published

MCP server for Feedback Magic — let an AI editor/agent list your workspace, create a widget, get its publishable key, and generate the embed. Provisioning + metadata only.

Readme

feedback-magic-mcp

A Model Context Protocol server for Feedback Magic. Point your AI editor (Claude Desktop, Cursor, …) at it and an agent can, without leaving the editor:

  • see your workspace's projects and widgets,
  • create a widget and get its publishable key — for surveys, pass a plain-English goal and AI designs the question set,
  • generate a paste-ready embed snippet for your framework, and
  • with a read-scope token: search feedback, read AI insights (weekly digest themes), and read survey results.

Tokens are provisioning + metadata only by default — they can create widgets and read project/widget metadata, but not feedback content. Reading content is a per-token opt-in: tick "Also allow reading feedback content & results" when creating the token.

Setup

  1. In Feedback Magic, go to Settings → API & MCP and create a token. Copy the fm_sk_… value (shown once).
  2. Add the server to your MCP client config, with the token in the env:

Claude Desktop (claude_desktop_config.json) / Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "feedback-magic": {
      "command": "npx",
      "args": ["-y", "feedback-magic-mcp"],
      "env": {
        "FEEDBACK_MAGIC_TOKEN": "fm_sk_your_token_here"
      }
    }
  }
}

Restart the client. The Feedback Magic tools will be available to the model.

Tools

| Tool | Args | What it does | | ---- | ---- | ------------ | | list_widget_types | — | Describe all six widget types (feedback, survey, annotate, changelog, board, testimonial). | | whoami | — | Show which workspace the token belongs to. | | list_projects | — | List the workspace's projects. | | list_widgets | project_id | List a project's widgets (incl. publishable keys). | | create_widget | project_id, type?, name?, goal? | Create a widget; returns its fm_pub_… key. goal (surveys) = AI-designed questions. | | get_embed_snippet | publishable_key, type?, framework? | Paste-ready embed (react / web-component / html / wordpress). | | search_feedback | project_id, query | read scope — search feedback titles/snippets. | | get_insights | project_id | read scope — latest AI digest + category mix. | | get_survey_results | widget_id | read scope — aggregated survey results. |

Typical flow: list_projectscreate_widgetget_embed_snippet → paste into your app. (The get_embed_snippet output uses the feedback-magic npm package or the hosted <script> embed.)

Configuration

| Env var | Required | Default | | ------- | -------- | ------- | | FEEDBACK_MAGIC_TOKEN | yes | — | | FEEDBACK_MAGIC_URL | no | the hosted mcp endpoint | | FEEDBACK_MAGIC_APIKEY | no | the public Supabase anon key |

Security

The token is org-scoped and can be revoked anytime in Settings → API & MCP. By default it grants provisioning + metadata access to that one workspace — not feedback content, billing, or user management. The optional read scope (chosen at creation, shown as a badge in the token list) additionally allows reading feedback content, AI insights, and survey results — never billing or member management. Publishable keys it returns are safe to expose (they only permit submitting to that widget). Treat the fm_sk_… token itself as a secret (it's stored server-side only as an HMAC hash).

License

MIT