Pincushion for GitHub Copilot.

Visual feedback that lands in VS Code. Stakeholders drop pins on your live app; Copilot agent mode reads them via MCP — selector, DOM snippet, screenshot, viewport, thread, project context, and acceptance criteria — and ships the change from inside your editor.

Get started — free See the full product →

The flow

  1. Stakeholder drops a pin on any element of your live app via the Chrome extension or the one-line script-tag widget
  2. You open Copilot Chat in agent mode and ask it to implement the open Pincushion pins (the repo's .github/prompts/ files give it the exact playbook)
  3. Copilot receives each pin's full work packet via the MCP tools — no copy-pasting screenshots, no translating feedback into prompts
  4. The agent finds the source code, makes the change, calls fix_and_resolve with branch + PR URL
  5. Deploy hook auto-resolves the pin on production. Stakeholder sees "Resolved in PR #142, deployed at 3:24pm"

Install (60 seconds)

Add Pincushion to .vscode/mcp.json in your project (VS Code 1.99+ with Copilot agent mode):

{
  "servers": {
    "pincushion": {
      "command": "npx",
      "args": ["pincushion-mcp", "--project-dir", "${workspaceFolder}", "--cloud-sync"]
    }
  }
}

Prefer a remote server? Point at the hosted endpoint — cloud-synced pins, no local process:

{
  "servers": {
    "pincushion": {
      "type": "http",
      "url": "https://pincushion.io/api/mcp",
      "headers": { "x-license-key": "YOUR_LICENSE_KEY" }
    }
  }
}

The local server is repo-aware (it greps your source by selector and suggests branch names); the hosted endpoint covers the cloud-side tools. Run npx pincushion-mcp login once to link your license key. Then open Copilot Chat, switch to Agent, and the Pincushion tools appear in the tools picker.

What you can ask Copilot after install

Copilot agent mode is very good at making changes. Pincushion makes sure it knows exactly which element, which page, which viewport, and what the stakeholder actually asked for.

Why agent mode needs structured feedback

Agent mode's failure mode isn't capability — it's ambiguity. Give it "the client says the header looks cramped on mobile" and it will make a plausible change to a header, at a breakpoint, and you'll find out at review time whether it guessed right. A Pincushion pin removes the guessing: the selector says exactly which element, the DOM snippet says which state the page was in, the viewport says 390×844, and the thread says what the stakeholder actually wants. The agent's first action becomes a targeted grep instead of a codebase-wide search, which also means fewer tool calls and less context burned per fix.

The write-back half matters just as much. When Copilot finishes, fix_and_resolve records the commit SHA, branch, and PR URL on the pin itself — so the person who left the feedback sees "Resolved in PR #142" without anyone updating a spreadsheet. On the next deploy, the pin links the production URL too.

What's in the work packet

Pricing

Reviewers and stakeholders are always free — unlimited, no accounts to buy. The developer free tier includes one project, unlimited manual pins, and 25 AI actions a month, and every signup starts a 14-day Pro trial. Pro is $19/mo: unlimited automation, realtime push to your editor, unlimited projects, and access controls.

Also using other editors? Pincushion works the same way in plain VS Code, Cursor, Claude Code, and Windsurf. New to the idea? Read what a visual feedback MCP server actually does.

Get started — free Back to home