Zum Hauptinhalt springen

KI-Agenten (MCP)

In jedem Plan verfügbar

MCP funktioniert in allen Plänen. Free und Basic bekommen reinen Lesezugriff auf alle 10 Lese-Tools (Free ist auf 100 Anfragen pro Tag begrenzt). Pro und Ultra bekommen vollen Lese- und Schreibzugriff (27 Tools) und können auf den reinen Lesemodus umstellen, wenn sie das lieber möchten.

Mit MCP (Model Context Protocol) verbindest du KI-Assistenten wie ChatGPT und Claude, Coding-Assistenten und Automatisierungstools direkt mit deinen TellDone-Daten. Sobald die Verbindung steht, kann dein Assistent deine Notizen, Aufgaben, Ereignisse, Berichte, Tags und den Änderungsverlauf lesen. Ab Pro kann er außerdem Elemente erstellen, aktualisieren, löschen und wiederherstellen. Es gibt 27 Tools: 10 zum Lesen (jeder Plan) und 17 zum Schreiben (ab Pro).

Auf dem iPhone öffnet Einstellungen > Integrationen > KI-Agenten (MCP) den MCP-Einrichtungsbildschirm, auf dem dein Zugriffstoken standardmäßig verdeckt ist:

Einstellungen - KI-Agenten auf dem iPhone mit verdecktem Token

Und im Web:

Einstellungen - KI-Agenten im Web mit verborgenem Zugriffstoken

Zwei Wege zum Verbinden​

Es gibt zwei Wege, einen KI-Client zu verbinden:

  1. Mit TellDone anmelden (OAuth) (empfohlen) - du meldest dich mit deinem TellDone-Konto an und bestätigst, was die App anfragt. ChatGPT und Claude nutzen das, und du musst kein Token kopieren.
  2. Bearer-Token - kopiere dein Zugriffstoken aus den Einstellungen und füge es in die Konfiguration deines Clients ein. Am einfachsten für Skripte, Kommandozeilen-Tools und Clients ohne eingebauten OAuth-Ablauf.
ClientEmpfohlen
ChatGPT (chatgpt.com oder die ChatGPT-Desktop-App, nicht die Mobil-App)OAuth - füge einen eigenen MCP-Server mit der MCP-URL hinzu und melde dich an
Claude (Website, Desktop, iPhone-App) / CoworkOAuth - füge einen eigenen Connector mit der MCP-URL hinzu und melde dich an
Claude Code (CLI)Vorerst Bearer-Token - füge den Authorization-Header mit deinem Token hinzu
Skripte oder dein eigener CodeBearer-Token - am einfachsten zu automatisieren
Ein Client, bei dem du nur aus einem Verzeichnis gelisteter Connectors wählen kannstFüge TellDone als eigenen Connector mit der MCP-URL hinzu oder nutze ein Bearer-Token. TellDone ist noch in keinem Connector-Verzeichnis

Voraussetzungen im Plan​

PlanMCP
FreeNur Lesen (10 Lese-Tools), 100 Anfragen pro Tag
BasicNur Lesen (10 Lese-Tools), kein Tageslimit
ProLesen und Schreiben (27 Tools) - kann auf den Lesemodus umgestellt werden
UltraLesen und Schreiben (27 Tools) - kann auf den Lesemodus umgestellt werden

Das Limit von 100 Anfragen pro Tag in Free zählt nur Tool-Aufrufe. Verbinden, Anmelden und das Auflisten der Tools zählen nicht. Der Tag folgt der in deinem Konto gespeicherten Zeitzone und endet um Mitternacht. Wenn du das Limit erreichst, bekommt dein Assistent eine Nachricht dazu. Schreib-Tools werden in Free und Basic abgelehnt. Mit einem Zugriffstoken antworten sie, dass die Verbindung nur lesen darf und dass Erstellen und Bearbeiten ab Pro nötig ist. Bei der Anmeldung (OAuth) antworten die meisten mit „Insufficient scope“, weil Verbindungen in Free und Basic nie Schreibrechte bekommen.

Der Bildschirm in der App​

Öffne Einstellungen > Integrationen und tippe im Bereich KI-Agenten auf KI-Agenten (MCP). Der Bildschirm sagt: „Lass ChatGPT, Claude und andere KI-Assistenten mit deinen TellDone-Notizen, Aufgaben und Ereignissen arbeiten.“ und zeigt deinen Plan:

  • Free: „Dein Plan: Nur Lesezugriff, 100 Anfragen pro Tag. Schreiben gibt es ab Pro.“
  • Basic: „Dein Plan: Nur Lesezugriff“
  • Pro und Ultra: „Dein Plan: Lese- und Schreibzugriff“

Solange MCP aus ist, tippe auf Aktivieren, um es einzuschalten.

Sobald es aktiviert ist, zeigt der Bildschirm:

  • Zugriffsmodus (Pro und Ultra) - wähle jederzeit Nur lesen oder Lesen & schreiben.
  • Assistenten verbinden - Schritte für ChatGPT, Claude und Anderer Assistent. Du meldest dich im Assistenten bei TellDone an, ein Token ist also nicht nötig.
  • Verbundene Apps - die Assistenten, die du verbunden hast, jeweils mit einer Taste Trennen. Der Bereich bleibt leer, bis die erste Verbindung steht.
  • Für Entwickler (standardmäßig eingeklappt) - das Feld Zugriffstoken (verdeckt, mit Anzeigen / Ausblenden und Kopieren), Token neu erstellen und ein Umschalter Claude Code / Cursor / Andere mit fertigem Text und eigener Taste Kopieren. Claude Code gibt dir den Befehl claude mcp add, Cursor das JSON für .cursor/mcp.json, und Andere listet die Serveradresse, die OAuth-Anmeldung und den Header Authorization: Bearer. Solange das Token verdeckt ist, zeigen die Snippets YOUR_TOKEN. Tippe auf Anzeigen, und sie enthalten dein echtes Token.

