Ga naar hoofdinhoud

MCP-toegang (AI-agents)

Wat is er recent veranderd

MCP is nu volledig beschikbaar op de iPhone (naast de web-app). Het iPhone-scherm spiegelt het web-scherm en bevat dezelfde setup-snippets voor alle ondersteunde AI-clients.

Pro-abonnement en hoger

MCP-toegang vereist een Pro- of Ultra-abonnement. Beide abonnementen krijgen volledige read + write-toegang (27 tools) en kunnen naar read-only-modus schakelen als je dat wilt.

Met MCP (Model Context Protocol) verbind je AI-codeerassistenten en automation-tools direct met je TellDone-data. Eenmaal verbonden kan je AI-agent je notities, taken, afspraken, rapporten, tags en wijzigingsgeschiedenis lezen - en items aanmaken, bijwerken, verwijderen en herstellen. Er zijn 27 tools in totaal: 10 voor het lezen van data en 17 voor het schrijven.

Beschikbaar in zowel de iPhone-app (Instellingen → Integraties → AI Agents) als de web-app (Instellingen → AI Agents).

Twee manieren om te verbinden

Er zijn twee manieren om een AI-client te authenticeren, en beide worden volledig ondersteund:

  1. OAuth 2.1 (aanbevolen) - de standaard "Inloggen met TellDone"-toestemmingsflow. Dit is wat de connector-interface van Claude Desktop en Claude.ai gebruiken. Geen tokens kopiëren - je logt in met je TellDone-account en keurt de rechten goed die de client vraagt.
  2. Bearer-token - kopieer je persoonlijke toegangstoken uit Instellingen en plak het in de config van je client. Het eenvoudigst voor scripts, CLI's en clients zonder ingebouwde OAuth-flow.
ClientAanbevolen
Claude Desktop / CoworkOAuth - voeg een custom connector toe met de MCP-URL en log daarna in
Claude Code (CLI)Allebei - claude mcp add loodst je door OAuth in je browser, of voeg een Bearer-header toe voor de tokenmethode
Scripts of je eigen codeBearer-token - het eenvoudigst te automatiseren
Een client die je alleen laat kiezen uit een directory met vermelde connectorsGebruik voorlopig de bearer-token of de mcp-remote-bridge - TellDone staat nog niet in een connector-directory

Abonnementsvereisten

AbonnementMCP
FreeVergrendeld
BasicVergrendeld
ProRead + Write (27 tools) - kan naar Read-only-modus schakelen
UltraRead + Write (27 tools) - kan naar Read-only-modus schakelen

Het in-app scherm

Het scherm AI Agents heeft drie staten afhankelijk van je abonnement en of MCP aanstaat.

Vergrendeld (Free en Basic)

Als je het Free- of Basic-abonnement hebt, legt het scherm uit wat MCP doet en toont het een knop Upgraden. Daarop tikken opent de paywall waar je naar Pro of Ultra kunt upgraden.

Uitgeschakeld (Pro en Ultra, functie uit)

Als je Pro of Ultra hebt maar MCP nog niet hebt ingeschakeld, toont het scherm een korte samenvatting van wat je abonnement kan (aantal tools, toegangsmodus, quota) en een knop Inschakelen. Tik erop om je verbindingstoken te genereren en de integratie te starten.

Ingeschakeld

Eenmaal ingeschakeld toont het scherm alles wat je nodig hebt om een AI-client te verbinden:

  • Modus-toggle - op Ultra kun je schakelen tussen Read-only en Read + Write. Op Pro is de modus vast ingesteld op Read + Write.
  • Access Token-rij met een oog-toggle om het token te tonen of verbergen en een kopieerknop.
  • Setup-picker met tabbladen voor Claude Code, Cursor, Windsurf en Other. Het bijbehorende codesnippet verschijnt onder de tabbladen - kopieer en plak het in je AI-client.
  • Knop Regenerate - roteert het token direct en verbreekt actieve sessies die het oude token gebruiken.
  • Knop Disable - zet MCP uit en verwijdert het token. Je kunt het later opnieuw inschakelen, maar er wordt dan een nieuw token uitgegeven.
tip

Houd je verbindingstoken privé. Iedereen met het token heeft toegang tot je TellDone-data. Gebruik Regenerate als je vermoedt dat het token is gelekt.

Hoe in te schakelen

Je kunt MCP vanaf beide platforms configureren:

  • iPhone: Instellingen → Integraties → AI Agents (MCP)
  • Web: app.telldone.app → Instellingen → AI Agents

