MCP server that turns live-app visual feedback pins into implementation packets for AI coding agents.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Pincushion Plugin.
get_annotationsRetrieve annotations from `.feedback/`. Filter by page, component, or status.
search_annotationsFull-text search across all annotations, comments, selectors, and tags.
get_feedback_summaryHigh-level rollup of all feedback: counts by status, priority, page, and component.
get_component_feedbackGet all feedback for a specific LWC component with a plain-language summary.
resolve_annotationMark an annotation as resolved after fixing the issue.
add_agent_replyAdd a reply to an annotation thread (e.g., ask clarifying questions).
The implementation-context layer for AI-native development. Stakeholders drop visual pins on any page of your live app; your AI coding agent reads each pin through MCP and ships the fix โ in Claude Code, Cursor, VS Code, Windsurf, or any MCP client.
A pin isn't a feedback item โ it's an agent work packet. Each one carries everything an agent needs to implement the change without a back-and-forth:
The loop closes itself: a stakeholder pins it โ your agent reads it via MCP and fixes it in your IDE โ the resolve records the commit, branch, and PR โ an optional post-deploy critique verifies the fix actually landed.
This server is also how Pincushion AI runs design/copy/a11y critiques on a live page and writes the pins straight back onto it.
Or run directly without installing:
Download the Pincushion Chrome extension from pincushion.io/install/chrome.
Pick your AI agent below and follow the configuration for your setup.
Once configured, your agent can:
get_feedback_summarysearch_annotationsfix_and_resolveFile: .cursor/mcp.json
pnpm / yarn users: replace
"command": "npx"with"command": "pnpm"and add"dlx"as the first arg, or use"command": "yarn"with"dlx"likewise.
With Supabase sync:
File: ~/.config/Claude/claude_desktop_config.json (Linux/Windows)
or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
pnpm users:
yarn users:
With Supabase sync:
Run this command to add Pincushion to Claude Code:
Or with Supabase sync:
File: .vscode/settings.json
File: ~/.windsurf/mcp.json or ~/.config/windsurf/mcp.json
File: ~/.antigravity/mcp.json
For tools that don't support MCP directly, use the REST API wrapper:
This starts an HTTP server on localhost:3456. Endpoints:
GET /health โ Check server statusPOST /call-tool โ Invoke a tool
{ "toolName": "get_feedback_summary", "args": {} }Example using curl:
| Flag | Description | Default |
|---|---|---|
--project-dir PATH | Root directory containing .feedback/ | Current working directory |
--sync-url URL | Supabase API endpoint for remote sync | None (local only) |
--api-key KEY | API key for Supabase authentication | None |
--license-key KEY | Pro license key (optional) | None |
--rest | Enable REST API mode | Disabled (uses MCP/stdio) |
--port PORT | Port for REST API server | 3456 |
Local project:
With Supabase sync:
REST API server:
get_annotationsRetrieve annotations from .feedback/. Filter by page, component, or status.
Parameters:
pageUrl (string, optional) โ Filter by page URL (partial match)componentName (string, optional) โ Filter by LWC component namestatus (string, optional) โ Filter by open, in-progress, or resolvedExample:
search_annotationsFull-text search across all annotations, comments, selectors, and tags.
Parameters:
query (string, required) โ Search termExample:
get_feedback_summaryHigh-level rollup of all feedback: counts by status, priority, page, and component.
Example:
get_component_feedbackGet all feedback for a specific LWC component with a plain-language summary.
Parameters:
componentName (string, required) โ LWC component nameExample:
resolve_annotationMark an annotation as resolved after fixing the issue.
Parameters:
annotationId (string, required) โ Annotation IDcomment (string, optional) โ Resolution messageresolvedBy (string, optional) โ Name to attribute resolution (default: "AI Agent")Example:
add_agent_replyAdd a reply to an annotation thread (e.g., ask clarifying questions).
Parameters:
annotationId (string, required) โ Annotation IDbody (string, required) โ Reply messageauthor (string, optional) โ Author name (default: "AI Agent")Example:
fix_and_resolveCombine fixing code and marking an annotation as resolved in one call. Optionally records commit / branch / PR metadata so the dashboard can backlink to what shipped.
Parameters:
annotationId (string, required) โ Annotation IDfixDescription (string, required) โ Description of the fixfilePath (string, optional) โ File where fix was appliedlineNumber (number, optional) โ Line number of the fixcommitSha (string, optional) โ Commit SHA that landed the changebranchName (string, optional) โ Branch the commit was made onprUrl (string, optional) โ Pull request URL (GitHub/GitLab/Bitbucket; shape-validated)Example:
get_implementation_packetFetch a single implementation packet for one page URL โ selector list, full pin payloads, suggested branch name, and traceability config. Use when an agent wants to batch-fix one page in a single branch.
assign_pin_to_agentDispatch a pin straight to your local coding agent. Promotes the pin to ready if not already, marks pending_implementation, and writes a .feedback/.agent-queue/<id>.json trigger file that agent-loop.mjs picks up and shells out to Cursor / Claude Code / Codex.
link_pin_deployFactual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/jcooley8-pincushion-plugin)<a href="https://allmcps.com/mcp/jcooley8-pincushion-plugin"><img src="https://allmcps.com/api/badge/jcooley8-pincushion-plugin?style=directory" alt="Pincushion Plugin on AllMCPs" /></a>