Das Web hat dieselben Bedienelemente in einem anderen Layout, ohne eingeklappten Entwicklerbereich: die OAuth-Adresse mit einer Taste Kopieren, deine Token-Steuerung, Verbundene Apps mit Trennen und Bearer-Token manuell einrichten mit sechs Client-Optionen (Claude Code, Cursor, Windsurf, Codex, OpenClaw und cURL). Im Web enthalten die Snippets immer dein echtes Token, auch wenn das Tokenfeld verborgen ist. Behandle sie also wie das Token selbst.

  • Dokumentation - ein Link zu dieser Seite.
  • Deaktivieren - schaltet MCP aus. Du bestätigst mit „Damit wird der Zugriff für alle verbundenen KI-Tools widerrufen.“ Dein Token wird gelöscht, und alle Verbindungen enden. Wenn du MCP wieder aktivierst, bekommst du ein neues Token, und Apps, die per Anmeldung (OAuth) verbunden sind, funktionieren wieder, ohne dass du dich neu anmeldest. Um eine App endgültig zu entfernen, tippe unter Verbundene Apps auf Trennen.
Tipp

Halte dein Zugriffstoken geheim. Jeder mit dem Token kann auf deine TellDone-Daten zugreifen. Tippe auf Token neu erstellen, wenn du je vermutest, dass es bekannt geworden ist.

So aktivierst du es​

Du kannst MCP auf beiden Plattformen einrichten:

  • iPhone: Einstellungen > Integrationen > KI-Agenten (MCP)
  • Web: app.telldone.app > Einstellungen > Integrationen > KI-Agenten (MCP)

Schritte:

  1. Tippe auf Aktivieren.
  2. Wähle in Pro und Ultra deinen Zugriffsmodus (Nur lesen oder Lesen & schreiben). Free und Basic können nur lesen.
  3. Um ChatGPT oder Claude zu verbinden, tippe unter Assistenten verbinden darauf und folge den Schritten (siehe unten). Ein Token ist nicht nötig.
  4. Für einen Coding-Client auf dem iPhone öffne Für Entwickler, tippe auf Anzeigen, wähle Claude Code, Cursor oder Andere und tippe unter dem Snippet auf Kopieren. Wenn du kopierst, bevor du auf Anzeigen getippt hast, steht im Snippet YOUR_TOKEN statt deines Tokens. Wähle im Web deinen Client unter Bearer-Token manuell einrichten und kopiere das Snippet; es enthält dein Token schon.
  5. Füge das Snippet in deinen Client oder dessen Konfigurationsdatei ein.

Mit OAuth verbinden​

OAuth ist der empfohlene Weg für ChatGPT, Claude und Cowork - du meldest dich mit deinem TellDone-Konto an, statt ein Token zu kopieren.

MCP-URL für OAuth: https://api.telldone.app/mcp/user

Derselbe Server antwortet auch unter https://api.telldone.app/mcp/user/mcp, und beide Adressen akzeptieren ein Bearer-Token. Für die OAuth-Anmeldung nimm die erste.

ChatGPT​

Einen eigenen MCP-Server kannst du auf chatgpt.com oder in der ChatGPT-Desktop-App hinzufügen. Die ChatGPT-Mobil-App kann keine eigenen Connectors hinzufügen, und die TellDone-App sagt es so: „Die ChatGPT-App fügt Connectors nur aus ihrem Katalog hinzu.“ Tippe in TellDone auf Anleitung an meinen Computer senden, um die Anleitung auf einem Computer zu bekommen. Sobald TellDone dort hinzugefügt ist, steht es auch in der ChatGPT-Mobil-App zur Verfügung.