Stappen:

  1. Tik op Inschakelen.
  2. Kies je toegangsmodus (alleen Ultra - Pro is altijd Read + Write).
  3. Onthul en kopieer je token met de oog- en kopieerpictogrammen.
  4. Kies je tool in de sectie Setup (Claude Code, Cursor, Windsurf of Other).
  5. Plak het snippet in de config van je AI-client.

Verbinden met OAuth

OAuth is de aanbevolen route voor Claude Desktop, Claude.ai, Cowork en Claude Code - je logt in met je TellDone-account in plaats van een token rond te kopiëren.

MCP-URL voor OAuth: https://api.telldone.app/mcp/user (zonder /mcp erachter - dat is een andere URL, die alleen wordt gebruikt voor de bearer-tokenroute hieronder)

Claude Desktop / Cowork

  1. Kies in de client Add custom connector.
  2. Voer de server-URL in: https://api.telldone.app/mcp/user
  3. De client opent de toestemmingspagina van TellDone in je browser. Je ziet welke app toegang vraagt, welke rechten die precies wil en een inlogformulier.
  4. Log in met het e-mailadres en wachtwoord van je TellDone-account en klik op Allow.
  5. De client ontvangt automatisch een toegangstoken en verbindt - geen tokens om te kopiëren.
notitie

Inloggen op de toestemmingspagina gaat met het e-mailadres en wachtwoord van je TellDone-account. Als je account alleen Apple of Google Sign In heeft (geen wachtwoord ingesteld), gebruik dan voorlopig de bearer-tokenmethode hieronder.

Claude Code

OAuth (opent een inlogscherm in je browser):

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

Claude Code ontdekt de OAuth-flow automatisch, maar logt je niet in bij de eerste oproep - voer /mcp uit in Claude Code en kies Authenticate om het inlogscherm in je browser te openen. Daarna vernieuwt Claude Code je toegangstoken voor je - je hoeft niets bij te houden.

Bearer-token (geen browser, handig voor headless setups):

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

Je YOUR_TOKEN haal je uit de app: Instellingen → Integraties → AI Agents → Token kopiëren (zie Hoe in te schakelen hierboven).

Verbinden met een bearer-token

Voor clients zonder ingebouwde OAuth-ondersteuning - Cursor, Windsurf en andere - plak je je persoonlijke toegangstoken rechtstreeks in de config van de client. Vervang YOUR_TOKEN in alle onderstaande voorbeelden door het token uit je instellingen.

Cursor

Voeg toe aan .cursor/mcp.json:

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

Windsurf

Voeg toe aan .codeium/windsurf/mcp_config.json:

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

Other

Gebruik deze snippets voor clients die de in-app picker onder Other groepeert.

Codex

Voeg toe aan codex.json:

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

OpenClaw

Settings > MCP Servers > Add:

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

Andere MCP-clients

Elke tool die MCP via HTTP ondersteunt, kan verbinden. Gebruik het endpoint https://api.telldone.app/mcp/user/mcp met een autorisatie-header Bearer YOUR_TOKEN.

Alternatieve auth-header

Als je client of proxy de Authorization-header reserveert (bijvoorbeeld sommige Smithery-achtige gateways), stuur het token dan in X-MCP-Token: YOUR_TOKEN. Beide headers werken; als beide aanwezig zijn, wint Authorization.

Je verbinding testen

Je kunt verifiëren of je token werkt met een eenvoudig cURL-commando:

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}'

Een succesvol antwoord toont alle beschikbare tools.

Rechten (scopes)

OAuth-verbindingen zijn voorzien van scopes - tijdens het inloggen zie je precies wat de client vraagt en keur je dat expliciet goed.

ScopeLaat de app...
notes:readJe notities lezen, zoeken, volledige notitiedetails openen
notes:writeNotities aanmaken, bewerken, verwijderen (en de spraaknotitie-pipeline uitvoeren)
tasks:read / tasks:writeTaken lezen / aanmaken, bewerken, afronden en verwijderen
events:read / events:writeAfspraken lezen / aanmaken, bewerken en verwijderen
reports:readJe dagelijkse, wekelijkse, maandelijkse en jaarlijkse rapporten lezen
tags:read / tags:writeJe tags opsommen / tags aanmaken en hernoemen
profile:readJe profiel- en abonnementsinfo lezen
offline_accessVerbonden blijven als je er niet bent (geeft een refresh-token uit, zodat je niet elke sessie opnieuw hoeft in te loggen)

