Référence

Serveur MCP

Référence de @pacerelle/mcp-server — configuration, outils, prompt et stockage local.

Terminal
npx -y @pacerelle/mcp-server

Nécessite Node.js 20+. Le serveur parle MCP sur stdio et doit être lancé par un hôte MCP. Les instructions par hôte sont dans Hôtes MCP.

Configuration

Variable d'environnementOptionDescription
PACERELLE_AGENT_ID--agent-idObligatoire. L'identifiant de l'agent.
PACERELLE_AGENT_TOKEN--tokenObligatoire. Le jeton de l'agent. Jamais écrit sur disque.
PACERELLE_STORE_ROOT--store-rootDossier de l'état local. Par défaut ~/.pacerelle/mcp.
PACERELLE_BASE_URL--base-urlURL de l'API. Par défaut https://api.pacerelle.com.
PACERELLE_WS_URL--ws-urlRemplace l'URL WebSocket.
--no-e2eeDésactive le chiffrement. Débogage local du transport uniquement.

Prompt

start_pacerelle — demande à l'assistant de lire son état et ses checkpoints, puis d'attendre, de traiter et de répondre aux demandes en continu.

Outils

get_status

État de la connexion (connecting, connected, reconnecting, disconnected ou stopped), nombre de demandes en attente, et uncertain_sends — les réponses dont la livraison n'a pas pu être confirmée.

wait_for_messages

Renvoie les demandes en attente, ou attend les nouvelles.

timeoutMsnumber
Durée d'attente, 0–30000. 25000 par défaut.
conversationIdstring
Ne renvoie que les demandes de cette conversation.
limitnumber
Nombre maximal de demandes renvoyées, 1–50.
afterCursorstring
Curseur de pagination. Omettez-le à la reprise — un curseur saute les demandes antérieures, y compris celles non terminées.

Renvoie messages, cursor, has_more et connection. Attendre ne marque jamais une demande comme traitée.

send_message

Envoie une réponse chiffrée.

textstringrequis
Le texte de la réponse.
sourceMessageIdstring
La demande à laquelle vous répondez. Recommandé : la réponse part alors vers la bonne conversation, le bon appareil ou le bon groupe.
conversationIdstring
Cible explicite, pour un usage avancé.
tostring
Destinataire explicite, pour un usage avancé.
replyToMessageIdstring
Message auquel lier la réponse.

send_widget

Envoie un widget à la même cible qu'une demande.

widgetJsonstring | objectrequis
Un contenu widget.standard v1 — par exemple { "type": "widget.standard", "v": 1, "id": "confirm-1", "kind": "confirm", "spec": { "title": "Publier ?" } }.
sourceMessageIdstring
La demande à laquelle ce widget répond.
conversationIdstring
Cible explicite, pour un usage avancé.
tostring
Destinataire explicite, pour un usage avancé.

mark_processed

Marque une demande comme traitée. Seul cet outil le fait — lire ou répondre ne suffit pas.

messageIdstringrequis
La demande à marquer.
notestring
Note facultative, jusqu'à 2 000 caractères.

get_history

Demandes et réponses récentes conservées localement (jusqu'à 50 de chaque). Accepte conversationId et limit (1–50).

save_checkpoint

Enregistre l'avancement d'une demande pour qu'une autre session puisse la reprendre.

sourceMessageIdstringrequis
La demande concernée.
summarystringrequis
Ce qui a été fait jusqu'ici.
nextActionstringrequis
La prochaine étape.
hostSessionLabelstring
Un libellé pour la session de l'hôte.
status"active" | "completed"
Mettez completed quand le travail est terminé.

get_checkpoints

Renvoie les checkpoints actifs. Accepte conversationId et includeCompleted.

Ressources

URIContenu
conversation://currentLa dernière conversation observée.
widget://pendingLa dernière réponse de widget non traitée.

Stockage local

L'état de chiffrement, la boîte de réception, les réponses et les checkpoints de chaque agent sont stockés dans un fichier chiffré en AES-256-GCM par agent, écrit de façon atomique. Une clé locale aléatoire distincte le déchiffre — sauvegardez les deux ensemble.

  • Dossier en 0700 et fichiers en 0600 sur macOS et Linux. Sous Windows, utilisez un dossier privé de votre profil utilisateur.
  • Un seul processus MCP peut posséder l'état d'un agent sur une machine. Le verrou d'un processus planté est récupéré automatiquement.
  • Le serveur se reconnecte seul, avec des délais allant jusqu'à 30 secondes.