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.

hello@1tools.vip

Available tools

ToolWhat it doesLimits
cpcp_put_textSends a text parcel and returns a 6-digit code, URL, and expiryUp to 64KB of text; 200 calls per token per day
cpcp_put_fileSends one file and returns a 6-digit code, URL, and download pathUp to 5MB per file; 200 sends per token per day (shared with text)
cpcp_getReturns text, or file metadata plus signed download URLs20 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_TOKEN

Set 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

Back to home