Scopes zijn een bovengrens, geen garantie - een verbinding met alleen notes:read kan geen schrijftool aanroepen, wat je er ook aan vraagt. Je abonnement is een tweede horde bovenop de scopes.

Bearer-tokenverbindingen krijgen geen eigen scopes - ze worden alleen bepaald door de read/write-modus van je abonnement.

Wat je kunt doen

Read-tools (10) - Pro en Ultra

ToolWat het doet
get_notesLijst notities met filters (tags, datumbereik, tekstzoekopdracht)
get_noteBekijk een enkele notitie met onderliggende taken, afspraken en volledig transcript
get_notes_fullKrijg meerdere notities met ingebedde taken en afspraken in een oproep
get_tasksLijst taken gefilterd op status (to-do, klaar, alle), tags of datums
get_eventsLijst agenda-afspraken, filter op datumbereik
get_reportsLees je dagelijkse, wekelijkse, maandelijkse en jaarlijkse rapporten (volledige markdown)
get_tagsBekijk al je tags gesorteerd op gebruik
get_profileZie je accountinfo en gebruiksstatistieken
searchZoek door notities, taken en afspraken (tekst + semantische zoekopdracht voor notities)
get_change_logBekijk de bewerkingsgeschiedenis van een notitie, taak of afspraak, en of elke bewerking ongedaan is gemaakt
tip

De tool search ondersteunt semantische zoekopdrachten voor notities - die vindt resultaten op betekenis, niet alleen op trefwoorden. Bijvoorbeeld: "vergaderingen over budget" vindt notities over financiele discussies ook al bevatten ze het woord "budget" niet.

Write-tools (17) - Pro en Ultra

ToolWat het doet
process_noteVolledige AI-pipeline - stuur tekst of audio, krijg een notitie terug met taken, afspraken en tags
create_noteVoeg een platte tekstnotitie toe (geen AI-analyse)
create_taskVoeg een taak toe met prioriteit, deadline, herinnering en tags
create_eventVoeg een agenda-afspraak toe met datum, tijd, locatie, herinneringen, deelnemers en herhaling
update_noteWijzig notitietitel, samenvatting, type, tags, prioriteit of status
update_taskWijzig taaktitel, beschrijving, prioriteit, deadline, herinnering, tags of status
complete_taskMarkeer een taak als klaar
update_eventWijzig afspraakdetails, tijd, locatie, herinneringen, deelnemers, herhaling, tags of status
delete_noteVerwijder een notitie en alle gekoppelde taken en afspraken
delete_taskVerwijder een taak
delete_eventVerwijder een afspraak
undo_change_log_entryMaak een enkele bijgehouden bewerking ongedaan - door de AI of door jezelf - en herstel de vorige waarde van het veld
restore_entityHaal een verwijderde of gearchiveerde notitie, taak of afspraak terug
create_tagMaak een nieuwe tag aan, of maak van een automatisch voorgestelde tag een permanente tag
set_tag_pinnedZet een tag vast of maak deze los zodat die bovenaan wordt gesorteerd
delete_tagVerwijder een tag (kan worden hersteld met restore_tag)
restore_tagHaal een verwijderde tag terug

Alle schrijf- en verwijderoperaties verschijnen direct op je verbonden apparaten (telefoon, web-app) via realtime sync.

Tools-naslagwerk

get_notes

Lijst notities met optionele filtering. Datumfilters gebruiken recorded_at (wanneer je de spraaknotitie hebt opgenomen), niet created_at.

ParameterTypeStandaardBeschrijving
limitint20Aantal te retourneren notities (max 50)
offsetint0Sla zoveel notities over (voor paginering, max 10000)
tagsstring-Filter op tags, door komma's gescheiden (matcht een of meerdere)
searchstring-Tekstzoekopdracht op titel en samenvatting
date_fromstring-Begindatum, YYYY-MM-DD (inclusief)
date_tostring-Einddatum, YYYY-MM-DD (exclusief)
standalone_onlyboolfalseIndien true worden vervolgnotities (notities gekoppeld aan een bovenliggende notitie, taak of afspraak) verborgen en worden alleen zelfstandige notities geretourneerd

Geeft terug: lijst van notities met id, title, summary, type, tags, priority, status, recorded_at, created_at.

get_note

Krijg een enkele notitie met volledig transcript en alle gekoppelde taken en afspraken.

ParameterTypeBeschrijving
note_idstringDe UUID van de notitie

Geeft terug: notitie met title, summary, transcript, type, tags, priority, status, metadata, created_at, plus arrays tasks[] en events[].

