Reference
MCP server
Reference for @pacerelle/mcp-server — configuration, tools, prompt and local storage.
npx -y @pacerelle/mcp-serverRequires Node.js 20+. The server speaks MCP over stdio and is meant to be launched by an MCP host. Setup instructions per host are in MCP hosts.
Configuration
| Environment variable | Flag | Description |
|---|---|---|
PACERELLE_AGENT_ID | --agent-id | Required. The agent ID. |
PACERELLE_AGENT_TOKEN | --token | Required. The agent token. Never written to disk. |
PACERELLE_STORE_ROOT | --store-root | Local state directory. Default ~/.pacerelle/mcp. |
PACERELLE_BASE_URL | --base-url | API URL. Default https://api.pacerelle.com. |
PACERELLE_WS_URL | --ws-url | WebSocket URL override. |
| — | --no-e2ee | Disable encryption. Local transport debugging only. |
Prompt
start_pacerelle — instructs the assistant to read its status and checkpoints, then keep waiting
for, handling and answering requests.
Tools
get_status
Connection state (connecting, connected, reconnecting, disconnected or stopped), the
number of pending requests, and uncertain_sends — replies whose delivery couldn't be confirmed.
wait_for_messages
Returns pending requests, or waits for new ones.
timeoutMsnumberconversationIdstringlimitnumberafterCursorstringReturns messages, cursor, has_more and connection. Waiting never marks a request as
processed.
send_message
Sends an encrypted reply.
textstringrequiredsourceMessageIdstringconversationIdstringtostringreplyToMessageIdstringsend_widget
Sends a widget to the same target as a request.
widgetJsonstring | objectrequiredwidget.standard v1 payload — for example { "type": "widget.standard", "v": 1, "id": "confirm-1", "kind": "confirm", "spec": { "title": "Publish?" } }.sourceMessageIdstringconversationIdstringtostringmark_processed
Marks a request as handled. Only this tool does that — reading and replying don't.
messageIdstringrequirednotestringget_history
Recent requests and replies retained locally (up to 50 of each). Accepts conversationId and
limit (1–50).
save_checkpoint
Saves progress on a request so another session can resume it.
sourceMessageIdstringrequiredsummarystringrequirednextActionstringrequiredhostSessionLabelstringstatus"active" | "completed"completed when the work is done.get_checkpoints
Returns active checkpoints. Accepts conversationId and includeCompleted.
Resources
| URI | Content |
|---|---|
conversation://current | The most recently observed conversation. |
widget://pending | The latest unprocessed widget answer. |
Local storage
Each agent's encryption state, inbox, replies and checkpoints are stored in one AES-256-GCM encrypted file per agent in the store directory, written atomically. A separate random local key decrypts it — back both up together.
- Directory mode
0700and files0600on macOS and Linux. On Windows, use a private folder in your user profile. - Only one MCP process can own an agent's state on a machine. A crashed process's lock is reclaimed automatically.
- The server reconnects on its own, with delays up to 30 seconds.