paperclip-mcp
Click on "Install 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-mcplist my boards"
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
Complete, schema-driven Model Context Protocol access to the Paperclip API.
Paperclip MCP turns the supplied paperclip-openapi.json contract into typed MCP tools
without maintaining a second, drifting interface registry. It exposes all 590 documented
operations over stdio or authenticated Streamable HTTP, handles Paperclip deployments both
with bearer authentication and in tokenless local_mode, and preserves the path, query,
body, and authorization boundaries described by the source document.
What it provides
One direct, schema-validated
pc_*MCP tool for every OpenAPI method/path operation.Bounded
paperclip_list_operationsdiscovery andpaperclip_call_operationdispatch by stableMETHOD /path/{template}keys.Correct OpenAPI 3.0 nullable and exclusive-bound translation, path escaping, and query array serialization.
JSON, text, JSONL, SSE transcript, and base64 binary responses behind one result envelope.
Separate inbound MCP and outbound Paperclip bearer credentials; inbound credentials are never forwarded upstream.
Optional upstream authentication: omit the Paperclip token for
local_mode, or configure a board/agent bearer token when Paperclip requires authentication.Loopback-bound, non-root, read-only, capability-free Docker deployment with secret mounts, health/readiness probes, and resource limits.
Related MCP server: mcp-cli-catalog
Architecture
flowchart LR
Client[MCP client] -->|stdio or HTTP Bearer A| Gateway[Paperclip MCP]
Spec[paperclip-openapi.json] -->|590 validated operations| Gateway
Gateway -->|No auth in local_mode| Local[Paperclip local_mode]
Gateway -->|Bearer B when configured| Auth[Authenticated Paperclip]Bearer A protects this service's HTTP endpoint. Bearer B belongs to Paperclip. They must be different, and neither is accepted as MCP tool input.
Quick start
Python 3.12 is required.
scripts/bootstrap.sh
export PAPERCLIP_BASE_URL=http://127.0.0.1:3100For Paperclip local_mode, do not set PAPERCLIP_API_TOKEN:
.venv/bin/paperclip-mcp stdioFor a Paperclip instance that requires board or agent authentication:
export PAPERCLIP_API_TOKEN='paperclip-issued-token'
.venv/bin/paperclip-mcp stdioThe credential type determines which board-only, instance-admin, or agent-capable operations Paperclip will authorize. The MCP does not elevate upstream permissions.
Streamable HTTP
Create a gateway-only token and start the service:
.venv/bin/paperclip-mcp token --output secrets/mcp_token
export PAPERCLIP_MCP_TOKEN_FILE="$PWD/secrets/mcp_token"
.venv/bin/paperclip-mcp httpConnect an MCP client to http://127.0.0.1:8000/mcp with:
Authorization: Bearer <contents of secrets/mcp_token>GET /healthz checks only the gateway. GET /readyz performs the public Paperclip health
request and therefore works in both upstream authentication modes. On loopback, the inbound
MCP token may be omitted for local development. Non-loopback binds fail closed unless it is
configured.
Docker
Generate the inbound token file:
.venv/bin/paperclip-mcp token --output secrets/mcp_token
export PAPERCLIP_BASE_URL=http://host.docker.internal:3100
docker compose up --build -dThat starts against Paperclip local_mode with no upstream authorization header. For an
authenticated Paperclip deployment, add the secret-only overlay:
install -m 600 /secure/path/paperclip-api-token secrets/paperclip_api_token
docker compose -f compose.yaml -f compose.auth.yaml up --build -dThe host port stays on 127.0.0.1. If Paperclip is another Compose service, place both on an
appropriate user-defined network and set PAPERCLIP_BASE_URL to its service URL; do not use
127.0.0.1 inside this container to refer to the host.
Tool input and output
Direct tools group URL values so names cannot collide:
{
"path": {"companyId": "company-123"},
"query": {"limit": 25},
"body": {"title": "Example"}
}The source contract currently omits request schemas for three upload routes. Their tools provide a marked compatibility input:
{
"path": {"companyId": "company-123"},
"multipart": {
"file": {
"filename": "diagram.png",
"media_type": "image/png",
"data_base64": "iVBORw0KGgo..."
}
}
}Success results use {status_code, content_type, headers, body, encoding}. Non-success
responses become MCP tool errors. See the
generated reference and
MCP client guide.
Documentation
Development
scripts/ci-bootstrap.sh
scripts/validate.shValidation checks formatting, lint, strict typing, compilation, the full test suite with branch coverage, generated documentation, distributions, and both Compose modes. Live Paperclip acceptance and built-container security checks are separate operator-run gates; mocked upstream tests do not constitute live service evidence.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA dual-transport MCP server that exposes your API as tools to LLM clients, supporting both stdio transport for local clients like Claude Desktop and HTTP/SSE transport for remote clients like OpenAI's Responses API.Last updated
- Alicense-qualityDmaintenanceAn MCP server that publishes CLI tools on your machine for discoverability by LLMsLast updated61MIT
- AlicenseBqualityDmaintenanceA minimal local MCP server that wraps any Claude Messages API-compatible upstream into a unified ask_model tool. It enables MCP clients to interact with these models through a standard tool interface using stdio transport.Last updated18MIT
- Alicense-qualityCmaintenanceAn MCP server that exposes FortiCNAPP (formerly Lacework) API 2.0 operations as typed, auth-aware tools generated from the API spec at startup, supporting both local stdio and remote Streamable HTTP transports.Last updatedMIT
Related MCP Connectors
MCP server for interacting with the Supabase platform
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shanewiseman/paperclip-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server