Geeft ook transcript_speakers terug (transcriptbeurten met sprekerlabels, voor vergaderingen met meerdere sprekers - anders null), speaker_count (null tenzij de opname per spreker is gesplitst) en parent_note_id/parent_task_id/parent_event_id (ingesteld wanneer deze notitie een opvolgbewerking van een ander item is). Elke tasks[]/events[]-vermelding bevat ook reminders_at/recurrence_rule (taken) of reminder_minutes/attendees/recurrence_rule (afspraken).

get_notes_full

Krijg meerdere notities met hun taken en afspraken in een enkele oproep. Dezelfde filters als get_notes, maar elke notitie bevat ingebedde tasks[] en events[].

ParameterTypeStandaardBeschrijving
limitint10Aantal notities (max 20)
offsetint0Sla zoveel notities over
tagsstring-Filter op tags
date_fromstring-Begindatum, YYYY-MM-DD
date_tostring-Einddatum, YYYY-MM-DD
standalone_onlyboolfalseIndien true worden vervolgnotities (notities gekoppeld aan een bovenliggende notitie, taak of afspraak) verborgen en worden alleen zelfstandige notities geretourneerd

get_tasks

Lijst taken met filtering.

ParameterTypeStandaardBeschrijving
statusstring"todo"Filter: todo, done of all
limitint30Aantal taken (max 100)
offsetint0Sla zoveel taken over
tagsstring-Filter op tags, door komma's gescheiden
date_fromstring-Begindatum, YYYY-MM-DD (filtert op deadline; taken zonder deadline worden uitgesloten)
date_tostring-Einddatum, YYYY-MM-DD (filtert op deadline; taken zonder deadline worden uitgesloten)

Geeft terug: lijst van taken met id, title, description, status, priority, tags, deadline, reminder_at, reminders_at, completed_at, completed_by, source, created_at. reminder_at spiegelt de eerste vermelding van reminders_at voor achterwaartse compatibiliteit - gebruik reminders_at om alle herinneringen van een taak te zien.

get_events

Lijst agenda-afspraken met filtering op datumbereik.

ParameterTypeStandaardBeschrijving
limitint30Aantal afspraken (max 100)
offsetint0Sla zoveel afspraken over
date_fromstring-Begindatum, YYYY-MM-DD (filtert op begintijd afspraak)
date_tostring-Einddatum, YYYY-MM-DD

Geeft terug: lijst van afspraken met id, title, description, status, start_at, end_at, location, is_all_day, tags, note_id, reminder_minutes, attendees, recurrence_rule, created_at.

get_reports

Krijg je door AI gegenereerde rapporten met volledige markdown-inhoud.

ParameterTypeStandaardBeschrijving
report_typestring"daily"Type: daily, weekly, monthly of yearly
limitint5Aantal rapporten (max 10)

Geeft terug: lijst van rapporten met id, type, period_start, period_end, content_md, created_at.

notitie

Maandrapporten kunnen 3.000-5.000 woorden zijn. Gebruik limit=1 als je AI-tool een krap context-venster heeft.

get_tags

Krijg al je tags, eerst gesorteerd op gepind, daarna op gebruiksaantal.

Geen parameters. Geeft tot 100 tags terug, elk met tag, usage_count, is_pinned, is_manual.

get_profile

Krijg je accountinfo en gebruiksstatistieken.

Geen parameters. Geeft terug email, display_name, locale, transcription_locale, timezone, subscription, mcp_mode, created_at en stats (aantallen notities/taken/afspraken).

Zoek tegelijk door notities, taken en afspraken. Voor notities ondersteunt het zowel tekstzoekopdrachten als semantische zoekopdrachten (vindt resultaten op betekenis met AI-embeddings).

ParameterTypeStandaardBeschrijving
querystringvereistZoektekst (max 500 tekens)
limitint20Max resultaten per type (max 20)
semanticbooltrueSemantische zoekopdracht voor notities inschakelen

Geeft resultaten terug gegroepeerd per type: notes[], tasks[], events[]. Elk resultaat heeft id, type, title, detail, created_at.

Stel semantic=false in voor snellere zoekopdracht op alleen tekst.

get_change_log

Bekijk de bewerkingsgeschiedenis van een notitie, taak of afspraak - elke opvolgbewerking door de AI en elke handmatige bewerking die je zelf hebt aangebracht, nieuwste eerst.

