Aller au contenu principal

Accès MCP (agents IA)

Ce qui a changé récemment

MCP est désormais entièrement disponible sur iPhone (en plus de l'application web). L'écran iPhone reflète celui du web et inclut les mêmes extraits de configuration pour tous les clients IA pris en charge.

Forfait Pro et au-dessus

L'accès MCP nécessite un forfait Pro ou Ultra. Les deux forfaits ont l'accès complet read + write (27 outils) et peuvent basculer en mode read-only si tu préfères.

MCP (Model Context Protocol) te permet de connecter des assistants IA de code et des outils d'automatisation directement à tes données TellDone. Une fois connecté, ton agent IA peut lire tes notes, tâches, événements, rapports, tags et l'historique des modifications - et créer, mettre à jour, supprimer et restaurer des éléments. Il y a 27 outils au total : 10 pour lire les données et 17 pour écrire.

Disponible à la fois dans l'application iPhone (Paramètres → Intégrations → Agents IA) et dans l'application web (Paramètres → Agents IA).

Deux façons de se connecter

Il y a deux façons d'authentifier un client IA, et les deux sont entièrement prises en charge :

  1. OAuth 2.1 (recommandé) - le flux de consentement standard « Se connecter avec TellDone ». C'est ce qu'utilisent l'interface de connecteurs de Claude Desktop et Claude.ai. Aucun token à copier - tu te connectes avec ton compte TellDone et tu approuves les permissions que le client demande.
  2. Token bearer - copie ton token d'accès personnel depuis les Paramètres et colle-le dans la config de ton client. C'est le plus simple pour les scripts, les CLI et les clients sans flux OAuth intégré.
ClientRecommandé
Claude Desktop / CoworkOAuth - ajoute un connecteur personnalisé avec l'URL MCP, puis connecte-toi
Claude Code (CLI)L'un ou l'autre - claude mcp add te guide dans le flux OAuth via ton navigateur, ou ajoute un en-tête Bearer pour la méthode par token
Scripts ou ton propre codeToken bearer - le plus simple à automatiser
Un client qui permet seulement de choisir dans un annuaire de connecteurs référencésUtilise le token bearer ou le pont mcp-remote pour l'instant - TellDone n'est encore dans aucun annuaire de connecteurs

Prérequis par forfait

ForfaitMCP
FreeVerrouillé
BasicVerrouillé
ProRead + Write (27 outils) - peut basculer en mode Read-only
UltraRead + Write (27 outils) - peut basculer en mode Read-only

L'écran in-app

L'écran Agents IA a trois états selon ton forfait et l'état d'activation de MCP.

Verrouillé (Free et Basic)

Si tu es sur le forfait Free ou Basic, l'écran explique ce que fait MCP et affiche un bouton Passer à un forfait supérieur. Appuie dessus pour ouvrir l'écran de mise à niveau et passer à Pro ou Ultra.

Désactivé (Pro et Ultra, fonctionnalité éteinte)

Si tu es sur Pro ou Ultra mais que tu n'as pas encore activé MCP, l'écran montre un court résumé de ce que ton forfait peut faire (nombre d'outils, mode d'accès, quotas) et un bouton Activer. Appuie dessus pour générer ton token de connexion et démarrer l'intégration.

Activé

Une fois activé, l'écran affiche tout ce qu'il te faut pour connecter un client IA :

  • Bascule de mode - sur Ultra tu peux basculer entre Read-only et Read + Write. Sur Pro le mode est fixé sur Read + Write.
  • Ligne Token d'accès avec un œil pour révéler ou masquer le token et un bouton de copie.
  • Sélecteur Configuration avec onglets pour Claude Code, Cursor, Windsurf et Autre. L'extrait de code correspondant apparaît sous les onglets - il suffit de copier-coller dans ton client IA.
  • Bouton Régénérer - tourne le token immédiatement et déconnecte toutes les sessions actives utilisant l'ancien.
  • Bouton Désactiver - éteint MCP et supprime le token. Tu peux réactiver plus tard, mais un nouveau token sera émis.
astuce

Garde ton token de connexion privé. Quiconque possède le token peut accéder à tes données TellDone. Utilise Régénérer si tu soupçonnes une fuite du token.

Comment activer

Tu peux configurer MCP depuis l'une ou l'autre plateforme :

  • iPhone : Paramètres → Intégrations → Agents IA (MCP)
  • Web : app.telldone.app → Paramètres → Agents IA

Étapes :

  1. Appuie sur Activer.
  2. Choisis ton mode d'accès (Ultra uniquement - Pro est toujours Read + Write).
  3. Révèle et copie ton token avec les icônes œil et copie.
  4. Choisis ton outil dans la section Configuration (Claude Code, Cursor, Windsurf ou Autre).
  5. Colle l'extrait dans la config de ton client IA.

Connexion avec OAuth

OAuth est la méthode recommandée pour Claude Desktop, Claude.ai, Cowork et Claude Code - tu te connectes avec ton compte TellDone au lieu de trimballer un token.

URL MCP pour OAuth : https://api.telldone.app/mcp/user (sans /mcp à la fin - c'est une URL différente, utilisée uniquement pour la méthode par token bearer ci-dessous)

Claude Desktop / Cowork

  1. Dans le client, choisis Ajouter un connecteur personnalisé.
  2. Saisis l'URL du serveur : https://api.telldone.app/mcp/user
  3. Le client ouvre la page de consentement TellDone dans ton navigateur. Tu y vois quelle application demande l'accès, les permissions exactes qu'elle réclame et un formulaire de connexion.
  4. Connecte-toi avec l'e-mail et le mot de passe de ton compte TellDone, puis clique sur Autoriser.
  5. Le client reçoit automatiquement un token d'accès et se connecte - aucun token à copier.
remarque

La connexion sur la page de consentement utilise l'e-mail et le mot de passe de ton compte TellDone. Si ton compte n'a que Sign in with Apple ou Google (pas de mot de passe défini), utilise pour l'instant la méthode par token bearer ci-dessous.

Claude Code

OAuth (ouvre une connexion dans le navigateur) :

claude mcp add --transport http telldone https://api.telldone.app/mcp/user

Claude Code détecte le flux OAuth automatiquement, mais il ne te connecte pas au premier appel - lance /mcp dans Claude Code et choisis Authenticate pour ouvrir la connexion dans le navigateur. Ensuite il rafraîchit ton token d'accès tout seul - rien à maintenir.

Token bearer (sans navigateur, pratique pour les configurations headless) :

claude mcp add telldone --transport http \
https://api.telldone.app/mcp/user/mcp \
--header "Authorization: Bearer YOUR_TOKEN"

Récupère ton YOUR_TOKEN dans l'application : Paramètres → Intégrations → Agents IA → Copier le token (voir Comment activer plus haut).

Connexion avec un token bearer

Pour les clients sans prise en charge OAuth intégrée - Cursor, Windsurf et les autres - colle ton token d'accès personnel directement dans la config du client. Remplace YOUR_TOKEN par le token de tes paramètres dans tous les exemples ci-dessous.

Cursor

Ajoute à .cursor/mcp.json :

{
"mcpServers": {
"telldone": {
"url": "https://api.telldone.app/mcp/user/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}

Windsurf

Ajoute à .codeium/windsurf/mcp_config.json :

{
"mcpServers": {
"telldone": {
"serverUrl": "https://api.telldone.app/mcp/user/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}

Autre

Utilise ces extraits pour les clients que le sélecteur in-app regroupe sous Autre.

Codex

Ajoute à codex.json :

{
"mcpServers": {
"telldone": {
"type": "http",
"url": "https://api.telldone.app/mcp/user/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}

OpenClaw

Settings > MCP Servers > Add :

  • Name : TellDone
  • URL : https://api.telldone.app/mcp/user/mcp
  • Auth : Bearer YOUR_TOKEN

Autres clients MCP

Tout outil qui prend en charge MCP via HTTP peut se connecter. Utilise l'endpoint https://api.telldone.app/mcp/user/mcp avec un en-tête d'autorisation Bearer YOUR_TOKEN.

En-tête d'auth alternatif

Si ton client ou proxy réserve l'en-tête Authorization (par exemple, certaines passerelles façon Smithery), envoie le token dans X-MCP-Token: YOUR_TOKEN à la place. Les deux en-têtes fonctionnent ; si les deux sont présents, Authorization gagne.

Tester ta connexion

Tu peux vérifier que ton token fonctionne avec une commande cURL simple :

curl -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

Une réponse réussie liste tous les outils disponibles.

Permissions (scopes)

Les connexions OAuth sont limitées par des scopes - pendant la connexion, tu vois exactement ce que le client demande et tu l'approuves explicitement.

ScopePermet à l'application de...
notes:readLire tes notes, faire des recherches, ouvrir le détail complet d'une note
notes:writeCréer, modifier, supprimer des notes (et lancer le pipeline de notes vocales)
tasks:read / tasks:writeLire / créer, modifier, terminer et supprimer des tâches
events:read / events:writeLire / créer, modifier et supprimer des événements
reports:readLire tes rapports quotidiens, hebdomadaires, mensuels et annuels
tags:read / tags:writeLister tes tags / créer et renommer des tags
profile:readLire ton profil et les infos de ton abonnement
offline_accessRester connecté quand tu es absent (émet un refresh token pour t'éviter de te reconnecter à chaque session)

Les scopes sont un plafond, pas une garantie - une connexion qui n'a que notes:read ne peut pas appeler un outil d'écriture, quoi que tu lui demandes. Ton forfait est un second filtre par-dessus les scopes.

Les connexions par token bearer n'ont pas de scopes individuels - elles sont régies uniquement par le mode read/write de ton forfait.

Ce que tu peux faire

Outils de lecture (10) - Pro et Ultra

OutilCe qu'il fait
get_notesListe les notes avec filtres (tags, plage de dates, recherche texte)
get_noteVoir une seule note avec ses tâches enfants, événements et transcription complète
get_notes_fullRécupérer plusieurs notes avec tâches et événements intégrés en un seul appel
get_tasksListe les tâches filtrées par statut (à faire, terminé, tout), tags ou dates
get_eventsListe les événements de calendrier, filtre par plage de dates
get_reportsLit tes rapports quotidiens, hebdomadaires, mensuels et annuels (markdown complet)
get_tagsVoir tous tes tags triés par usage
get_profileVoir tes infos de compte et statistiques d'usage
searchRecherche dans notes, tâches et événements (texte + recherche sémantique pour les notes)
get_change_logConsulte l'historique des modifications d'une note, d'une tâche ou d'un événement, et si chaque modification a été annulée
astuce

L'outil search prend en charge la recherche sémantique pour les notes - il trouve des résultats par sens, pas seulement par mots-clés. Par exemple, chercher « réunions sur le budget » trouvera des notes sur des discussions financières même si elles ne contiennent pas le mot « budget ».

Outils d'écriture (17) - Pro et Ultra

OutilCe qu'il fait
process_notePipeline IA complet - envoie texte ou audio, récupère une note avec tâches, événements et tags
create_noteAjoute une note texte simple (pas d'analyse IA)
create_taskAjoute une tâche avec priorité, échéance, rappel et tags
create_eventAjoute un événement de calendrier avec date, heure, lieu, rappels, participants et récurrence
update_noteChange le titre, résumé, type, tags, priorité ou statut de note
update_taskChange le titre, description, priorité, échéance, rappel, tags ou statut de tâche
complete_taskMarque une tâche comme faite
update_eventChange les détails, l'heure, le lieu, les rappels, les participants, la récurrence, les tags ou le statut d'événement
delete_noteSupprime une note et toutes ses tâches et événements liés
delete_taskSupprime une tâche
delete_eventSupprime un événement
undo_change_log_entryAnnule une seule modification suivie - faite par l'IA ou par toi - en restaurant la valeur précédente du champ
restore_entityRestaure une note, une tâche ou un événement supprimé ou archivé
create_tagCrée un nouveau tag, ou transforme un tag auto-suggéré en tag permanent
set_tag_pinnedÉpingle ou désépingle un tag pour qu'il soit trié en haut
delete_tagSupprime un tag (peut être restauré avec restore_tag)
restore_tagRestaure un tag supprimé

Toutes les opérations d'écriture et de suppression apparaissent instantanément sur tes appareils connectés (téléphone, application web) via la synchro en temps réel.

Référence des outils

get_notes

Liste les notes avec filtrage facultatif. Les filtres de date utilisent recorded_at (quand tu as enregistré la note vocale), pas created_at.

ParamètreTypeDéfautDescription
limitint20Nombre de notes à renvoyer (max 50)
offsetint0Sauter ce nombre de notes (pour la pagination, max 10000)
tagsstring-Filtrer par tags, séparés par virgules (correspond à n'importe lequel)
searchstring-Recherche texte sur titre et résumé
date_fromstring-Date de début, YYYY-MM-DD (incluse)
date_tostring-Date de fin, YYYY-MM-DD (exclue)
standalone_onlyboolfalseSi true, masque les notes de suivi (notes rattachées à une note, tâche ou événement parent) et ne renvoie que les notes autonomes

Renvoie : liste de notes avec id, title, summary, type, tags, priority, status, recorded_at, created_at.

get_note

Récupère une seule note avec sa transcription complète et toutes ses tâches et événements liés.

ParamètreTypeDescription
note_idstringL'UUID de la note

Renvoie : note avec title, summary, transcript, type, tags, priority, status, metadata, created_at, plus les tableaux tasks[] et events[].

Renvoie aussi transcript_speakers (tours de transcription étiquetés par intervenant, pour les réunions à plusieurs intervenants - null sinon), speaker_count (null sauf si l'enregistrement a été découpé par intervenant), et parent_note_id/parent_task_id/parent_event_id (définis quand cette note est une modification de suivi d'un autre élément). Chaque entrée tasks[]/events[] inclut aussi reminders_at/recurrence_rule (tâches) ou reminder_minutes/attendees/recurrence_rule (événements).

get_notes_full

Récupère plusieurs notes avec leurs tâches et événements en un seul appel. Mêmes filtres que get_notes, mais chaque note inclut tasks[] et events[] intégrés.

ParamètreTypeDéfautDescription
limitint10Nombre de notes (max 20)
offsetint0Sauter ce nombre de notes
tagsstring-Filtrer par tags
date_fromstring-Date de début, YYYY-MM-DD
date_tostring-Date de fin, YYYY-MM-DD
standalone_onlyboolfalseSi true, masque les notes de suivi (notes rattachées à une note, tâche ou événement parent) et ne renvoie que les notes autonomes

get_tasks

Liste les tâches avec filtrage.

ParamètreTypeDéfautDescription
statusstring"todo"Filtre : todo, done ou all
limitint30Nombre de tâches (max 100)
offsetint0Sauter ce nombre de tâches
tagsstring-Filtrer par tags, séparés par virgules
date_fromstring-Date de début, YYYY-MM-DD (filtre par échéance ; les tâches sans échéance sont exclues)
date_tostring-Date de fin, YYYY-MM-DD (filtre par échéance ; les tâches sans échéance sont exclues)

Renvoie : liste de tâches avec id, title, description, status, priority, tags, deadline, reminder_at, reminders_at, completed_at, completed_by, source, created_at. reminder_at reflète la première entrée de reminders_at pour la compatibilité ascendante - utilise reminders_at pour voir tous les rappels d'une tâche.

get_events

Liste les événements de calendrier avec filtrage par plage de dates.

ParamètreTypeDéfautDescription
limitint30Nombre d'événements (max 100)
offsetint0Sauter ce nombre d'événements
date_fromstring-Date de début, YYYY-MM-DD (filtre par heure de début d'événement)
date_tostring-Date de fin, YYYY-MM-DD

Renvoie : liste d'événements avec id, title, description, status, start_at, end_at, location, is_all_day, tags, note_id, reminder_minutes, attendees, recurrence_rule, created_at.

get_reports

Récupère tes rapports générés par IA avec contenu markdown complet.

ParamètreTypeDéfautDescription
report_typestring"daily"Type : daily, weekly, monthly ou yearly
limitint5Nombre de rapports (max 10)

Renvoie : liste de rapports avec id, type, period_start, period_end, content_md, created_at.

remarque

Les rapports mensuels peuvent faire 3 000 à 5 000 mots. Utilise limit=1 si ton outil IA a une fenêtre de contexte serrée.

get_tags

Récupère tous tes tags, triés par épinglés en premier, puis par nombre d'utilisations.

Pas de paramètres. Renvoie jusqu'à 100 tags, chacun avec tag, usage_count, is_pinned, is_manual.

get_profile

Récupère tes infos de compte et statistiques d'usage.

Pas de paramètres. Renvoie email, display_name, locale, transcription_locale, timezone, subscription, mcp_mode, created_at et stats (compteurs notes/tâches/événements).

Recherche dans notes, tâches et événements en même temps. Pour les notes, prend en charge la recherche texte et la recherche sémantique (trouve des résultats par sens grâce aux embeddings IA).

ParamètreTypeDéfautDescription
querystringrequisTexte de recherche (max 500 caractères)
limitint20Résultats max par type (max 20)
semanticbooltrueActive la recherche sémantique pour les notes

Renvoie les résultats groupés par type : notes[], tasks[], events[]. Chaque résultat a id, type, title, detail, created_at.

Mets semantic=false pour une recherche texte plus rapide.

get_change_log

Consulte l'historique des modifications d'une note, d'une tâche ou d'un événement - chaque modification de suivi faite par l'IA et chaque modification manuelle que tu as faite toi-même, la plus récente en premier.

ParamètreTypeDéfautDescription
entitystringrequisnotes, tasks ou events
entity_idstringrequisL'UUID de l'élément
include_manualboolfalseInclure aussi tes propres modifications manuelles, pas seulement celles faites par l'IA

Renvoie : liste d'entrées de modification avec id (à utiliser comme entry_id pour annuler), field_name, old_value, new_value, source (follow_up, smart_context ou manual), origin_note_id, edited_at, et reverted_at (défini une fois annulé).

process_note (Pro et Ultra)

Pipeline IA complet - fonctionne comme un enregistrement dans l'application. Envoie texte ou audio, et TellDone va transcrire, analyser avec l'IA et créer une note structurée avec tâches, événements, tags et embeddings extraits.

Cet outil est asynchrone : il renvoie immédiatement un audio_id et traite en arrière-plan. Les résultats arrivent via la synchro en temps réel sur tes appareils connectés, ou tu peux interroger avec get_notes().

ParamètreTypeDescription
textstringTexte à analyser (saute la transcription si pas d'audio fourni)
audio_base64stringFichier audio encodé en base64 (jusqu'à 50 Mo, déclenche la transcription)
audio_formatstringm4a, ogg, wav, mp3, aac ou webm (défaut : m4a)
parent_task_idstringUUID d'une tâche dont c'est un suivi
parent_note_idstringUUID d'une note dont c'est un suivi
parent_event_idstringUUID d'un événement dont c'est un suivi

Tu dois fournir soit text, soit audio_base64 (ou les deux - l'audio est prioritaire pour la transcription).

Renvoie : {"audio_id": "...", "status": "processing", "mode": "text-only"} ou "mode": "audio+stt" si un audio a été fourni.

remarque

process_note est soumis aux quotas de ton forfait (envois par jour, notes par mois, longueur max de texte). Utilise get_profile pour vérifier ton usage actuel.

create_note (Pro et Ultra)

Crée instantanément une note texte simple. Ne déclenche pas l'analyse IA - aucune tâche ni événement n'est extrait. Pour l'analyse IA complète avec extraction de tâches/événements, utilise plutôt process_note.

ParamètreTypeLimiteDescription
titlestring200 car.Requis
summarystring1000 car.Facultatif. Court teaser (1 à 3 phrases). Inclus dans les prompts de rapport, à garder concis
transcriptstringselon forfaitFacultatif. Corps long affiché dans le détail. Pas inclus dans les rapports. Limites : Free 2 000 / Basic 8 000 / Pro 20 000 / Ultra 50 000 caractères
typestring-Facultatif. task, idea, info (défaut), status, meeting, event ou reflection
tagsstring20 tagsSéparés par virgules, facultatif

create_task (Pro et Ultra)

Crée une nouvelle tâche.

ParamètreTypeLimiteDescription
titlestring200 car.Requis
descriptionstring2000 car.Facultatif
prioritystring-low, medium (défaut) ou high
deadlinestring-YYYY-MM-DD, facultatif
reminder_atstring-Datetime ISO 8601 (par exemple 2026-04-15T09:00:00Z), facultatif
tagsstring20 tagsSéparés par virgules, facultatif
note_idstring-UUID pour lier la tâche à une note parente, facultatif

create_event (Pro et Ultra)

Crée un événement de calendrier.

ParamètreTypeLimiteDescription
titlestring200 car.Requis
start_atstring-Datetime ISO 8601, requis
end_atstring-Datetime ISO 8601 (défaut : début + 1 heure)
descriptionstring2000 car.Facultatif
locationstring200 car.Facultatif
is_all_daybool-Défaut : false
tagsstring20 tagsSéparés par virgules, facultatif
reminder_minutesstring-Minutes avant l'événement séparées par virgules (par exemple 15,60), facultatif
attendeesstring-Noms ou e-mails séparés par virgules, facultatif
recurrence_rulestring-Chaîne RRULE (par exemple FREQ=WEEKLY;BYDAY=MO,WE,FR), facultatif
note_idstring-UUID pour lier l'événement à une note parente, facultatif

update_note (Pro et Ultra)

Met à jour un ou plusieurs champs d'une note existante. Seuls les champs fournis sont modifiés.

ParamètreTypeDescription
note_idstringRequis, l'UUID de la note
titlestringNouveau titre (max 200 car.)
summarystringNouveau résumé (max 1000 car., passe un espace " " pour effacer)
transcriptstringNouvelle transcription (limite selon forfait, passe un espace " " pour effacer)
typestringtask, idea, info, status, meeting, event ou reflection
tagsstringTags séparés par virgules (remplace tous les tags existants, max 20)
prioritystringlow, medium ou high
statusstringactive ou archived
attention

Pour les notes créées par le pipeline vocal, transcript est la sortie originale de la reconnaissance vocale. La remplacer remplace la source canonique - envisage plutôt de l'append si tu veux préserver l'original.

update_task (Pro et Ultra)

Met à jour un ou plusieurs champs d'une tâche existante. Seuls les champs fournis sont modifiés.

ParamètreTypeDescription
task_idstringRequis, l'UUID de la tâche
titlestringNouveau titre
descriptionstringNouvelle description (passe un espace " " pour effacer)
prioritystringlow, medium ou high
deadlinestringYYYY-MM-DD (passe un espace pour effacer)
statusstringtodo ou done
tagsstringTags séparés par virgules (remplace tous les tags existants, max 20)
reminder_atstringDatetime ISO 8601 (passe un espace pour effacer)

Mettre status à done enregistre aussi quand et comment la tâche a été terminée.

complete_task (Pro et Ultra)

Raccourci pour marquer une tâche comme faite.

ParamètreTypeDescription
task_idstringRequis, l'UUID de la tâche

Renvoie une erreur si la tâche n'existe pas ou est déjà terminée.

update_event (Pro et Ultra)

Met à jour un ou plusieurs champs d'un événement existant. Seuls les champs fournis sont modifiés.

ParamètreTypeDescription
event_idstringRequis, l'UUID de l'événement
titlestringNouveau titre
descriptionstringNouvelle description (passe un espace pour effacer)
start_atstringNouvelle heure de début (ISO 8601)
end_atstringNouvelle heure de fin (ISO 8601)
locationstringNouveau lieu (passe un espace pour effacer)
statusstringconfirmed, tentative ou cancelled
tagsstringTags séparés par virgules (remplace tous les tags existants, max 20)
is_all_daystring"true" ou "false"
reminder_minutesstringMinutes avant l'événement séparées par virgules (par exemple 15,60)
attendeesstringNoms ou e-mails séparés par virgules
recurrence_rulestringChaîne RRULE (passe un espace pour effacer)

delete_note (Pro et Ultra)

Supprime une note. Cela supprime aussi toutes les tâches et événements créés à partir de cette note.

ParamètreTypeDescription
note_idstringRequis, l'UUID de la note

delete_task (Pro et Ultra)

Supprime une tâche.

ParamètreTypeDescription
task_idstringRequis, l'UUID de la tâche

delete_event (Pro et Ultra)

Supprime un événement.

ParamètreTypeDescription
event_idstringRequis, l'UUID de l'événement

undo_change_log_entry (Pro et Ultra)

Annule une seule modification suivie - restaure le champ à sa valeur avant cette modification, que celle-ci ait été faite par l'IA (à partir d'un enregistrement de suivi) ou par toi directement.

ParamètreTypeDescription
entitystringRequis, notes, tasks ou events
entity_idstringRequis, l'UUID de l'élément
entry_idstringRequis, l'id de l'entrée de modification issu de get_change_log

Renvoie : {"entry_id", "entity_type", "entity_id", "field_name", "restored_value", "reverted_at"}. Annuler deux fois la même entrée renvoie une erreur - elle est déjà annulée.

restore_entity (Pro et Ultra)

Restaure une note, une tâche ou un événement supprimé ou archivé.

ParamètreTypeDescription
entitystringRequis, notes, tasks ou events
entity_idstringRequis, l'UUID de l'élément

Renvoie : l'élément restauré en JSON.

create_tag (Pro et Ultra)

Crée un nouveau tag, ou transforme un tag auto-suggéré existant en tag permanent.

ParamètreTypeDescription
tagstringRequis, 1 à 50 caractères (stocké en minuscules)
categorystringFacultatif

set_tag_pinned (Pro et Ultra)

Épingle ou désépingle un tag pour qu'il soit trié en haut de ta liste de tags.

ParamètreTypeDescription
tagstringRequis
pinnedboolRequis

Les tags contenant un caractère / ne peuvent pas être épinglés.

delete_tag (Pro et Ultra)

Supprime un tag. Peut être restauré avec restore_tag.

ParamètreTypeDescription
tagstringRequis

restore_tag (Pro et Ultra)

Restaure un tag supprimé.

ParamètreTypeDescription
tagstringRequis

Limites d'entrée

ChampLongueur maxUtilisé dans
title200 caractèrescreate/update note, task, event
description2 000 caractèrescreate/update task, event
summary1 000 caractères (strict)create/update note. Inclus dans les prompts de rapport, court pour contrôler le coût en tokens
transcriptselon forfait : Free 2 000 / Basic 8 000 / Pro 20 000 / Ultra 50 000create/update note. Corps long, pas dans les rapports
location200 caractèrescreate/update event
tags20 tagscreate/update note, task, event
search query500 caractèressearch
audio_base64 (décodé)50 Moprocess_note

Si tu dépasses une limite, l'outil renvoie un message d'erreur du genre "title too long (max 200 chars, got 250)".

Gestion des erreurs

Tous les outils renvoient du JSON. Les erreurs utilisent ce format :

{"error": "description of what went wrong"}

Erreurs courantes :

ErreurQuand
"MCP access is read-only..."Outil d'écriture appelé en mode read-only
"Invalid note_id format"Chaîne non-UUID passée comme ID
"Note not found"L'ID n'existe pas ou appartient à un autre utilisateur
"Task not found or already completed"complete_task sur tâche inexistante ou déjà faite
"title too long (max 200 chars, got N)"Limite d'entrée dépassée
"Too many tags (max 20)"Plus de 20 tags fournis

Erreurs au niveau HTTP :

CodeSens
401Bearer token invalide ou manquant
403MCP désactivé ou forfait n'autorisant pas MCP
429Limite de débit dépassée (5 req/s, pics jusqu'à 20)

Exemples d'usage

Tous les exemples utilisent cURL avec le protocole MCP JSON-RPC. Remplace YOUR_TOKEN par ton token de connexion.

Lecture de données

# Récupérer ton profil et tes stats
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"get_profile"}}'

# Lister les notes récentes (limite 5, à partir d'avril 2026)
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"get_notes","arguments":{"limit":5,"date_from":"2026-04-01"}}}'

# Rechercher des notes (texte hybride + sémantique)
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"search","arguments":{"query":"project deadline","limit":5}}}'

Écriture de données (Pro et Ultra)

# Traiter une note via le pipeline IA complet (extrait tâches + événements)
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":10,"method":"tools/call",
"params":{"name":"process_note","arguments":{"text":"Need to buy groceries tomorrow. Meeting with Katie at 3pm at the cafe to discuss the project."}}}'

# Créer une tâche avec échéance et rappel
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":11,"method":"tools/call",
"params":{"name":"create_task","arguments":{"title":"Review PR","priority":"high","deadline":"2026-04-15","reminder_at":"2026-04-15T09:00:00Z","tags":"dev"}}}'

# Créer un événement récurrent avec rappels et participants
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":12,"method":"tools/call",
"params":{"name":"create_event","arguments":{"title":"Team standup","start_at":"2026-04-12T10:00:00Z","reminder_minutes":"15","attendees":"Katie,John","recurrence_rule":"FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR","tags":"meeting"}}}'

# Terminer une tâche
curl -s -X POST https://api.telldone.app/mcp/user/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"jsonrpc":"2.0","id":13,"method":"tools/call",
"params":{"name":"complete_task","arguments":{"task_id":"<task-uuid>"}}}'

Une réponse réussie ressemble à :

{
"jsonrpc": "2.0",
"id": 10,
"result": {
"content": [{"type": "text", "text": "{\"id\":\"...\",\"title\":\"Review PR\",\"status\":\"todo\"}"}]
}
}
remarque

Les outils d'écriture et de mise à jour renvoient des réponses minimales avec uniquement id, title et status. Pour récupérer tous les détails (tags, priorité, échéance, etc.) après une écriture, fais un appel de lecture de suivi comme get_tasks ou get_note.

Gestion du token

ActionComment
Voir le tokeniPhone Paramètres → Intégrations → Agents IA (ou web Paramètres → Agents IA), appuie sur l'icône œil
Copier le tokenAppuie sur l'icône de copie à côté du token
RégénérerAppuie sur Régénérer et confirme. L'ancien token cesse de fonctionner immédiatement et toute session active est déconnectée
Changer de modeUltra uniquement - bascule entre Read-only et Read + Write. Sur Pro le mode est fixé sur Read + Write
DésactiverAppuie sur Désactiver et confirme. Le token est supprimé et toutes les connexions s'arrêtent. Tu peux réactiver plus tard (un nouveau token sera émis)

Ce que tu peux demander à ton agent IA

Une fois connecté, demande à ton outil IA des choses comme :

Faire le bilan de ta journée :

  • « Sur quoi j'ai travaillé aujourd'hui ? »
  • « Affiche-moi mes notes de cette semaine »
  • « Quelles tâches sont en retard ? »

Gérer des tâches :

  • « Crée une tâche : revoir le rapport trimestriel, haute priorité, échéance vendredi »
  • « Marque la tâche Figma comme faite »
  • « Sur quelles tâches je travaille ? »

Rechercher et analyser :

  • « Trouve toutes les notes sur la stratégie marketing »
  • « Quels événements j'ai la semaine prochaine ? »
  • « Résume mes rapports quotidiens de la semaine dernière »

Planifier :

  • « Crée un événement : team standup demain à 10h »
  • « Qu'est-ce que j'ai dans mon calendrier cette semaine ? »
  • « Affiche mes top tags - sur quoi je passe le plus de temps ? »

L'agent IA a un accès complet à tes notes, tâches, événements et rapports. Il peut lire, créer, mettre à jour et supprimer des données, et répondre à des questions complexes en combinant des informations de plusieurs outils.

Notes importantes

  • Deux façons de créer des notes - create_note crée instantanément une note texte simple (pas d'analyse IA). process_note lance le pipeline IA complet (comme un enregistrement dans l'application) - il analyse le texte, extrait tâches et événements, génère tags et embeddings. Utilise process_note quand tu veux que TellDone réfléchisse pour toi.
  • Pas de synchro d'intégration - les éléments créés ou mis à jour via MCP ne déclenchent pas les automatisations webhook ni les synchros d'intégration (Todoist, Notion). Ils apparaîtront dans tes apps à la prochaine synchro.
  • La recherche sémantique dépend de l'outil - les notes créées avec process_note reçoivent des embeddings et apparaissent dans la recherche sémantique. Les notes créées avec create_note ne reçoivent pas d'embeddings, donc elles n'apparaissent que dans la recherche texte.
  • Les réponses d'écriture sont minimales - les outils de création et mise à jour renvoient seulement id, title et status. Pour tous les champs après une écriture, fais un appel de lecture de suivi.
  • Les filtres de date utilisent UTC - les paramètres date_from/date_to sont comparés comme timestamps UTC. Pour les utilisateurs hors UTC, les dates limites peuvent inclure ou exclure des éléments des jours adjacents.
  • Limite de débit - 5 requêtes par seconde, avec des pics jusqu'à 20. Pour les opérations en masse, espace tes requêtes.

Sécurité

  • Chaque utilisateur reçoit un token de connexion unique de 384 bits
  • Ton token est révoqué instantanément quand tu désactives MCP ou le régénères
  • Toutes les données sont strictement isolées à ton compte - ton agent ne peut accéder qu'à tes propres données
  • Chaque requête est cantonnée à ton utilisateur - aucun moyen pour un agent d'accéder aux données d'un autre utilisateur
  • La connexion utilise HTTPS avec limitation de débit (5 req/s, pics jusqu'à 20)
  • Les connexions OAuth utilisent PKCE avec des codes d'autorisation à usage unique et des tokens d'accès de courte durée - tu peux révoquer une connexion à tout moment depuis l'application

Pour une plongée technique - endpoints de découverte, durées de vie des tokens, flux OAuth complet - consulte notre référence de connecteur open source sur github.com/exp78/telldone-mcp, ou interroge directement https://api.telldone.app/.well-known/oauth-protected-resource.

Confidentialité et flux de données

Tes données ne sont transmises à un outil IA connecté que lorsque tu lui demandes explicitement de faire quelque chose - par exemple, quand tu lui demandes de lire ou de modifier tes notes. L'outil ne reçoit que les réponses aux appels précis qu'il effectue, dans la limite des permissions que tu as approuvées. Tu gardes le contrôle : change le mode read/write de ton forfait, restreins les scopes OAuth que tu approuves à la connexion, ou régénère et désactive ton token bearer, le tout depuis les Paramètres. Consulte la Politique de confidentialité pour tous les détails, ou écris à support@telldone.app si tu as des questions.

Dépannage

SymptômeCause / solution
La page de consentement OAuth affiche « Wrong email or password »Utilise l'e-mail et le mot de passe de ton compte TellDone (celui avec lequel tu te connectes à l'application). Si ton compte n'a que Sign in with Apple ou Google et pas de mot de passe, utilise plutôt la méthode par token bearer.
Connecté, mais l'IA ne peut rien créer ni modifierTon forfait ou ton mode est en read-only, ou la connexion n'a pas reçu les scopes d'écriture - reconnecte-toi et approuve-les, ou vérifie ton mode dans les Paramètres.
Erreur « Insufficient scope » renvoyée par un outilLa connexion OAuth n'a pas reçu ce scope. Reconnecte-toi et approuve la permission dont l'outil a besoin.
Les outils n'apparaissent pas du toutMCP n'est pas activé sur ton compte (Paramètres → Agents IA), ou ton forfait n'inclut pas MCP.
Mon client me laisse seulement choisir dans une liste de connecteurs, et TellDone n'y est pasTellDone n'est encore dans l'annuaire de connecteurs d'aucun client - ajoute-le comme connecteur personnalisé avec l'URL MCP, ou utilise la méthode par token bearer.

Voir aussi

  • Automatisations webhook - envoie des données vers des services externes automatiquement
  • Todoist - synchro bidirectionnelle dédiée des tâches
  • Notion - intégration Notion dédiée