Die Schritte in der App:

  1. Öffne am Computer chatgpt.com/plugins, klicke auf Add und wähle Add custom MCP server.
  2. Nenne ihn TellDone, füge die Adresse unten (https://api.telldone.app/mcp/user) ein und wähle OAuth.
  3. Bestätige und installiere ihn, melde dich dann bei TellDone an und erlaube den Zugriff.

Sieh dir die Anleitung von OpenAI zu eigenen MCP-Servern an, falls sich die Menünamen ändern.

Claude (Website, Desktop, iPhone-App) / Cowork​

Die Schritte in der App:

  1. Öffne in Claude Customize → Connectors und tippe auf Add custom connector.
  2. Füge die Adresse unten (https://api.telldone.app/mcp/user) ein.
  3. Melde dich bei TellDone an und erlaube den Zugriff.

Wenn du dich anmeldest, zeigt die Zustimmungsseite von TellDone, welche App Zugriff anfragt und welche Berechtigungen sie genau will. Melde dich mit deiner TellDone-E-Mail und deinem Passwort an und klicke auf Allow access, oder tippe auf Mit Apple anmelden oder Mit Google anmelden, was den Zugriff im selben Schritt bestätigt. Claude verbindet sich von selbst - du musst kein Token kopieren.

Wenn sich die Menünamen ändern, sieh dir die Anleitung von Anthropic zum Hinzufügen eines eigenen Connectors an.

Mit einem Bearer-Token verbinden​

Für Claude Code, Cursor und andere Clients ohne eingebaute OAuth-Anmeldung füge dein Zugriffstoken direkt in die Konfiguration des Clients ein. Ersetze in allen Beispielen unten YOUR_TOKEN durch das Token aus deinen Einstellungen.

Claude Code (Bearer-Token)​

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

Du musst das nicht selbst tippen: Tippe unter Einstellungen > Integrationen > KI-Agenten (MCP) > Für Entwickler auf Anzeigen, wähle Claude Code und tippe auf Kopieren. Der kopierte Befehl enthält dein Token schon.

Cursor​

Füge es in .cursor/mcp.json ein (oder kopiere es unter Für Entwickler > Cursor, nachdem du auf Anzeigen getippt hast):

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

Andere Clients​

Einstellungen für andere MCP-Clients:

Codex​

Füge es in codex.json ein:

{
"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

Andere MCP-Clients​

Jedes Tool, das MCP über HTTP unterstützt, kann sich verbinden. Nutze den Endpunkt https://api.telldone.app/mcp/user/mcp mit einem Authorization-Header Bearer YOUR_TOKEN.

Alternativer Auth-Header

Wenn dein Client oder Proxy den Header Authorization für sich reserviert (zum Beispiel manche Gateways im Smithery-Stil), sende das Token stattdessen in X-MCP-Token: YOUR_TOKEN. Beide Header funktionieren; sind beide vorhanden, gewinnt Authorization.

Die Verbindung testen​

Mit einem einfachen cURL-Befehl kannst du prüfen, ob dein Token funktioniert:

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

Eine erfolgreiche Antwort listet alle verfügbaren Tools auf.

Berechtigungen (Scopes)​

OAuth-Verbindungen haben Scopes - bei der Anmeldung siehst du genau, was der Client anfragt, und bestätigst es ausdrücklich.

ScopeErlaubt der App ...
notes:readDeine Notizen lesen und die vollständigen Details einer Notiz öffnen (das Tool search braucht außerdem tasks:read und events:read)
notes:writeNotizen erstellen, bearbeiten und löschen (process_note braucht außerdem tasks:write und events:write)
tasks:read / tasks:writeAufgaben lesen / erstellen, bearbeiten, abschließen und löschen
events:read / events:writeEreignisse lesen / erstellen, bearbeiten und löschen
reports:readDeine Tages-, Wochen-, Monats- und Jahresberichte lesen
tags:read / tags:writeDeine Tags auflisten / Tags erstellen, anheften, löschen und wiederherstellen
profile:readDeine Kontoinfos und dein Abo lesen
offline_accessAngemeldet bleiben (gibt ein Refresh-Token aus, damit du dich nicht in jeder Sitzung neu anmelden musst)

Scopes begrenzen, was eine Verbindung tun kann: Eine Verbindung nur mit notes:read kann kein Schreib-Tool aufrufen. Dein Plan setzt zusätzlich eine zweite Grenze.

Verbindungen mit Bearer-Token haben keine einzelnen Scopes - für sie gilt nur der Lese-/Schreibmodus deines Plans.

Was du tun kannst​

Lese-Tools (10) - alle Pläne​

ToolWas es tut
get_notesNotizen mit Filtern auflisten (Tags, Zeitraum, Textsuche)
get_noteEine einzelne Notiz mit ihren untergeordneten Aufgaben, Ereignissen und dem vollständigen Transkript ansehen
get_notes_fullMehrere Notizen mit eingebetteten Aufgaben und Ereignissen in einem Aufruf abrufen
get_tasksAufgaben nach Status (offen, erledigt, alle), Tags oder Daten gefiltert auflisten
get_eventsKalenderereignisse auflisten, nach Zeitraum filtern
get_reportsDeine Tages-, Wochen-, Monats- und Jahresberichte lesen (vollständiges Markdown)
get_tagsAlle deine Tags nach Nutzung sortiert ansehen
get_profileDeine Kontoinfos sehen und wie viele Notizen, Aufgaben und Ereignisse du hast
searchNotizen, Aufgaben und Ereignisse durchsuchen (Text + semantische Suche für Notizen)
get_change_logDen Bearbeitungsverlauf einer Notiz, Aufgabe oder eines Ereignisses sehen und ob jede Änderung rückgängig gemacht wurde
Tipp

Das Tool search unterstützt die semantische Suche für Notizen - es findet Ergebnisse nach Bedeutung, nicht nur nach Stichwörtern. Wenn du zum Beispiel „Meetings zum Budget“ suchst, findet es auch Notizen über Finanzgespräche, selbst wenn sie das Wort „Budget“ nicht enthalten.

Schreib-Tools (17) - Pro und Ultra​

ToolWas es tut
process_noteVollständige KI-Pipeline - sende Text oder Audio und bekomme eine Notiz mit Aufgaben, Ereignissen und Tags zurück
create_noteEine reine Textnotiz hinzufügen (ohne KI-Analyse)
create_taskEine Aufgabe mit Priorität, Frist, Erinnerung und Tags hinzufügen
create_eventEin Kalenderereignis mit Datum, Uhrzeit, Ort, Erinnerungen, Teilnehmern und Wiederholungsregel hinzufügen
update_noteTitel, Zusammenfassung, Typ, Tags, Priorität oder Status einer Notiz ändern
update_taskTitel, Beschreibung, Priorität, Frist, Erinnerung, Tags oder Status einer Aufgabe ändern
complete_taskEine Aufgabe als erledigt markieren
update_eventDetails, Zeit, Ort, Erinnerungen, Teilnehmer, Wiederholungsregel, Tags oder Status eines Ereignisses ändern
delete_noteEine Notiz löschen. Ihre Aufgaben und Ereignisse bleiben erhalten
delete_taskEine Aufgabe löschen
delete_eventEin Ereignis löschen
undo_change_log_entryEine einzelne erfasste Änderung rückgängig machen - von der KI oder von dir - und den vorherigen Wert des Felds wiederherstellen
restore_entityEine gelöschte oder archivierte Notiz oder Aufgabe oder ein gelöschtes oder abgesagtes Ereignis zurückholen
create_tagEinen neuen Tag erstellen oder einen automatisch vorgeschlagenen Tag zu einem dauerhaften machen
set_tag_pinnedEinen Tag anheften oder lösen, damit er ganz oben einsortiert wird
delete_tagEinen Tag entfernen (kann mit restore_tag wiederhergestellt werden)
restore_tagEinen gelöschten Tag zurückholen

Alle Schreib- und Löschvorgänge erscheinen sofort auf deinen verbundenen Geräten (iPhone, Web-App).

Tools-Referenz​

get_notes​

List notes with optional filtering. Date filters use recorded_at (when you recorded the voice note), or created_at for a note that has none.

ParameterTypeDefaultDescription
limitint20Number of notes to return (max 50)
offsetint0Skip this many notes (for pagination, max 10000)
tagsstring-Filter by tags, comma-separated (matches any)
searchstring-Text search on title and summary
date_fromstring-Start date, YYYY-MM-DD (inclusive)
date_tostring-End date, YYYY-MM-DD (exclusive)
standalone_onlyboolfalseWhen true, hides follow-up notes (notes attached to a parent note/task/event) and returns only standalone notes

Returns: list of notes with id, title, summary, type, tags, priority, status, recorded_at, created_at.

get_note​

Get a single note with its full transcript and all linked tasks and events.

ParameterTypeDescription
note_idstringThe note's UUID

Returns: note with title, summary, transcript, type, tags, priority, status, metadata, created_at, plus tasks[] and events[] arrays.

Also returns transcript_speakers (speaker-labeled transcript turns, for meetings with several speakers - null otherwise), speaker_count (null unless the recording was split by speaker), and parent_note_id/parent_task_id/parent_event_id (set when this note is a follow-up edit of another item). Each tasks[]/events[] entry also includes reminders_at/recurrence_rule (tasks) or reminder_minutes/attendees/recurrence_rule (events).

get_notes_full​

Get multiple notes with their tasks and events in a single call. Same filters as get_notes except search, and each note includes embedded tasks[] and events[].

ParameterTypeDefaultDescription
limitint10Number of notes (max 20)
offsetint0Skip this many notes
tagsstring-Filter by tags
date_fromstring-Start date, YYYY-MM-DD
date_tostring-End date, YYYY-MM-DD
standalone_onlyboolfalseWhen true, hides follow-up notes (notes attached to a parent note/task/event) and returns only standalone notes

get_tasks​

List tasks with filtering.

ParameterTypeDefaultDescription
statusstring"todo"Filter: todo, done, or all
limitint30Number of tasks (max 100)
offsetint0Skip this many tasks
tagsstring-Filter by tags, comma-separated
date_fromstring-Start date, YYYY-MM-DD (filters by deadline; tasks without a deadline are excluded)
date_tostring-End date, YYYY-MM-DD (filters by deadline; tasks without a deadline are excluded)

Returns: list of tasks with id, title, description, status, priority, tags, deadline, reminder_at, reminders_at, completed_at, completed_by, source, created_at. reminder_at mirrors the first entry of reminders_at for backward compatibility - use reminders_at to see all of a task's reminders.

get_events​

List calendar events with date range filtering.

ParameterTypeDefaultDescription
limitint30Number of events (max 100)
offsetint0Skip this many events
date_fromstring-First day, YYYY-MM-DD, in your own time zone (inclusive). Events that overlap the range are included, so a multi-day event shows on every day it covers
date_tostring-Last day, YYYY-MM-DD, in your own time zone (inclusive)

Returns: list of events with id, title, description, status, start_at, end_at, location, is_all_day, tags, note_id, reminder_minutes, attendees, recurrence_rule, created_at.

get_reports​

Get your AI-generated reports with full markdown content.

ParameterTypeDefaultDescription
report_typestring"daily"Type: daily, weekly, monthly, or yearly
limitint5Number of reports (max 10)

Returns: list of reports with id, type, period_start, period_end, content_md, created_at.

Hinweis

Monthly reports are long (often well over 1,000 words). Use limit=1 if your AI tool has a tight context window.

get_tags​

Get all your tags, sorted by pinned first, then by usage count.

No parameters. Returns up to 100 tags, each with tag, usage_count, is_pinned, is_manual.

get_profile​

Get your account info and how many notes, tasks and events you have.

No parameters. Returns email, display_name, locale, transcription_locale, timezone, subscription, mcp_mode, created_at, and stats (note/task/event counts).

Search across notes, tasks, and events at once. For notes, supports both text search and semantic search (finds results by meaning using AI embeddings).

ParameterTypeDefaultDescription
querystringrequiredSearch text (max 500 characters)
limitint20Max results per type (max 20)
semanticbooltrueEnable semantic search for notes

Returns results grouped by type: notes[], tasks[], events[]. Each result has id, type, title, detail, created_at.

Set semantic=false for faster text-only search.

get_change_log​

See the edit history of a note, task, or event - every AI-made follow-up edit and every manual edit you made yourself, newest first.

ParameterTypeDefaultDescription
entitystringrequirednotes, tasks, or events
entity_idstringrequiredThe item's UUID
include_manualboolfalseAlso include your own manual edits, not just AI-made ones

Returns: list of change entries with id (use this as entry_id for undo), field_name, old_value, new_value, source (follow_up, smart_context, correction_sync for a name fix TellDone carried across a note, or manual), origin_note_id, edited_at, and reverted_at (set once undone).

process_note (Pro and Ultra)​

Full AI pipeline - works the same as recording in the app. Send text or audio, and TellDone will transcribe, analyze with AI, and create a structured note with extracted tasks, events, tags, and embeddings.

This tool is asynchronous: it returns immediately with an audio_id and processes in the background. Results arrive via real-time sync to your connected devices, or you can poll with get_notes().

ParameterTypeDescription
textstringRequired. Text to analyze. If it is not empty, it is used as the transcript and any audio you send is not transcribed; send "" to have the audio transcribed. Limit when no audio is sent: Pro 20,000 / Ultra 50,000 characters
audio_base64stringBase64-encoded audio file. The whole request is limited to 10 MB, so the audio itself can be about 7 MB. It is transcribed only when text is empty
audio_formatstringm4a, ogg, wav, mp3, aac, or webm (default: m4a)
parent_task_idstringUUID of a task this is a follow-up to
parent_note_idstringUUID of a note this is a follow-up to
parent_event_idstringUUID of an event this is a follow-up to

Always send text. To have TellDone transcribe audio, send audio_base64 with text set to an empty string (""). If text is not empty, TellDone uses it as the transcript and does not transcribe the audio. Set at most one of the three parent IDs.

Returns: {"audio_id": "...", "status": "processing", "mode": "text-only"} or "mode": "audio+stt" if audio was provided.

Hinweis

process_note is subject to your plan's quotas (uploads per day, notes per month, max text length). get_profile shows only how many notes, tasks and events you have, not your limits. Check your usage in the app under Settings > Usage.

create_note (Pro and Ultra)​

Create a plain text note instantly. Does not trigger AI analysis - no tasks or events are extracted. Use process_note when you want TellDone to find tasks and events for you.

ParameterTypeLimitDescription
titlestring200 charsRequired
summarystring1000 charsOptional. Short teaser (1-3 sentences). Used in your reports, so keep it short
transcriptstringplan-basedOptional. Long-form body shown in the note detail. Not included in reports. Limits: Pro 20,000 / Ultra 50,000 chars
typestring-Optional. task, idea, info (default), status, meeting, event, or reflection
tagsstring20 tagsComma-separated, optional
suppress_external_syncboolean-Optional, default false. Set true for imported or bulk items: the item is then not sent to your connected apps or automations

create_task (Pro and Ultra)​

Create a new task. The task is also created in your connected Todoist, Notion or Microsoft To Do, and your automations receive task.created. This does not happen when you pass suppress_external_sync: true.

ParameterTypeLimitDescription
titlestring200 charsRequired
descriptionstring2000 charsOptional
prioritystring-low, medium (default), or high
deadlinestring-YYYY-MM-DD, optional
reminder_atstring-ISO 8601 datetime (for example 2026-04-15T09:00:00Z), optional
tagsstring20 tagsComma-separated, optional
note_idstring-UUID to link task to a parent note, optional
suppress_external_syncboolean-Optional, default false. Set true for imported or bulk items: the item is then not sent to your connected apps or automations

create_event (Pro and Ultra)​

Create a calendar event. The event is also created in your connected Notion, and your automations receive calendar_event.created. This does not happen when you pass suppress_external_sync: true.

ParameterTypeLimitDescription
titlestring200 charsRequired
start_atstring-ISO 8601 datetime, required
end_atstring-ISO 8601 datetime (default: start + 1 hour; for an all-day event, one day)
descriptionstring2000 charsOptional
locationstring200 charsOptional
is_all_daybool-Default: false
tagsstring20 tagsComma-separated, optional
reminder_minutesstring-Comma-separated minutes before event (for example 15,60), optional
attendeesstring-Comma-separated names or emails, optional
recurrence_rulestring-RRULE string (for example FREQ=WEEKLY;BYDAY=MO,WE,FR), optional. Rules more frequent than hourly, or that can never happen, are refused
note_idstring-UUID to link event to a parent note, optional
suppress_external_syncboolean-Optional, default false. Set true for imported or bulk items: the item is then not sent to your connected apps or automations

update_note (Pro and Ultra)​

Update one or more fields on an existing note. Only fields you provide are changed. This works exactly like editing the note in the app: its title, summary, tags and type reach its Notion page, your automations receive note.updated, and the edit appears in the history, where it can be undone. A transcript change is saved and sent to Notion too, but is not in the history.

ParameterTypeDescription
note_idstringRequired, the note's UUID
titlestringNew title (max 200 chars)
summarystringNew summary (max 1000 chars, pass a space " " to clear)
transcriptstringNew transcript (plan-based limit, pass a space " " to clear)
typestringtask, idea, info, status, meeting, event, or reflection
tagsstringComma-separated tags (replaces all existing tags, max 20)
prioritystringlow, medium, or high
statusstringactive or archived
Vorsicht

For notes created by the voice pipeline, transcript is the original speech-to-text output. Overwriting it replaces your original words. To keep them, add to the transcript instead of replacing it.

update_task (Pro and Ultra)​

Update one or more fields on an existing task. Only fields you provide are changed. This works exactly like editing the task in the app: the change reaches its copies in Todoist, Notion and Microsoft To Do, your automations receive task.updated, and the edit appears in the task's history, where it can be undone. Setting status to done completes it like complete_task. A deadline can be a date or a full date and time (its date is used). Each tag can be up to 50 characters.

ParameterTypeDescription
task_idstringRequired, the task's UUID
titlestringNew title
descriptionstringNew description (pass a space " " to clear)
prioritystringlow, medium, or high
deadlinestringYYYY-MM-DD. This tool can't clear a deadline; clear it in the app
statusstringtodo or done
tagsstringComma-separated tags (replaces all existing tags, max 20)
reminder_atstringISO 8601 datetime (pass a space to clear)

Setting status to done also records when and how the task was completed.

complete_task (Pro and Ultra)​

Shortcut to mark a task as done.

ParameterTypeDescription
task_idstringRequired, the task's UUID

Returns an error if the task doesn't exist or is already completed.

update_event (Pro and Ultra)​

Update one or more fields on an existing event. Only fields you provide are changed. This works exactly like editing the event in the app: the change reaches its Notion page, your automations receive calendar_event.updated, and the edit appears in the history, where it can be undone.

ParameterTypeDescription
event_idstringRequired, the event's UUID
titlestringNew title
descriptionstringNew description (pass a space to clear)
start_atstringNew start time (ISO 8601)
end_atstringNew end time (ISO 8601)
locationstringNew location (pass a space to clear)
statusstringconfirmed, tentative, or cancelled
tagsstringComma-separated tags (replaces all existing tags, max 20)
is_all_daystring"true" or "false"
reminder_minutesstringComma-separated minutes before event (for example 15,60, pass a space to clear)
attendeesstringComma-separated names or emails (pass a space to clear)
recurrence_rulestringRRULE string (pass a space to clear)

delete_note (Pro and Ultra)​

Delete a note. Only the note is deleted: its tasks and events stay. This works exactly like deleting it in the app: your automations receive note.deleted. A copy of the note in Notion is not removed (the app does not remove it either).

ParameterTypeDescription
note_idstringRequired, the note's UUID

delete_task (Pro and Ultra)​

Delete a task. This works exactly like deleting it in the app: its copies in Todoist, Notion and Microsoft To Do are deleted too, and your automations receive task.deleted. Bring it back with restore_entity.

ParameterTypeDescription
task_idstringRequired, the task's UUID

delete_event (Pro and Ultra)​

Delete an event. This works exactly like deleting it in the app: your automations receive calendar_event.deleted. The event's page in Notion is not removed (the app does not remove it either).

ParameterTypeDescription
event_idstringRequired, the event's UUID

undo_change_log_entry (Pro and Ultra)​

Undo a single tracked edit - restores the field to its value before that edit, whether the edit was made by the AI (from a follow-up recording) or by you directly.

ParameterTypeDescription
entitystringRequired, notes, tasks, or events
entity_idstringRequired, the item's UUID
entry_idstringRequired, the change entry's id from get_change_log

Returns: {"entry_id", "entity_type", "entity_id", "field_name", "restored_value", "reverted_at"}. Undoing the same entry twice returns an error - it's already undone.

restore_entity (Pro and Ultra)​

Bring back a deleted or archived note or task, or a deleted or canceled event.

ParameterTypeDescription
entitystringRequired, notes, tasks, or events
entity_idstringRequired, the item's UUID

Returns: the restored item as JSON.

create_tag (Pro and Ultra)​

Create a new tag, or turn an existing auto-suggested tag into a permanent one.

ParameterTypeDescription
tagstringRequired, 1-50 characters (stored lowercase)
categorystringOptional

set_tag_pinned (Pro and Ultra)​

Pin or unpin a tag so it sorts to the top of your tag list.

ParameterTypeDescription
tagstringRequired
pinnedboolRequired

Tags containing a / character can't be pinned.

delete_tag (Pro and Ultra)​

Remove a tag. Can be brought back with restore_tag.

ParameterTypeDescription
tagstringRequired

restore_tag (Pro and Ultra)​

Bring back a deleted tag.

ParameterTypeDescription
tagstringRequired

Eingabelimits​

FeldMaximale LängeVerwendet in
title200 ZeichenNotiz, Aufgabe, Ereignis erstellen/aktualisieren
description2.000 ZeichenAufgabe, Ereignis erstellen/aktualisieren
summary1.000 Zeichen (fest)Notiz erstellen/aktualisieren. Wird in deinen Berichten verwendet, halte sie also kurz
transcriptplanabhängig: Pro 20.000 / Ultra 50.000Notiz erstellen/aktualisieren. Langer Haupttext, nicht in Berichten
textplanabhängig: Pro 20.000 / Ultra 50.000 (wenn kein Audio gesendet wird)process_note
location200 ZeichenEreignis erstellen/aktualisieren
tags20 TagsNotiz, Aufgabe, Ereignis erstellen/aktualisieren
search query500 Zeichensearch
audio_base64etwa 7 MB Audio (die gesamte Anfrage ist auf 10 MB begrenzt)process_note

Wenn du ein Limit überschreitest, gibt das Tool eine Fehlermeldung zurück wie "title too long (max 200 chars, got 250)".

Fehlerbehandlung​

Die meisten Tools geben Fehler als JSON zurück:

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

Fehler zu Plan, Scope und Eingabelimit kommen als Tool-Fehler mit derselben Meldung zurück.

Häufige Fehler:

FehlerWann
"This TellDone connection is read-only. Creating and editing needs the Pro or Ultra plan."Schreib-Tool im Lesemodus aufgerufen (Free und Basic oder Pro und Ultra auf Lesen umgestellt)
"Daily limit reached: the Free plan includes 100 TellDone requests a day..."Free hat die 100 Anfragen des Tages aufgebraucht
"Daily limit reached (N/M today)"Du hast heute über KI-Assistenten so viele Elemente erstellt, wie dein Plan erlaubt (process_note, create_note, create_task und create_event zählen jeweils)
"Notes limit reached (X/Y this month)"Das monatliche Notizlimit deines Plans ist aufgebraucht
"Invalid note_id format"Ein String, der keine UUID ist, wurde als ID übergeben
"Note not found"Die ID existiert nicht oder gehört einem anderen Nutzer
"Task not found or already completed"complete_task für eine nicht vorhandene oder schon erledigte Aufgabe
"title too long (max 200 chars, got N)"Eingabelimit überschritten
"Too many tags (max 20)"Mehr als 20 Tags übergeben

Fehler auf HTTP-Ebene:

CodeBedeutung
401Ungültiges, widerrufenes oder gelöschtes Token (beim Deaktivieren von MCP wird dein Token gelöscht, beim Neuerzeugen wird es ersetzt)
429Ratenlimit überschritten (5 Anfragen/s, Spitzen bis 20)

In Free wird das Erreichen des Limits von 100 Anfragen pro Tag als Tool-Fehlermeldung gemeldet (nicht als HTTP-Code) und um Mitternacht in der in deinem Konto gespeicherten Zeitzone zurückgesetzt.

Anwendungsbeispiele​

Alle Beispiele nutzen cURL mit dem MCP-JSON-RPC-Protokoll. Ersetze YOUR_TOKEN durch dein Zugriffstoken.

Daten lesen​

# Get your profile and 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"}}'

# List recent notes (limit 5, from 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"}}}'

# Search notes (hybrid text + semantic)
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}}}'

