MCP-toegang (AI-agents)
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.
MCP-toegang vereist een Pro- of Ultra-abonnement. Beide abonnementen krijgen volledige read + write-toegang (20 tools). Ultra heeft hogere quota en kan ook naar read-only-modus schakelen.
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 en rapporten lezen - en items aanmaken, bijwerken en verwijderen. Er zijn 20 tools in totaal: 9 voor het lezen van data en 11 voor het schrijven.
Beschikbaar in zowel de iPhone-app (Instellingen → Integraties → AI Agents) als de web-app (Instellingen → AI Agents).
Abonnementsvereisten
| Abonnement | MCP |
|---|---|
| Free | Vergrendeld |
| Basic | Vergrendeld |
| Pro | Read + Write (20 tools) |
| Ultra | Read + Write (20 tools, hogere quota) - kan ook 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.
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:
- Tik op Inschakelen.
- Kies je toegangsmodus (alleen Ultra - Pro is altijd Read + Write).
- Onthul en kopieer je token met de oog- en kopieerpictogrammen.
- Kies je tool in de sectie Setup (Claude Code, Cursor, Windsurf of Other).
- Plak het snippet in de config van je AI-client.
Je AI-tool verbinden
De vier tabbladen in de in-app Setup-picker (Claude Code, Cursor, Windsurf, Other) komen overeen met onderstaande secties. Vervang YOUR_TOKEN in alle voorbeelden door het token uit je instellingen.
Claude Code
Voer dit commando uit in je terminal:
claude mcp add telldone --transport http \
https://api.telldone.app/mcp/user/mcp \
--header "Authorization: Bearer YOUR_TOKEN"
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.
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.
Wat je kunt doen
Read-tools (9) - Pro en Ultra
| Tool | Wat het doet |
|---|---|
| get_notes | Lijst notities met filters (tags, datumbereik, tekstzoekopdracht) |
| get_note | Bekijk een enkele notitie met onderliggende taken, afspraken en volledig transcript |
| get_notes_full | Krijg meerdere notities met ingebedde taken en afspraken in een oproep |
| get_tasks | Lijst taken gefilterd op status (to-do, klaar, alle), tags of datums |
| get_events | Lijst agenda-afspraken, filter op datumbereik |
| get_reports | Lees je dagelijkse, wekelijkse, maandelijkse en jaarlijkse rapporten (volledige markdown) |
| get_tags | Bekijk al je tags gesorteerd op gebruik |
| get_profile | Zie je accountinfo en gebruiksstatistieken |
| search | Zoek door notities, taken en afspraken (tekst + semantische zoekopdracht voor notities) |
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 (11) - Pro en Ultra
| Tool | Wat het doet |
|---|---|
| process_note | Volledige AI-pipeline - stuur tekst of audio, krijg een notitie terug met taken, afspraken en tags |
| create_note | Voeg een platte tekstnotitie toe (geen AI-analyse) |
| create_task | Voeg een taak toe met prioriteit, deadline, herinnering en tags |
| create_event | Voeg een agenda-afspraak toe met datum, tijd, locatie, herinneringen, deelnemers en herhaling |
| update_note | Wijzig notitietitel, samenvatting, type, tags, prioriteit of status |
| update_task | Wijzig taaktitel, beschrijving, prioriteit, deadline, herinnering, tags of status |
| complete_task | Markeer een taak als klaar |
| update_event | Wijzig afspraakdetails, tijd, locatie, herinneringen, deelnemers, herhaling, tags of status |
| delete_note | Verwijder een notitie en alle gekoppelde taken en afspraken |
| delete_task | Verwijder een taak |
| delete_event | Verwijder een afspraak |
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.
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
limit | int | 20 | Aantal te retourneren notities (max 50) |
offset | int | 0 | Sla zoveel notities over (voor paginering, max 10000) |
tags | string | - | Filter op tags, door komma's gescheiden (matcht een of meerdere) |
search | string | - | Tekstzoekopdracht op titel en samenvatting |
date_from | string | - | Begindatum, YYYY-MM-DD (inclusief) |
date_to | string | - | Einddatum, YYYY-MM-DD (exclusief) |
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.
| Parameter | Type | Beschrijving |
|---|---|---|
note_id | string | De UUID van de notitie |
Geeft terug: notitie met title, summary, transcript, type, tags, priority, status, metadata, created_at, plus arrays tasks[] en events[].
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[].
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
limit | int | 10 | Aantal notities (max 20) |
offset | int | 0 | Sla zoveel notities over |
tags | string | - | Filter op tags |
date_from | string | - | Begindatum, YYYY-MM-DD |
date_to | string | - | Einddatum, YYYY-MM-DD |
get_tasks
Lijst taken met filtering.
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
status | string | "todo" | Filter: todo, done of all |
limit | int | 30 | Aantal taken (max 100) |
offset | int | 0 | Sla zoveel taken over |
tags | string | - | Filter op tags, door komma's gescheiden |
date_from | string | - | Begindatum, YYYY-MM-DD (filtert op deadline; taken zonder deadline worden uitgesloten) |
date_to | string | - | 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, completed_at, completed_by, source, created_at.
get_events
Lijst agenda-afspraken met filtering op datumbereik.
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
limit | int | 30 | Aantal afspraken (max 100) |
offset | int | 0 | Sla zoveel afspraken over |
date_from | string | - | Begindatum, YYYY-MM-DD (filtert op begintijd afspraak) |
date_to | string | - | Einddatum, YYYY-MM-DD |
Geeft terug: lijst van afspraken met id, title, description, status, start_at, end_at, location, is_all_day, tags, created_at.
get_events retourneert geen attendees, reminder_minutes of recurrence_rule. Deze zijn beschrijfbaar via create_event/update_event maar zitten niet in de lijstoutput. Als je ze nodig hebt, haal de bovenliggende notitie op met get_note.
get_reports
Krijg je door AI gegenereerde rapporten met volledige markdown-inhoud.
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
report_type | string | "daily" | Type: daily, weekly, monthly of yearly |
limit | int | 5 | Aantal rapporten (max 10) |
Geeft terug: lijst van rapporten met id, type, period_start, period_end, content_md, created_at.
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).
search
Zoek tegelijk door notities, taken en afspraken. Voor notities ondersteunt het zowel tekstzoekopdrachten als semantische zoekopdrachten (vindt resultaten op betekenis met AI-embeddings).
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
query | string | vereist | Zoektekst (max 500 tekens) |
limit | int | 20 | Max resultaten per type (max 20) |
semantic | bool | true | Semantische 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.
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().
| Parameter | Type | Beschrijving |
|---|---|---|
text | string | Tekst om te analyseren (slaat transcriptie over als er geen audio is meegegeven) |
audio_base64 | string | Base64-gecodeerd audiobestand (tot 50MB, triggert transcriptie) |
audio_format | string | m4a, ogg, wav, mp3, aac of webm (standaard: m4a) |
parent_task_id | string | UUID van een taak waar dit een opvolging op is |
parent_note_id | string | UUID van een notitie waar dit een opvolging op is |
parent_event_id | string | UUID 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.
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.
| Parameter | Type | Limiet | Beschrijving |
|---|---|---|---|
title | string | 200 tekens | Vereist |
summary | string | 1000 tekens | Optioneel. Korte teaser (1-3 zinnen). Opgenomen in rapport-prompts, dus houd het beknopt |
transcript | string | per abonnement | Optioneel. Lange body weergegeven in het notitiedetail. Niet opgenomen in rapporten. Limieten: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000 tekens |
type | string | - | Optioneel. task, idea, info (standaard), status, meeting, event of reflection |
tags | string | 20 tags | Door komma's gescheiden, optioneel |
create_task (Pro en Ultra)
Maak een nieuwe taak aan.
| Parameter | Type | Limiet | Beschrijving |
|---|---|---|---|
title | string | 200 tekens | Vereist |
description | string | 2000 tekens | Optioneel |
priority | string | - | low, medium (standaard) of high |
deadline | string | - | YYYY-MM-DD, optioneel |
reminder_at | string | - | ISO 8601 datetime (bijv. 2026-04-15T09:00:00Z), optioneel |
tags | string | 20 tags | Door komma's gescheiden, optioneel |
note_id | string | - | UUID om taak aan een bovenliggende notitie te koppelen, optioneel |
create_event (Pro en Ultra)
Maak een agenda-afspraak aan.
| Parameter | Type | Limiet | Beschrijving |
|---|---|---|---|
title | string | 200 tekens | Vereist |
start_at | string | - | ISO 8601 datetime, vereist |
end_at | string | - | ISO 8601 datetime (standaard: start + 1 uur) |
description | string | 2000 tekens | Optioneel |
location | string | 200 tekens | Optioneel |
is_all_day | bool | - | Standaard: false |
tags | string | 20 tags | Door komma's gescheiden, optioneel |
reminder_minutes | string | - | Door komma's gescheiden minuten voor afspraak (bijv. 15,60), optioneel |
attendees | string | - | Door komma's gescheiden namen of e-mails, optioneel |
recurrence_rule | string | - | RRULE-string (bijv. FREQ=WEEKLY;BYDAY=MO,WE,FR), optioneel |
note_id | string | - | 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.
| Parameter | Type | Beschrijving |
|---|---|---|
note_id | string | Vereist, de UUID van de notitie |
title | string | Nieuwe titel (max 200 tekens) |
summary | string | Nieuwe samenvatting (max 1000 tekens, geef een spatie " " mee om te wissen) |
transcript | string | Nieuw transcript (limiet per abonnement, geef een spatie " " mee om te wissen) |
type | string | task, idea, info, status, meeting, event of reflection |
tags | string | Door komma's gescheiden tags (vervangt alle bestaande tags, max 20) |
priority | string | low, medium of high |
status | string | active of archived |
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.
| Parameter | Type | Beschrijving |
|---|---|---|
task_id | string | Vereist, de UUID van de taak |
title | string | Nieuwe titel |
description | string | Nieuwe beschrijving (geef een spatie " " om te wissen) |
priority | string | low, medium of high |
deadline | string | YYYY-MM-DD (geef een spatie om te wissen) |
status | string | todo of done |
tags | string | Door komma's gescheiden tags (vervangt alle bestaande tags, max 20) |
reminder_at | string | ISO 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.
| Parameter | Type | Beschrijving |
|---|---|---|
task_id | string | Vereist, 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.
| Parameter | Type | Beschrijving |
|---|---|---|
event_id | string | Vereist, de UUID van de afspraak |
title | string | Nieuwe titel |
description | string | Nieuwe beschrijving (geef een spatie om te wissen) |
start_at | string | Nieuwe begintijd (ISO 8601) |
end_at | string | Nieuwe eindtijd (ISO 8601) |
location | string | Nieuwe locatie (geef een spatie om te wissen) |
status | string | confirmed, tentative of cancelled |
tags | string | Door komma's gescheiden tags (vervangt alle bestaande tags, max 20) |
is_all_day | string | "true" of "false" |
reminder_minutes | string | Door komma's gescheiden minuten voor afspraak (bijv. 15,60) |
attendees | string | Door komma's gescheiden namen of e-mails |
recurrence_rule | string | RRULE-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.
| Parameter | Type | Beschrijving |
|---|---|---|
note_id | string | Vereist, de UUID van de notitie |
delete_task (Pro en Ultra)
Verwijder een taak.
| Parameter | Type | Beschrijving |
|---|---|---|
task_id | string | Vereist, de UUID van de taak |
delete_event (Pro en Ultra)
Verwijder een afspraak.
| Parameter | Type | Beschrijving |
|---|---|---|
event_id | string | Vereist, de UUID van de afspraak |
Invoerlimieten
| Veld | Max lengte | Gebruikt in |
|---|---|---|
| title | 200 tekens | create/update note, task, event |
| description | 2.000 tekens | create/update task, event |
| summary | 1.000 tekens (hard) | create/update note. Opgenomen in rapport-prompts, kort gehouden om tokenkosten te beheersen |
| transcript | per abonnement: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000 | create/update note. Lange body, niet in rapporten |
| location | 200 tekens | create/update event |
| tags | 20 tags | create/update note, task, event |
| zoekquery | 500 tekens | search |
| audio_base64 (gedecodeerd) | 50 MB | process_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:
| Fout | Wanneer |
|---|---|
"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:
| Code | Betekenis |
|---|---|
| 401 | Ongeldig of ontbrekend Bearer-token |
| 403 | MCP uitgeschakeld of abonnement staat MCP niet toe |
| 429 | Rate limit overschreden (5 req/s) |
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\"}"}]
}
}
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
| Actie | Hoe |
|---|---|
| Token bekijken | iPhone Instellingen → Integraties → AI Agents (of web Instellingen → AI Agents), tik op het oogpictogram |
| Token kopiëren | Tik op het kopieerpictogram naast het token |
| Regenerate | Tik op Regenerate en bevestig. Het oude token werkt direct niet meer en actieve sessies worden verbroken |
| Modus wijzigen | Alleen Ultra - schakel tussen Read-only en Read + Write. Op Pro is de modus vast op Read + Write |
| Uitschakelen | Tik 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_notemaakt direct een platte tekstnotitie aan (geen AI-analyse).process_notevoert 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. Gebruikprocess_notewanneer 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_notekrijgen embeddings en verschijnen in semantische zoekopdrachten. Notities aangemaakt metcreate_notekrijgen geen embeddings, dus ze verschijnen alleen in tekstzoekopdrachten. - Schrijfantwoorden zijn minimaal - create- en update-tools retourneren alleen
id,titleenstatus. Om alle velden te krijgen na een schrijfactie, doe een opvolgende leesoproep. - Datumfilters gebruiken UTC - parameters
date_from/date_toworden 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. 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)
Zie ook
- Webhook-automations - data automatisch naar externe services sturen
- Todoist - dedicated tweerichtings tasksync
- Notion - dedicated Notion-integratie