Pincushion for Codex.
Visual feedback that lands in your IDE. Stakeholders drop pins on your live app; your Codex agent reads them via MCP — selector, DOM snippet, screenshot, viewport, thread, project context, and acceptance criteria — and ships the change from inside your editor.
The flow
- Stakeholder drops a pin on any element of your live app via the Chrome extension
- You open Codex, run
/pinsor/implement - Codex agent receives the pin's full work packet via MCP — no copy-pasting screenshots, no translating feedback into prompts
- Agent finds the source code, makes the change, calls
fix_and_resolvewith branch + PR URL - Deploy hook auto-resolves the pin on production. Stakeholder sees "Resolved in PR #142, deployed at 3:24pm"
Connect Codex (60 seconds)
In your repo, run the guided setup and choose Codex explicitly, or add the MCP server through the Codex CLI:
codex mcp add pincushion -- npx pincushion-mcp --project-dir .
Restart Codex, then ask the agent to call get_actionable_pins. The command registers configuration; it does not prove the agent is connected. Review an existing AI or human finding, approve that exact pin, then ask the agent to implement it.
If this setup came from a Crit report, run npx pincushion-mcp claim <report-token>; it resumes the report’s project only after authenticated access is confirmed. The Chrome extension is optional and is only needed to place new browser pins.
Slash commands available after install
/pins— show all open pins on this project/implement— run the full approved-pin loop (claim → fix → resolve)/resolve <id>— claim and close one pin/critique <url>— Pincushion AI drops ≤3 UI/copy/a11y pins on the page/feedback-summary— project overview
Existing feedback becomes a concrete agent task with its selector, DOM, screenshot, viewport, and thread in one MCP call.