ZestEchodocumentationRetour
Sommaire

Serveur MCP

Un serveur MCP (Model Context Protocol) permet à des assistants de lire et écrire dans tes sessions, avec tes permissions et tes quotas.

Connexion

L'endpoint public est https://zestecho.fr/mcp (JSON-RPC, protocole 2026-07-28 sans session). Il s'authentifie avec un jeton d'API, exactement comme l'API HTTP : crée-le dans Mon compte → Jetons d'API.

Configuration d'un client MCP (exemple)

{
  "mcpServers": {
    "zestecho": {
      "type": "http",
      "url": "https://zestecho.fr/mcp",
      "headers": { "Authorization": "Bearer zc_pat_…" }
    }
  }
}
Le jeton d'API est le mode d'authentification actuel. Le flux OAuth MCP complet (Protected Resource Metadata + bouton « Connect ») pourra être ajouté plus tard sans casser les jetons existants.

Le transport est stateless : chaque appel est un POST JSON-RPC autonome. Les requêtes GET et DELETE sont refusées (405), et il n'y a pas encore de notifications serveur-initiées ni d'abonnement (subscriptions/listen) en v1.

Portées

  • read — tous les outils de consultation.
  • write — création, modification, suppression, partages, décisions.
  • files — requis en plus de read pour lire un fichier, et de write pour l'envoyer, le renommer ou le supprimer.

Un jeton dont les portées sont insuffisantes reçoit une erreur explicite et rien n'est exécuté.

Outils orientés agent

La couche haute évite les enchaînements coûteux : un agent trouve le bon contexte en un ou deux appels.

  • search_workspace — recherche transversale (projets, dossiers, sessions, onglets Live, historique, noms de fichiers) dans tout ce que le compte peut voir, avec extraits et session cible.
  • get_context — en un appel : métadonnées de session, onglets (titre, ETag, extrait), résumé d'historique et fichiers ; tabId renvoie le contenu de l'onglet borné par maxChars, et read_tab donne le contenu complet avec son ETag.
  • list_sessions — sessions possédées et partagées avec rôle effectif et activité.
  • get_me, get_preferences, export_account.

Outils de structure et d'écriture

  • Projets, dossiers, sessions : create_project, update_project, delete_project, create_folder, update_folder, delete_folder, create_session, update_session, delete_session.
  • Onglets Live : list_tabs, read_tab, create_tab, rename_tab, delete_tab, append_text, replace_tab_text.
  • Historique : list_history, read_history_entry, save_history, delete_history.
  • Fichiers : list_files, download_file (contenu en ligne borné, jamais d'URL durable), upload_file, rename_file, delete_file.
  • Partages et demandes : share_session, share_project, list_members, set_session_member_role, revoke_session_member, list_requests, decide_request.

Écritures sûres

read_tab renvoie un ETag. replace_tab_text l'exige : un agent qui remplace un document doit d'abord l'avoir lu, et l'écriture échoue si le contenu a changé entre-temps. append_text l'accepte en option.

Parcours type

search_workspace({ "query": "TP1" })
  → sessions et fichiers correspondants

get_context({ "session": "tp1" })
  → onglets, extraits, ETag, historique, fichiers

read_tab({ "session": "tp1", "tabId": "…" })
  → contenu + ETag

append_text({ "session": "tp1", "tabId": "…", "text": "…" })
  → diffusé en direct aux navigateurs connectés

Principes

  • Un jeton par client, révocable depuis Mon compte.
  • Aucun accès plus large que le rôle du compte qui a créé le jeton.
  • Chaque opération passe par les services du noyau : permissions, quotas, validation serveur et trace d'audit pseudonyme.
  • Lecture seule par défaut ; l'écriture s'active intentionnellement à la création du jeton.