ParameterTypeStandaardBeschrijving
entitystringvereistnotes, tasks of events
entity_idstringvereistDe UUID van het item
include_manualboolfalseNeem ook je eigen handmatige bewerkingen mee, niet alleen die door de AI zijn gemaakt

Geeft terug: lijst van wijzigingsvermeldingen met id (gebruik dit als entry_id om ongedaan te maken), field_name, old_value, new_value, source (follow_up, smart_context of manual), origin_note_id, edited_at en reverted_at (ingesteld zodra ongedaan gemaakt).

process_note (Pro en Ultra)

Volledige AI-pipeline - werkt hetzelfde als opnemen in de app. Stuur tekst of audio, en TellDone transcribeert, analyseert met AI en maakt een gestructureerde notitie met eruit gehaalde taken, afspraken, tags en embeddings.

Deze tool is asynchroon: hij geeft direct een audio_id terug en verwerkt op de achtergrond. Resultaten komen binnen via realtime sync naar je verbonden apparaten, of je kunt pollen met get_notes().

ParameterTypeBeschrijving
textstringTekst om te analyseren (slaat transcriptie over als er geen audio is meegegeven)
audio_base64stringBase64-gecodeerd audiobestand (tot 50MB, triggert transcriptie)
audio_formatstringm4a, ogg, wav, mp3, aac of webm (standaard: m4a)
parent_task_idstringUUID van een taak waar dit een opvolging op is
parent_note_idstringUUID van een notitie waar dit een opvolging op is
parent_event_idstringUUID van een afspraak waar dit een opvolging op is

Je moet ofwel text of audio_base64 (of beide - audio krijgt voorrang voor transcriptie) meegeven.

Geeft terug: {"audio_id": "...", "status": "processing", "mode": "text-only"} of "mode": "audio+stt" als audio is meegegeven.

notitie

process_note valt onder de quota van je abonnement (uploads per dag, notities per maand, max tekstlengte). Gebruik get_profile om je huidige gebruik te controleren.

create_note (Pro en Ultra)

Maak direct een platte tekstnotitie. Triggert geen AI-analyse - er worden geen taken of afspraken eruit gehaald. Voor volledige AI-analyse met taak-/afspraakextractie gebruik je in plaats hiervan process_note.

ParameterTypeLimietBeschrijving
titlestring200 tekensVereist
summarystring1000 tekensOptioneel. Korte teaser (1-3 zinnen). Opgenomen in rapport-prompts, dus houd het beknopt
transcriptstringper abonnementOptioneel. Lange body weergegeven in het notitiedetail. Niet opgenomen in rapporten. Limieten: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000 tekens
typestring-Optioneel. task, idea, info (standaard), status, meeting, event of reflection
tagsstring20 tagsDoor komma's gescheiden, optioneel

create_task (Pro en Ultra)

Maak een nieuwe taak aan.

ParameterTypeLimietBeschrijving
titlestring200 tekensVereist
descriptionstring2000 tekensOptioneel
prioritystring-low, medium (standaard) of high
deadlinestring-YYYY-MM-DD, optioneel
reminder_atstring-ISO 8601 datetime (bijv. 2026-04-15T09:00:00Z), optioneel
tagsstring20 tagsDoor komma's gescheiden, optioneel
note_idstring-UUID om taak aan een bovenliggende notitie te koppelen, optioneel

create_event (Pro en Ultra)

Maak een agenda-afspraak aan.

ParameterTypeLimietBeschrijving
titlestring200 tekensVereist
start_atstring-ISO 8601 datetime, vereist
end_atstring-ISO 8601 datetime (standaard: start + 1 uur)
descriptionstring2000 tekensOptioneel
locationstring200 tekensOptioneel
is_all_daybool-Standaard: false
tagsstring20 tagsDoor komma's gescheiden, optioneel
reminder_minutesstring-Door komma's gescheiden minuten voor afspraak (bijv. 15,60), optioneel
attendeesstring-Door komma's gescheiden namen of e-mails, optioneel
recurrence_rulestring-RRULE-string (bijv. FREQ=WEEKLY;BYDAY=MO,WE,FR), optioneel
note_idstring-UUID om afspraak aan bovenliggende notitie te koppelen, optioneel

update_note (Pro en Ultra)

Werk een of meer velden van een bestaande notitie bij. Alleen velden die je meegeeft, worden gewijzigd.

