Labsco
MCP SERVER

Pincushion

by jcooley8

Let a stakeholder drop a pin on the live page, and hand your coding agent the URL, selector, screenshot and acceptance criteria needed to fix it.

Project & Task ManagementVerified
Summary
Feedback that arrives with the selector, the screenshot and the acceptance criteria already attached.

The point is what a pin carries: page URL and element selector, screenshot and DOM snippet, the thread, likely files and how to know it is done — enough for an agent to implement without a round trip to the person who filed it. The loop closes on the other side too, with the resolve recording the commit, branch and PR, and an optional post-deploy check verifying the fix actually shipped. Claiming a pin before work starts is what keeps two agents off the same one.

What it is

The agent-side half of Pincushion. Feedback pins placed through a Chrome extension land in a .feedback/ directory, and this server hands them to a coding agent as work packets with the page, element and context attached.

What you get
  • Pins retrieved and filtered by page URL, component name or status, with full-text search across comments, selectors, component names and tags
  • A rollup of open feedback by status, page and component, so you can decide what to address first
  • Implementation packets: approved pins grouped by page URL with selectors, full pin payloads, a suggested branch name and traceability settings — or one page's packet at a time
  • A pin claimed before work starts so other agents know it is taken, then resolved with the commit, branch and PR recorded, or resolved directly once the fix lands
  • Replies posted into a pin's thread to ask a clarifying question, and pins filed by a third-party QA or browser agent as the write half of a browser-agent-to-coding-agent handoff
  • Three queues of what needs attention: pins sent explicitly to the agent, pins selected from the dashboard or PINS.md checkboxes, and pins approved for implementation
  • Post-deploy verification recorded against a resolved pin, and a deploy URL linked to it so stakeholders can see where the fix went
  • Median and p25/p75 time-to-fix calculated from resolved pins, with a sample size and a threshold flag so a thin dataset can be hidden honestly
  • Public read-only crit reports minted at pincushion.io/r/<token>, upgraded into an annotated page when you upload a full-page screenshot with pin positions
  • Project registration against your app's URLs, brand and critique context, plus members, roles, seat usage and Figma-style invite links
  • Slack, Microsoft Teams and Discord webhook subscriptions configured, previewed, listed and removed
Requirements

The Pincushion Chrome extension, installed from pincushion.io/install/chrome — that is how pins get created in the first place. Node.js 18 or newer; run it with npx pincushion-mcp --project-dir . over stdio, from the npm package pincushion-mcp, currently 1.3.5. The project directory is the one holding .feedback/. Remote sync is optional and adds --sync-url and --api-key; --license-key activates Pro features; --rest --port 3456 starts an HTTP wrapper for clients that do not speak MCP. On a project, collaborators added as developers consume a paid seat while commenters are free.

Setup effort

One command — npx pincushion-mcp --project-dir .