Configuration MCP
Chaque compte dispose de son propre point d’accès MCP, limité aux tâches de ce compte. Aucun jeton partagé ou global.
1. Connectez-vous par OAuth (recommandé)
Done est un serveur d’autorisation OAuth 2.1 complet pour son point d’accès MCP. Les clients qui parlent OAuth (claude.ai, les connecteurs ChatGPT et Claude Desktop) se connectent donc tout seuls, sans aucun jeton à copier. Ajoutez Done comme connecteur personnalisé, avec l’URL seulement :
https://trydone.app/mcp- Allez dans Settings → Connectors → Add custom connector.
- Indiquez
https://trydone.app/mcpcomme URL du serveur MCP distant et cliquez sur Add. - Cliquez sur Connect. Le client découvre les points d’accès OAuth de Done, s’enregistre et vous envoie sur Done pour vous connecter et approuver l’accès.
- Approuvez, et le connecteur est actif, limité à votre seul compte.
2. Ou utilisez un jeton bearer
Pour les clients configurés à la main (ou par un script), générez plutôt un jeton. Ouvrez le panneau Compte, en bas à gauche de la barre latérale, et générez un jeton MCP. Il n’est affiché qu’une fois : copiez-le en lieu sûr. Vous pouvez créer un jeton à accès complet, un jeton en lecture seule ou un jeton limité à un seul projet. Pointez ensuite un client vers le point d’accès :
{
"mcpServers": {
"done": {
"url": "https://trydone.app/mcp",
"headers": { "Authorization": "Bearer <votre-jeton-mcp-généré>" }
}
}
}Sur claude.ai, vous pouvez aussi coller ce même Authorization: Bearer <token> comme en-tête de requête dans les Advanced settings d’un connecteur personnalisé. Dans les deux cas, un agent qui utilise le jeton ne voit et ne modifie que ce à quoi le jeton donne accès.
Connectez un agent personnel
Les agents personnels capables d’ajouter un serveur MCP distant se connectent à Done de la même façon : pointez-les vers https://trydone.app/mcp, puis connectez-vous par OAuth ou donnez-leur un jeton MCP de l’étape 2. Un jeton en lecture seule ou limité à un seul projet est un bon début pour un agent que vous apprenez encore à connaître.
Meta Muse
Muse ajoute de nouveaux outils sous forme de connecteurs personnalisés, et vous en demandez un dans la conversation. Dites à Muse : « Créez un connecteur personnalisé pour le serveur MCP de Done à l’adresse https://trydone.app/mcp. » Quand il demande des identifiants, donnez-lui votre jeton MCP par son invite sécurisée de saisie des identifiants, pas dans la conversation elle-même.
Hermes Agent (Nous Research)
Ajoutez Done à ~/.hermes/config.yaml, puis lancez hermes mcp login done pour approuver l’accès dans Done, et hermes mcp test done pour vérifier qu’il liste bien les outils de Done :
mcp_servers:
done:
url: "https://trydone.app/mcp"
auth: oauthPour utiliser un jeton à la place, remplacez auth: oauth par headers: { Authorization: "Bearer <votre-jeton-mcp>" }.
OpenClaw (anciennement Clawdbot)
Ajoutez Done comme serveur streamable-HTTP, connectez-vous, puis testez la connexion :
openclaw mcp add done --url https://trydone.app/mcp --transport streamable-http
openclaw mcp login done
openclaw mcp doctor done --probePréférez la connexion par OAuth à un en-tête Authorization statique : certaines versions d’OpenClaw ne transmettent pas les en-têtes personnalisés aux serveurs streamable-HTTP.
Poke
Dans Poke, ouvrez Integrations → New, nommez l’intégration Done, indiquez https://trydone.app/mcp comme MCP Server URL, collez votre jeton MCP dans API Key et cliquez sur Create Integration.
Instinct
Instinct ne publie pas encore de marche à suivre pour les outils externes. Si le vôtre peut ajouter une connexion MCP personnalisée, donnez-lui l’URL https://trydone.app/mcp et un jeton MCP, envoyé sous la forme Authorization: Bearer <token>.
Tout autre agent capable d’ajouter un serveur MCP distant convient aussi : suivez les étapes OAuth du point 1 s’il prend en charge OAuth, ou utilisez un jeton du point 2 dans le cas contraire. Dans les deux cas, il apparaît dans Réglages → Accès des agents, où vous pouvez le révoquer en un clic.
3. Outils à la disposition de l’agent
Le serveur MCP expose des outils pensés pour des flux de travail, et non du CRUD brut :
list_my_tasksnext_tasklist_tasksget_taskclaim_task / release_taskdecline_taskhandoff_tasklist_agentspause_boardpause_taskcomment_on_taskcheck_criterionask_decisionlist_open_decisions / withdraw_decisioncheck_night_budgetdelete_commentcomplete_taskpropose_completionapprove_task / reject_taskpropose_planapprove_plan / reject_plancreate_task / update_task / delete_taskquick_capturedecompose_taskrender_planset_step_statusblock_task / unblock_taskstart_run / end_run / check_budgetfleet_statusrunner_heartbeatlist_triggers / claim_triggersearch_activitylist_routineschanges_sincelist_claude_shippedlist_stale_tasksget_evidencecreate_artifact_uploadpropose_capture / list_capture_inboxpropose_editpropose_brief_editpropose_grooming / list_grooming_proposalsget_autonomy_ledgerget_agent_rosterget_agent_economicsget_digest / get_weekly_review / get_statslist_projects / create_project / update_project / delete_projectlist_workspaceslist_goals / create_goal / update_goal / delete_goallist_tags / create_tag / delete_tag / tag_task / untag_tasklist_trash / restore_tasklist_connectionssearch_contextread_contextsave_contextlist_calendar_eventssuggest_event_matcheslink_task_to_event / unlink_task_from_eventPrompts et ressources
Au-delà des outils, le serveur est pleinement natif MCP : il expose aussi des prompts et des ressources, pour qu’un client puisse proposer des flux de travail prêts à l’emploi et joindre des données en direct comme contexte.
- prompts/list · des modèles d’une ligne qui correspondent à de vrais flux de travail, pour qu’un client puisse les présenter comme des commandes slash :
- plan_my_day — Prépare un plan réaliste et hiérarchisé pour aujourd’hui à partir de mes tâches ouvertes.
- work_next — Prend en charge et traite la seule tâche prête la plus prioritaire.
- daily_review — Résume ce qui a été fait, ce qui est en retard et ce sur quoi se concentrer ensuite.
- groom_board — Repère le travail ouvert qui s’est éteint sans bruit et propose quoi faire de chaque tâche (propose seulement).
- answer_backlog — Reprend les tâches dont j’ai déjà répondu aux questions en attente.
- prep_meetings — Associe les événements de calendrier du jour aux tâches qu’ils concernent et prépare chacun d’eux.
- triage_task — Évalue une tâche, puis la planifie ou signale ce qui la bloque.
- resources/list · des vues en lecture seule qu’un client peut joindre : done://digest, done://queue et un done://task/<id> par tâche ouverte. Les jetons à portée limitée ne voient jamais que leur propre projet.
Une exécution type d’un agent
get_digest → list_open_decisions → next_task → get_task → travail, en cochant check_criterion à mesure que chaque condition est remplie → comment_on_task une seule fois, avec le compte rendu → propose_completion. Vous relisez les résultats dans le fil de la tâche et vous en restez le responsable.
Demander sans s’arrêter
Un agent qui arrive à un vrai choix (dépenser de l’argent, agir vers l’extérieur, faire quelque chose d’irréversible) ne doit pas deviner, mais il ne doit pas non plus rester à attendre. Il appelle ask_decision et passe à la suite : la tâche sort de sa file en needs_input, vous répondez dans À valider ou directement depuis un message privé Slack, et la tâche revient dans la file avec votre réponse jointe. L’exécution suivante lit ainsi la réponse au lieu de reconstituer la question.
Chaque question arrive avec la recommandation de l’agent et le raisonnement qui la fonde : y répondre tient le plus souvent en un clic, pas en un travail de rédaction. Répondre n’est pas approuver : cela rend la tâche à l’agent et ne clôture jamais rien. Une seule question bloquante peut être ouverte par tâche, ce qui évite qu’une boîte de décisions ne devienne le fil de commentaires qu’elle a remplacé.
C’est ce qui rend une routine nocturne digne d’être laissée en marche. Sans cela, la première ambiguïté à 3 h du matin arrête toute la nuit ; avec cela, seule cette tâche est mise de côté et l’agent continue de traiter le reste.
Lancez-le à heures fixes
Done ne fait tourner aucun agent sur ses propres serveurs. Pour que vos tâches soient traitées sans surveillance, quelque chose doit l’appeler, par exemple le planificateur du client MCP que vous utilisez déjà. Tous les clients MCP se connectent de la même façon ; seule la planification change :
Claude — Routines
S’exécute dans le cloud d’Anthropic selon un horaire, avec Done ajouté comme connecteur.
- Ajoutez Done comme connecteur sur claude.ai/customize/connectors, avec l’URL du serveur MCP https://trydone.app/mcp. Il doit se trouver sur votre compte claude.ai : une routine ne voit pas les serveurs MCP ajoutés localement dans la CLI.
- Ouvrez claude.ai/code/routines et cliquez sur New routine, ou lancez /schedule dans la CLI Claude Code et décrivez ce que vous voulez avec vos mots.
- Collez l’un des prompts de Done comme instructions. Une routine s’exécute sans personne pour la surveiller : le prompt doit donc se suffire à lui-même. C’est exactement pour cela que ceux de la vue Prompts sont écrits.
- Donnez-lui un déclencheur planifié : toutes les heures, tous les jours, en semaine ou toutes les semaines. Une heure est l’intervalle le plus court autorisé.
- Sous Connectors, laissez Done inclus et retirez ceux auxquels cette routine n’a aucune raison de toucher. Créez-la, puis cliquez une fois sur Run now pour suivre la première exécution de bout en bout.
Avant de commencer : Les routines nécessitent une offre Claude payante (Pro, Max, Team ou Enterprise) avec Claude Code sur le web activé.
ChatGPT — Tâches planifiées
Une tâche programmée, qui accède à Done par un connecteur personnalisé.
- Ajoutez Done comme connecteur personnalisé en mode développeur, en le faisant pointer vers https://trydone.app/mcp, puis connectez-vous quand il le demande.
- Ouvrez une conversation, collez l’un des prompts de Done et demandez qu’il soit planifié : « lance ceci chaque jour de semaine à 8 h ».
- Gérez ce que vous avez créé sous Tasks, dans le menu de votre profil. Les tâches ne se déclenchent que sur minuterie, toutes les heures au mieux, et se mettent en pause toutes seules si vous les ignorez assez longtemps.
Avant de commencer : Avec ChatGPT Plus et Pro, les connecteurs MCP personnalisés sont en lecture seule : un agent peut lire votre file d’attente, mais ne peut rien prendre en charge, commenter ni terminer. Pour écrire en retour, il faut une offre ChatGPT Business, Enterprise ou Edu.
Tout le reste — Votre propre planificateur
N’importe quel client MCP, réveillé par l’outil que vous utilisez déjà pour lancer des choses à heure fixe.
- Faites pointer le client vers https://trydone.app/mcp, en envoyant votre jeton dans un en-tête Authorization: Bearer.
- Demandez à cron, à une planification de CI, à un moteur de workflows (ce à quoi vous faites déjà confiance pour tourner à heure fixe) de démarrer ce client avec l’un des prompts de Done comme instructions.
- Donnez à l’exécution un endroit où rendre compte. Chaque prompt de la bibliothèque se termine en écrivant dans Done : le tableau sert de journal, et vous n’avez pas besoin de regarder ailleurs.
Quelle que soit la voie choisie, voici le prompt à lui donner (il est en anglais ; copiez-le tel quel) :
You are my Done task runner. Work my queue through the Done MCP connector only — never touch anything outside my Done account.
Each run:
1. Call list_open_decisions first, then get_digest and list_my_tasks, to see what's assigned to me (the AI agent) and ready. A task whose parked question I've since answered is the cheapest work on the board — the context is written down and the blocker just cleared — so start there.
2. For each ready task, decide what to do:
- in_progress with plan_approved_at set → its plan is approved, so DO THE WORK now. Read it with get_task (notes_for_agent, acceptance_criteria, description, references), carry it out, and when it's finished call propose_completion with a summary — or complete_task if the task is agent_ok.
- not_started and small or agent_ok → just do it, then complete_task (agent_ok) or propose_completion.
- not_started and substantial or ambiguous (multi-step, judgment calls, anything I'd want to sign off on the approach for) → do NOT start it. Call propose_plan with a short plan of how you intend to tackle it, then move on. It waits for my approval and comes back to you once I approve it in Needs you.
3. Report progress by ticking the acceptance criteria with check_criterion as you actually meet each one — not by narrating into comments. Post at most ONE dense comment_on_task per task per run: what you did, what you found, what's left. A running commentary is noise.
4. Hit a real fork — spending money, anything outward-facing (an email, a post, a reply to a customer), anything irreversible — and call ask_decision with your own recommendation, then MOVE ON to the next task. Don't guess, and don't sit there waiting. If you later work the answer out yourself, withdraw_decision rather than leaving a stale question in my queue.
5. If a task was assigned to me but shouldn't be — it needs my accounts, my signature, or my judgment — hand it back with decline_task and a one-line reason. Declining is a valid outcome.
6. Respect the gates: never force a non-agent_ok task to done, and never act on a task that isn't assigned to me.
7. For any task that has sub-steps (a plan) — one you decomposed, or that already had subtasks — call render_plan on it so I get the laid-out plan with progress and an "Open in Done" link.
8. If nothing is ready, stop — don't invent work.
If you're running unattended overnight, wrap the run: call start_run at the top and check_night_budget before picking up each task, so you stop at the caps I set in Settings → Where agents run, and call end_run when you finish.
End with a one-line summary: plans proposed, tasks worked, tasks completed, questions parked.À chaque exécution, il propose un plan pour toute tâche conséquente et attend, puis il exécute tout ce que vous avez approuvé dans À valider depuis la dernière fois. Vous approuvez, l’agent fait le travail : vous n’avez jamais à lancer une exécution à la main. La même configuration est à un clic dans le panneau Compte (« Mettez un agent IA au travail sur votre file d’attente »).
Remarques
- Connectez-vous par OAuth (pour les clients qui découvrent
/.well-known/oauth-authorization-server) ou avec un jeton bearer longue durée, propre à chaque compte et généré dans l’application. Les deux fonctionnent sur le même point d’accès. - Chaque jeton et chaque autorisation sont limités à un seul compte ; il n’existe aucun jeton global ni commun à plusieurs comptes. Les jetons bearer peuvent être restreints davantage, à la lecture seule ou à un seul projet.
- Régénérer ou révoquer un jeton l’invalide immédiatement.
- L’offre Gratuit comprend 100 appels d’agent (MCP) par mois ; Pro et Teams sont illimités. Consultez les tarifs.