ParameterTypeBeschrijving
note_idstringVereist, de UUID van de notitie
titlestringNieuwe titel (max 200 tekens)
summarystringNieuwe samenvatting (max 1000 tekens, geef een spatie " " mee om te wissen)
transcriptstringNieuw transcript (limiet per abonnement, geef een spatie " " mee om te wissen)
typestringtask, idea, info, status, meeting, event of reflection
tagsstringDoor komma's gescheiden tags (vervangt alle bestaande tags, max 20)
prioritystringlow, medium of high
statusstringactive of archived
pas op

Voor notities die door de spraak-pipeline zijn aangemaakt, is transcript de originele speech-to-text-uitvoer. Overschrijven vervangt de canonieke bron - overweeg om eraan toe te voegen als je het origineel wilt bewaren.

update_task (Pro en Ultra)

Werk een of meer velden van een bestaande taak bij. Alleen velden die je meegeeft, worden gewijzigd.

ParameterTypeBeschrijving
task_idstringVereist, de UUID van de taak
titlestringNieuwe titel
descriptionstringNieuwe beschrijving (geef een spatie " " om te wissen)
prioritystringlow, medium of high
deadlinestringYYYY-MM-DD (geef een spatie om te wissen)
statusstringtodo of done
tagsstringDoor komma's gescheiden tags (vervangt alle bestaande tags, max 20)
reminder_atstringISO 8601 datetime (geef een spatie om te wissen)

status op done zetten registreert ook wanneer en hoe de taak is voltooid.

complete_task (Pro en Ultra)

Snelkoppeling om een taak als klaar te markeren.

ParameterTypeBeschrijving
task_idstringVereist, de UUID van de taak

Geeft een fout terug als de taak niet bestaat of al voltooid is.

update_event (Pro en Ultra)

Werk een of meer velden van een bestaande afspraak bij. Alleen velden die je meegeeft, worden gewijzigd.

ParameterTypeBeschrijving
event_idstringVereist, de UUID van de afspraak
titlestringNieuwe titel
descriptionstringNieuwe beschrijving (geef een spatie om te wissen)
start_atstringNieuwe begintijd (ISO 8601)
end_atstringNieuwe eindtijd (ISO 8601)
locationstringNieuwe locatie (geef een spatie om te wissen)
statusstringconfirmed, tentative of cancelled
tagsstringDoor komma's gescheiden tags (vervangt alle bestaande tags, max 20)
is_all_daystring"true" of "false"
reminder_minutesstringDoor komma's gescheiden minuten voor afspraak (bijv. 15,60)
attendeesstringDoor komma's gescheiden namen of e-mails
recurrence_rulestringRRULE-string (geef een spatie om te wissen)

delete_note (Pro en Ultra)

Verwijder een notitie. Dit verwijdert ook alle taken en afspraken die uit deze notitie zijn aangemaakt.

ParameterTypeBeschrijving
note_idstringVereist, de UUID van de notitie

delete_task (Pro en Ultra)

Verwijder een taak.

ParameterTypeBeschrijving
task_idstringVereist, de UUID van de taak

delete_event (Pro en Ultra)

Verwijder een afspraak.

ParameterTypeBeschrijving
event_idstringVereist, de UUID van de afspraak

undo_change_log_entry (Pro en Ultra)

Maak een enkele bijgehouden bewerking ongedaan - herstelt het veld naar de waarde van vóór die bewerking, of de bewerking nu door de AI is gemaakt (vanuit een opvolgopname) of door jou rechtstreeks.

ParameterTypeBeschrijving
entitystringVereist, notes, tasks of events
entity_idstringVereist, de UUID van het item
entry_idstringVereist, de id van de wijzigingsvermelding uit get_change_log

Geeft terug: {"entry_id", "entity_type", "entity_id", "field_name", "restored_value", "reverted_at"}. Dezelfde vermelding twee keer ongedaan maken geeft een fout - die is al ongedaan gemaakt.

restore_entity (Pro en Ultra)

Haal een verwijderde of gearchiveerde notitie, taak of afspraak terug.

ParameterTypeBeschrijving
entitystringVereist, notes, tasks of events
entity_idstringVereist, de UUID van het item

Geeft terug: het herstelde item als JSON.

create_tag (Pro en Ultra)

Maak een nieuwe tag aan, of maak van een bestaande automatisch voorgestelde tag een permanente tag.

ParameterTypeBeschrijving
tagstringVereist, 1-50 tekens (opgeslagen in kleine letters)
categorystringOptioneel

set_tag_pinned (Pro en Ultra)

Zet een tag vast of maak deze los zodat die bovenaan je taglijst wordt gesorteerd.

ParameterTypeBeschrijving
tagstringVereist
pinnedboolVereist

Tags met een /-teken kunnen niet worden vastgezet.

