Agent access
cpcp exposes a stateless MCP endpoint so clients such as Claude Code and Codex can send and pick up text and small files. MCP files are capped at 5MB; use the web UI for larger files.
Available tools
| Tool | What it does | Limits |
|---|---|---|
| cpcp_put_text | Sends a text parcel and returns a 6-digit code, URL, and expiry | Up to 64KB of text; 200 calls per token per day |
| cpcp_put_file | Sends one file and returns a 6-digit code, URL, and download path | Up to 5MB per file; 200 sends per token per day (shared with text) |
| cpcp_get | Returns text, or file metadata plus signed download URLs | 20 calls per token per hour |
Connecting
The endpoint is /mcp on this site, using JSON-RPC 2.0 over Streamable HTTP, protocol version 2025-06-18. The server keeps no session, so no mcp-session-id is needed.
Every request needs Authorization: Bearer cpcp_.... Create a token at /en/keys; it is shown once and no account is required.
- POST /mcp (this site's origin)
- Content-Type: application/json
- Authorization: Bearer cpcp_...
- Supports initialize, ping, tools/list, and tools/call; resources, prompts, and subscriptions are not supported
Official MCP Registry
cpcp is listed in the official MCP Registry as io.github.builderbasetech-lgtm/cpcp (0.1.0). Clients that support registry discovery can find it by name; the client-specific commands below remain the source of truth for manual setup.
Claude Code
Create a token at /en/keys, then run the command below. Claude Code stores the remote MCP server in its own configuration.
- Run claude mcp list to confirm cpcp is connected.
- If the token contains shell-special characters, pass it through an environment variable to keep it out of shell history.
claude mcp add --transport http cpcp https://cp.1tools.vip/mcp --header "Authorization: Bearer cpcp_..."Codex
Codex supports streamable HTTP MCP. Keep the token in an environment variable instead of writing it into config.toml.
- Use codex mcp list to confirm the config and codex mcp get cpcp for details.
Add the server
codex mcp add cpcp --url https://cp.1tools.vip/mcp --bearer-token-env-var CPCP_TOKENSet the token before launching
export CPCP_TOKEN=cpcp_...Cursor
Add the JSON below to Cursor's MCP configuration. Project-level config lives at .cursor/mcp.json; global config lives at ~/.cursor/mcp.json.
- Open Cursor's MCP panel and confirm all three cpcp tools appear.
- Do not commit this file. If the token leaks, revoke it at /en/keys immediately.
.cursor/mcp.json
{
"mcpServers": {
"cpcp": {
"url": "https://cp.1tools.vip/mcp",
"headers": {
"Authorization": "Bearer cpcp_..."
}
}
}
}Verify the connection
You can verify the endpoint and token with curl before configuring a client.
curl -sS https://cp.1tools.vip/mcp \
-H "Authorization: Bearer cpcp_..." \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Example calls
List tools: {"jsonrpc":"2.0","id":1,"method":"tools/list"}
Send text: {"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"cpcp_put_text","arguments":{"content":"hello"}}}
Send a file: {"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"cpcp_put_file","arguments":{"name":"note.txt","contentBase64":"aGVsbG8="}}}
Pick up a parcel: {"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"cpcp_get","arguments":{"code":"123456"}}}
Boundaries and safety
- Parcels expire after one hour, storage is cleared within 10 minutes after that, and a parcel can be claimed at most 10 times.
- Text is stored briefly on a server and is not end-to-end encrypted; do not send passwords, keys, or ID documents over MCP.
- A token is a credential. Keep it in the client's secret store, not in repositories, logs, or prompts.
- Tokens expire 90 days after creation. If one leaks, revoke it at /en/keys and create a new one.
- MCP files travel inline as base64 and are meant for small artifacts; do not send sensitive files this way.
Related
CLILimitsSecurity and privacyService statusREST APICreate a token