paperclip-mcp

An MCP bridge to Paperclip. Read your companies and issues, and act on what awaits a human, from any remote MCP client, with a policy on every tool.

Source on GitHub

A morning round, handing work to an agent, what gets refused, and the path each request takes. Fictional data.

Why

The official @paperclipai/mcp-server speaks stdio and exposes everything, approvals included, plus raw API access. A board token has every right on every company: this bridge exposes a closed set of tools instead, and is the only thing that restricts that token.

One mode per tool

allowThe tool runs.
askThe server asks you to confirm through MCP elicitation. A client that cannot ask is refused.
denyThe tool is not exposed. Default for anything not listed.

Decision tools only accept ask or deny; the server refuses to start otherwise.

Tools

companiesCompanies, issue prefix, id
attentionWhat awaits a human, across companies
issues · issue · documentIssues, detail, comments, documents, pending cards
agentsAgents of a company
approvals · action_requestsPending approvals and tool actions
issue_commentComment on an issue
issue_createCreate an unassigned issue, optionally in a project
issue_updateaskAssign an issue to an agent or to yourself, change its status, with an optional comment. Assignment and safe statuses (backlog, todo, done, cancelled by default) run directly; other changes ask
projects · project_createList projects, create one
runs · runRuns in progress, an agent's last runs, a run's error and last messages
issue_historyWhat happened on an issue
spendTokens and runs per agent over the last days
activity · routinesLatest events of a company, its routines
agent_pause · agent_wake · run_stopPause an agent, wake it, stop a run
approval_commentComment on an approval without deciding it
agent_resume · agent_unblock · routine_runaskResume an agent, clear its error, run a routine now
approval_decisionaskApprove or reject an approval
interaction_respondaskAnswer an agent's question card
plan_confirmaskAccept or reject a plan
action_request_decisionaskAuthorize or decline a suspended tool action

Making an agent act

In Paperclip, a comment only wakes the assigned agent, and an issue assigned to a user wakes nobody. To hand work to an agent, issue_update assigns it, sets the status to todo and adds a comment saying what to do, in a single request.

Run

docker build -t paperclip-mcp .
docker run -e PAPERCLIP_API_KEY=... \
  -e CF_ACCESS_TEAM_DOMAIN=... -e CF_ACCESS_AUD=... \
  -v ./policy.yaml:/app/policy.yaml:ro -p 9200:9200 paperclip-mcp

Every request must carry a valid Cloudflare Access JWT: a shared Docker network is not enough to drive Paperclip. The MCP endpoint is /mcp.