delete_tag (Pro en Ultra)

Verwijder een tag. Kan worden teruggehaald met restore_tag.

ParameterTypeBeschrijving
tagstringVereist

restore_tag (Pro en Ultra)

Haal een verwijderde tag terug.

ParameterTypeBeschrijving
tagstringVereist

Invoerlimieten

VeldMax lengteGebruikt in
title200 tekenscreate/update note, task, event
description2.000 tekenscreate/update task, event
summary1.000 tekens (hard)create/update note. Opgenomen in rapport-prompts, kort gehouden om tokenkosten te beheersen
transcriptper abonnement: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000create/update note. Lange body, niet in rapporten
location200 tekenscreate/update event
tags20 tagscreate/update note, task, event
zoekquery500 tekenssearch
audio_base64 (gedecodeerd)50 MBprocess_note

Als je een limiet overschrijdt, retourneert de tool een foutmelding zoals "title too long (max 200 chars, got 250)".

Foutafhandeling

Alle tools retourneren JSON. Fouten gebruiken dit formaat:

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

Veelvoorkomende fouten:

FoutWanneer
"MCP access is read-only..."Schrijftool aangeroepen in read-only-modus
"Invalid note_id format"Niet-UUID-string als ID meegegeven
"Note not found"ID bestaat niet of hoort bij een andere gebruiker
"Task not found or already completed"complete_task op niet-bestaande of reeds afgeronde taak
"title too long (max 200 chars, got N)"Invoerlimiet overschreden
"Too many tags (max 20)"Meer dan 20 tags meegegeven

Fouten op HTTP-niveau:

CodeBetekenis
401Ongeldig of ontbrekend Bearer-token
403MCP uitgeschakeld of abonnement staat MCP niet toe
429Rate limit overschreden (5 req/s, burst tot 20)

Gebruiksvoorbeelden

Alle voorbeelden gebruiken cURL met het MCP JSON-RPC-protocol. Vervang YOUR_TOKEN door je verbindingstoken.

Data lezen

# Krijg je profiel en 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"}}'

# Lijst recente notities (limiet 5, vanaf april 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"}}}'

# Zoek notities (hybride tekst + semantisch)
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}}}'

Data schrijven (Pro en Ultra)

# Verwerk een notitie door de volledige AI-pipeline (haalt taken + afspraken eruit)
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."}}}'

# Maak een taak met deadline en herinnering
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"}}}'

# Maak een terugkerende afspraak met herinneringen en deelnemers
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"}}}'

# Rond een taak af
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>"}}}'

Een succesvol antwoord ziet er zo uit:

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

Schrijf- en update-tools retourneren minimale antwoorden met alleen id, title en status. Om volledige details te krijgen (tags, prioriteit, deadline, enz.) na een schrijfactie, doe een opvolgende leesoproep zoals get_tasks of get_note.

Tokenbeheer

ActieHoe
Token bekijkeniPhone Instellingen → Integraties → AI Agents (of web Instellingen → AI Agents), tik op het oogpictogram
Token kopiërenTik op het kopieerpictogram naast het token
RegenerateTik op Regenerate en bevestig. Het oude token werkt direct niet meer en actieve sessies worden verbroken
Modus wijzigenAlleen Ultra - schakel tussen Read-only en Read + Write. Op Pro is de modus vast op Read + Write
UitschakelenTik op Disable en bevestig. Het token wordt verwijderd en alle verbindingen stoppen. Je kunt later opnieuw inschakelen (er wordt dan een nieuw token uitgegeven)

Wat je je AI-agent kunt vragen

Zodra je verbonden bent, kun je je AI-tool dingen vragen als:

Bekijk je dag:

  • "Waar heb ik vandaag aan gewerkt?"
  • "Toon mijn notities van deze week"
  • "Welke taken zijn achterstallig?"

Beheer taken:

  • "Maak een taak: kwartaalrapport reviewen, hoge prioriteit, deadline vrijdag"
  • "Markeer de Figma-taak als klaar"
  • "Aan welke taken werk ik?"

Zoek en analyseer:

  • "Vind alle notities over de marketingstrategie"
  • "Welke afspraken heb ik volgende week?"
  • "Vat mijn dagrapporten van afgelopen week samen"

Plan vooruit:

  • "Maak een afspraak: team standup morgen om 10 uur"
  • "Wat staat er deze week in mijn agenda?"
  • "Toon mijn top tags - waar besteed ik de meeste tijd aan?"