Daten schreiben (Pro und Ultra)​

# Process a note through full AI pipeline (extracts tasks + events)
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."}}}'

# Create a task with deadline and reminder
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"}}}'

# Create a repeating event with reminders and attendees
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"}}}'

# Complete a task
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>"}}}'

Eine erfolgreiche Antwort sieht so aus:

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

Schreib- und Update-Tools geben kurze Antworten zurück, meist id, title und status. Lösch-Tools geben id und deleted zurück. Um nach einem Schreibvorgang alle Details (Tags, Priorität, Frist usw.) zu bekommen, mach einen anschließenden Leseaufruf wie get_tasks oder get_note.

Token-Verwaltung​

AktionSo geht's
Token anseheniPhone: Einstellungen > Integrationen > KI-Agenten (MCP) > Für Entwickler (oder im Web: Einstellungen > Integrationen > KI-Agenten (MCP)), auf Anzeigen tippen
Token kopierenTippe neben dem Token auf Kopieren
Neu erstellenTippe auf Token neu erstellen und bestätige. Das alte Token funktioniert sofort nicht mehr. Assistenten, die per OAuth-Anmeldung verbunden sind, sind nicht betroffen; trenne sie unter Verbundene Apps
Modus ändernPro und Ultra: Wähle Nur lesen oder Lesen & schreiben. Free und Basic sind immer nur Lesen
DeaktivierenTippe auf Deaktivieren und bestätige („Damit wird der Zugriff für alle verbundenen KI-Tools widerrufen.“). Dein Token wird gelöscht, und alle Verbindungen enden. Wenn du MCP wieder aktivierst, bekommst du ein neues Token, und Apps, die per Anmeldung (OAuth) verbunden sind, funktionieren wieder, ohne dass du dich neu anmeldest. Um eine App endgültig zu entfernen, tippe unter Verbundene Apps auf Trennen

