paperclip-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@paperclip-mcpShow me open issues for the Administration agent."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
paperclip-mcp
MCP server for the Paperclip AI agent orchestration platform.
Exposes Paperclip's REST API as Model Context Protocol tools, so any MCP-compatible AI assistant (Claude, etc.) can manage issues, agents, goals, approvals, and costs through natural language.
Features
Category | Tools |
Issues |
|
Agents |
|
Goals |
|
Approvals |
|
Monitoring |
|
Related MCP server: API to MCP
Requirements
Python 3.10+
A running Paperclip instance
Authentication — one of:
An Agent API key (Paperclip UI → Settings → API Keys), or
A browser session token (
__Secure-better-auth.session_tokencookie)
Installation
Option A — uvx (zero-install, recommended)
No install step needed. uvx fetches and runs the latest published release on demand:
uvx paperclip-mcp --transport stdioOption B — pip / uv
pip install paperclip-mcp
# or
uv pip install paperclip-mcpOption C — from source
git clone https://github.com/elevateinformatics/paperclip-mcp
cd paperclip-mcp
pip install -e .Configuration
Environment variables
Variable | Required | Description |
| ✅ | Company UUID from the Paperclip URL |
| ⚠️ one-of | Bearer API key (Settings → API Keys → New Key) |
| ⚠️ one-of | Value of |
| ❌ | Defaults to |
Provide either PAPERCLIP_API_KEY (preferred for production) or PAPERCLIP_SESSION_TOKEN (useful when API keys are not available — uses your logged-in browser session).
How to get a session token
Log in to Paperclip in Chrome/Edge
DevTools → Application → Cookies → pick your Paperclip domain
Copy the value of
__Secure-better-auth.session_token
Security: Session tokens grant full access to your user account. Treat them like passwords — never commit
.envor share the value. They also expire and must be refreshed periodically.
.env file (local dev)
PAPERCLIP_BASE_URL=https://elevate-ai.up.railway.app/api
PAPERCLIP_COMPANY_ID=your_company_uuid
PAPERCLIP_API_KEY=your_api_key # OR
PAPERCLIP_SESSION_TOKEN=your_session_cookie_valueUsage
Start the server
# HTTP (for Claude Code / mcp-proxy) — default port 9011
paperclip-mcp
# Custom port
paperclip-mcp --port 9012
# stdio transport (for Claude Desktop)
paperclip-mcp --transport stdio
# All options
paperclip-mcp --helpRegister with Claude Code
# HTTP transport (persistent — survives Claude restarts)
claude mcp add paperclip --transport http http://localhost:9011/mcp
# stdio transport (Claude Desktop — add to claude_desktop_config.json)Claude Desktop (claude_desktop_config.json)
Using uvx (no install required):
{
"mcpServers": {
"paperclip": {
"command": "uvx",
"args": ["paperclip-mcp@latest", "--transport", "stdio"],
"env": {
"PAPERCLIP_BASE_URL": "https://your-paperclip.example.com/api",
"PAPERCLIP_COMPANY_ID": "your_company_uuid",
"PAPERCLIP_API_KEY": "your_api_key"
}
}
}
}Or with a session token instead of an API key:
"env": {
"PAPERCLIP_BASE_URL": "https://your-paperclip.example.com/api",
"PAPERCLIP_COMPANY_ID": "your_company_uuid",
"PAPERCLIP_SESSION_TOKEN": "your_session_cookie_value"
}Example interactions
Once registered, you can ask your AI assistant:
"What tasks does the Purchasing agent have open?"
→ calls list_issues(assignee_agent_id="...", status="todo,in_progress")
"Create a task for the CEO agent to search for new cheese suppliers in Barcelona"
→ calls create_issue(title="Search cheese suppliers in Barcelona", assignee_agent_id="...")
"Approve the pending hire request"
→ calls list_approvals(status="pending") + approve(approval_id="...")
"How much have we spent on tokens this month, broken down by agent?"
→ calls get_cost_summary()
"Wake up the Administration agent now"
→ calls invoke_agent_heartbeat(agent_id="...")Auto-start with the MCP stack
Add to your stack startup script:
# Check if already running
curl -s --max-time 1 http://localhost:9011/mcp > /dev/null 2>&1 || \
nohup paperclip-mcp > /tmp/paperclip-mcp.log 2>&1 &Development
# Install with dev dependencies
pip install -e ".[dev]"
# Lint
ruff check src/
ruff format src/
# Type check
mypy src/
# Tests
pytestArchitecture notes
Who should use this MCP: Human operators managing agents via Claude Code or Claude Desktop.
Do agents need this MCP?: No — Paperclip agents already interact with the REST API directly via HTTP in their HEARTBEAT protocol. This MCP is for the human operator layer.
Hermes agents: If you switch to Hermes, this MCP is automatically available since Hermes supports MCP natively.
Transport choice: Use
streamable-httpfor Claude Code and mcp-proxy integrations. Usestdiofor Claude Desktop.Security: The server binds to
127.0.0.1by default (localhost only). Do not expose it publicly — it carries your Paperclip credentials.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceTurns any OpenAPI/Swagger API into MCP tools, enabling AI assistants to call REST API endpoints directly.2MIT
- FlicenseNot gradedqualityDmaintenanceConverts any REST API endpoints into MCP tools, enabling AI clients like Cursor and Claude Desktop to call internal services directly.-
- FlicenseNot gradedqualityDmaintenanceExposes any REST API as MCP tools, enabling AI agents to discover and call existing HTTP endpoints without modifying the original API.-
- FlicenseAqualityDmaintenanceExposes two MCP tools (discover and execute) that enable agents to query an OpenAPI schema via natural language and execute matched API operations.2-