De AI-agent heeft volledige toegang tot je notities, taken, afspraken en rapporten. Hij kan data lezen, aanmaken, bijwerken en verwijderen, en complexe vragen beantwoorden door informatie uit meerdere tools te combineren.

Belangrijke opmerkingen

  • Twee manieren om notities aan te maken - create_note maakt direct een platte tekstnotitie aan (geen AI-analyse). process_note voert de volledige AI-pipeline uit (zelfde als opnemen in de app) - het analyseert de tekst, haalt taken en afspraken eruit en genereert tags en embeddings. Gebruik process_note wanneer je wilt dat TellDone het denkwerk voor je doet.
  • Geen integratiesync - items aangemaakt of bijgewerkt via MCP triggeren geen webhook-automations of integratiesyncs (Todoist, Notion). Ze verschijnen in je apps bij de volgende sync.
  • Semantische zoekopdracht hangt af van de tool - notities aangemaakt met process_note krijgen embeddings en verschijnen in semantische zoekopdrachten. Notities aangemaakt met create_note krijgen geen embeddings, dus ze verschijnen alleen in tekstzoekopdrachten.
  • Schrijfantwoorden zijn minimaal - create- en update-tools retourneren alleen id, title en status. Om alle velden te krijgen na een schrijfactie, doe een opvolgende leesoproep.
  • Datumfilters gebruiken UTC - parameters date_from/date_to worden vergeleken als UTC-tijdstempels. Voor gebruikers in niet-UTC-tijdzones kunnen grensdatums items van aangrenzende dagen opnemen of uitsluiten.
  • Rate limit - 5 verzoeken per seconde, met bursts tot 20. Voor bulkoperaties moet je je verzoeken doseren.

Beveiliging

  • Elke gebruiker krijgt een uniek verbindingstoken van 384 bits
  • Je token wordt direct ingetrokken wanneer je MCP uitschakelt of regenereert
  • Alle data is strikt geïsoleerd tot je account - je agent kan alleen je eigen data benaderen
  • Elk verzoek is gescoped naar je gebruiker - er is geen manier waarop een agent data van een andere gebruiker kan benaderen
  • Verbinding gebruikt HTTPS met rate limiting (5 req/s, burst tot 20)
  • OAuth-verbindingen gebruiken PKCE met eenmalig bruikbare autorisatiecodes en kortlevende toegangstokens - je kunt een verbinding op elk moment intrekken vanuit de app

Wil je de techniek induiken - discovery-endpoints, tokenlevensduur, de volledige OAuth-flow - bekijk dan onze open-source connector-referentie op github.com/exp78/telldone-mcp, of bevraag https://api.telldone.app/.well-known/oauth-protected-resource rechtstreeks.

Privacy en datastroom

Je data wordt alleen naar een verbonden AI-tool gestuurd wanneer je die er expliciet om vraagt - bijvoorbeeld wanneer je vraagt om je notities te lezen of te wijzigen. De tool ontvangt alleen de antwoorden op de specifieke oproepen die hij doet, binnen de rechten die je hebt goedgekeurd. Jij houdt de controle: wijzig de read/write-modus van je abonnement, beperk de OAuth-scopes die je bij het inloggen goedkeurt, of regenereer en schakel je bearer-token uit, allemaal vanuit Instellingen. Zie het Privacybeleid voor alle details, of neem contact op via support@telldone.app als je vragen hebt.

Problemen oplossen

SymptoomOorzaak / oplossing
De OAuth-toestemmingspagina zegt "Wrong email or password"Gebruik het e-mailadres en wachtwoord van je TellDone-account (waarmee je inlogt in de app). Als je account alleen Apple of Google Sign In heeft en geen wachtwoord, gebruik dan de bearer-tokenmethode.
Verbonden, maar de AI kan niets aanmaken of bewerkenJe abonnement of modus is read-only, of de verbinding heeft geen write-scopes gekregen - verbind opnieuw en keur ze goed, of controleer je modus in Instellingen.
Foutmelding "Insufficient scope" van een toolDe OAuth-verbinding heeft die scope niet gekregen. Verbind opnieuw en keur het recht goed dat de tool nodig heeft.
Er verschijnen helemaal geen toolsMCP staat niet aan op je account (Instellingen → AI Agents), of je abonnement bevat geen MCP.
Mijn client laat me alleen kiezen uit een lijst met connectors en TellDone staat er niet bijTellDone staat nog niet in de connector-directory van een client - voeg het toe als custom connector met de MCP-URL, of gebruik de bearer-tokenmethode.

Zie ook