Was du deinen KI-Agenten fragen kannst​

Sobald die Verbindung steht, frag dein KI-Tool zum Beispiel:

Deinen Tag Revue passieren lassen:

  • „Woran habe ich heute gearbeitet?“
  • „Zeig mir meine Notizen von dieser Woche“
  • „Welche Aufgaben sind überfällig?“

Aufgaben verwalten:

  • „Erstelle eine Aufgabe: Quartalsbericht prüfen, hohe Priorität, Frist Freitag“
  • „Markiere die Figma-Aufgabe als erledigt“
  • „An welchen Aufgaben arbeite ich gerade?“

Suchen und analysieren:

  • „Finde alle Notizen zur Marketingstrategie“
  • „Welche Ereignisse habe ich nächste Woche?“
  • „Fasse meine Tagesberichte der letzten Woche zusammen“

Vorausplanen:

  • „Erstelle ein Ereignis: Team-Standup morgen um 10 Uhr“
  • „Was steht diese Woche in meinem Kalender?“
  • „Zeig mir meine häufigsten Tags - wofür brauche ich die meiste Zeit?“

Dein Assistent kann deine Notizen, Aufgaben, Ereignisse und Berichte lesen und komplexe Fragen beantworten, indem er Informationen aus mehreren Tools kombiniert. In Pro und Ultra mit eingeschaltetem Lesen und Schreiben kann er sie auch erstellen, aktualisieren und löschen.

Gut zu wissen​

  • Integrationen und Automatisierungen - process_note funktioniert wie eine Aufnahme, daher gehen seine Notiz, Aufgaben und Ereignisse an deine verbundenen Integrationen und Webhook-Automatisierungen. Elemente, die du mit den anderen Schreib-Tools erstellst, bearbeitest oder löschst, verhalten sich genau wie in der App: Sie erreichen deine verbundenen Integrationen (Ereignisse und Änderungen an Notizen nur Notion) und deine Automatisierungen. Wenn du eine Aufgabe mit restore_entity wiederherstellst oder ihren Abschluss mit undo_change_log_entry rückgängig machst, wird sie auch in den Integrationen wieder geöffnet, mit denen sie synchronisiert war.
  • Änderungen durch einen KI-Assistenten - sie werden im Änderungsverlauf des Elements als Änderung durch einen Assistenten gekennzeichnet. Sie werden nicht genutzt, um die Spracherkennung von TellDone zu trainieren, und nicht auf die anderen Elemente der Notiz übertragen. Änderungen über einen Assistenten teilen sich mit der App das Limit von 30 Änderungen pro Minute.
  • Semantische Suche - Notizen, die mit process_note oder create_note erstellt wurden, bekommen beide Embeddings und tauchen daher nach kurzer Verzögerung in der semantischen Suche auf.
  • Datumsfilter - bei Notizen sind Daten UTC-Tage. Bei Ereignissen sind Daten deine eigenen lokalen Tage, und ein Ereignis, das den Zeitraum überlappt, ist enthalten. Bei Aufgaben ist der Filter das Fristdatum.

Sicherheit​

  • Jeder Nutzer bekommt ein eigenes 384-Bit-Zugriffstoken
  • Dein Token wird sofort widerrufen, wenn du MCP deaktivierst oder das Token neu erzeugst
  • Jede Anfrage ist auf dein Konto beschränkt, dein Agent kann also nur auf deine eigenen Daten zugreifen
  • Die Verbindung nutzt HTTPS mit Ratenbegrenzung (5 Anfragen/s, Spitzen bis 20)
  • OAuth-Verbindungen nutzen PKCE mit einmal verwendbaren Autorisierungscodes und kurzlebigen Zugriffstoken - du kannst eine Verbindung jederzeit in der App widerrufen

Für einen technischen Einblick - Discovery-Endpunkte, Token-Laufzeiten, der vollständige OAuth-Ablauf - sieh dir unsere Open-Source-Connector-Referenz unter github.com/exp78/telldone-mcp an oder rufe https://api.telldone.app/.well-known/oauth-protected-resource direkt auf.

Datenschutz und Datenfluss​

Ein verbundenes KI-Tool bekommt deine Daten nur, wenn es TellDone aufruft, meist weil du etwas gefragt hast. Es erhält nur die Antworten auf diese Aufrufe, im Rahmen der Berechtigungen, die du bestätigt hast. Um den Zugriff einzuschränken, wechsle auf Nur lesen, trenne die App unter Verbundene Apps oder erstelle es neu oder deaktiviere dein Zugriffstoken in den Einstellungen. Alle Details findest du in der Datenschutzerklärung, oder schreib bei Fragen an support@telldone.app.

Fehlerbehebung​

SymptomUrsache / Lösung
Die OAuth-Zustimmungsseite sagt „Wrong email or password“Nutze die E-Mail und das Passwort, mit denen du dich in der App anmeldest, oder wähle auf derselben Seite Mit Apple anmelden / Mit Google anmelden.
Verbunden, aber die KI kann nichts erstellen oder bearbeitenDein Plan ist Free oder Basic (nur Lesen), dein Modus ist Nur Lesen, oder die Verbindung hat keine Schreibrechte. Wenn du dich verbunden hast, bevor du ein Upgrade gemacht hast, trenne die App unter Verbundene Apps und verbinde sie neu. Deinen Modus kannst du in den Einstellungen prüfen.
Fehler „Insufficient scope“ von einem ToolDie Verbindung hat diese Berechtigung nicht. In Free und Basic werden nie Schreibrechte vergeben, Erstellen und Bearbeiten braucht also Pro oder Ultra. Wenn du dich verbunden hast, bevor du ein Upgrade gemacht hast, trenne die App unter Verbundene Apps und verbinde sie neu.
Das kopierte Snippet sagt YOUR_TOKEN und der Client kann sich nicht verbindenDu hast es kopiert, während das Token verdeckt war. Tippe unter Für Entwickler auf Anzeigen und kopiere das Snippet dann erneut.
Tools erscheinen gar nichtMCP ist in deinem Konto nicht aktiviert (Einstellungen > Integrationen > KI-Agenten (MCP) > Aktivieren).
„Daily limit reached“Zwei Limits nutzen diese Meldung. „Daily limit reached: the Free plan includes 100 TellDone requests a day“ ist das Anfragelimit von Free. „Daily limit reached (N/M today)“ bedeutet, dass du heute über KI-Assistenten so viele Elemente erstellt hast, wie dein Plan erlaubt: process_note, create_note, create_task und create_event zählen jeweils, auch in Pro und Ultra. Beide werden um Mitternacht in der in deinem Konto gespeicherten Zeitzone zurückgesetzt.
Mein Client lässt mich nur aus einer Liste von Connectors wählen, und TellDone ist nicht dabeiTellDone ist noch in keinem Connector-Verzeichnis eines Clients - füge es als eigenen Connector mit der MCP-URL hinzu oder nutze die Methode mit Bearer-Token.

Siehe auch​