Zum Hauptinhalt springen

MCP-Zugang (KI-Agenten)

Was sich kürzlich geändert hat

MCP ist jetzt vollständig auf dem iPhone verfügbar (zusätzlich zur Web-App). Der iPhone-Bildschirm spiegelt den Web-Bildschirm und enthält dieselben Setup-Snippets für alle unterstützten KI-Clients.

Pro-Plan und höher

MCP-Zugang erfordert einen Pro- oder Ultra-Plan. Beide Pläne erhalten vollen Read + Write-Zugriff (27 Tools) und können bei Bedarf auf Read-only umschalten.

MCP (Model Context Protocol) lässt dich KI-Coding-Assistenten und Automations-Tools direkt mit deinen TellDone-Daten verbinden. Einmal verbunden, kann dein KI-Agent deine Notizen, Aufgaben, Termine, Berichte, Tags und den Änderungsverlauf lesen - und Einträge erstellen, aktualisieren, löschen und wiederherstellen. Es gibt insgesamt 27 Tools: 10 zum Lesen und 17 zum Schreiben von Daten.

Verfügbar sowohl in der iPhone-App (Einstellungen -> Integrationen -> KI-Agenten) als auch in der Web-App (Einstellungen -> KI-Agenten).

Zwei Wege zum Verbinden

Es gibt zwei Wege, einen KI-Client zu authentifizieren, und beide werden vollständig unterstützt:

  1. OAuth 2.1 (empfohlen) - der übliche "Mit TellDone anmelden"-Zustimmungsablauf. Das nutzen die Connector-Oberfläche von Claude Desktop und Claude.ai. Kein Token-Kopieren - du meldest dich mit deinem TellDone-Konto an und bestätigst die Berechtigungen, die der Client anfragt.
  2. Bearer-Token - kopier deinen persönlichen Access Token aus den Einstellungen und füg ihn in die Konfiguration deines Clients ein. Am einfachsten für Skripte, CLIs und Clients ohne eingebauten OAuth-Ablauf.
ClientEmpfohlen
Claude Desktop / CoworkOAuth - einen Custom Connector mit der MCP-URL hinzufügen, dann anmelden
Claude Code (CLI)Beides - claude mcp add führt dich im Browser durch OAuth, oder du fügst für die Token-Methode einen Bearer-Header hinzu
Skripte oder eigener CodeBearer-Token - am einfachsten zu automatisieren
Ein Client, der nur die Auswahl aus einem Verzeichnis gelisteter Connectors erlaubtNutz vorerst den Bearer-Token oder die mcp-remote-Brücke - TellDone ist noch in keinem Connector-Verzeichnis

Plan-Voraussetzungen

PlanMCP
FreeGesperrt
BasicGesperrt
ProRead + Write (27 Tools) - kann auf Read-only umschalten
UltraRead + Write (27 Tools) - kann auf Read-only umschalten

Der In-App-Bildschirm

Der KI-Agenten-Bildschirm hat drei Zustände, je nach Plan und ob MCP eingeschaltet ist.

Gesperrt (Free und Basic)

Im Free- oder Basic-Plan erklärt der Bildschirm, was MCP macht, und zeigt einen Upgrade-Button. Tippst du drauf, öffnet sich die Paywall, wo du auf Pro oder Ultra wechseln kannst.

Deaktiviert (Pro und Ultra, Funktion aus)

Bist du auf Pro oder Ultra, hast MCP aber noch nicht eingeschaltet, zeigt der Bildschirm eine kurze Übersicht, was dein Plan kann (Anzahl Tools, Zugriffsmodus, Quoten) und einen Aktivieren-Button. Tipp drauf, um deinen Verbindungs-Token zu generieren und die Integration zu starten.

Aktiviert

Einmal aktiviert, zeigt der Bildschirm alles, was du brauchst, um einen KI-Client zu verbinden:

  • Modus-Schalter - auf Ultra kannst du zwischen Read-only und Read + Write wechseln. Auf Pro ist der Modus auf Read + Write festgelegt.
  • Access Token-Zeile mit Augen-Schalter zum Anzeigen oder Verbergen des Tokens und einem Kopieren-Button.
  • Setup-Auswahl mit Tabs für Claude Code, Cursor, Windsurf und Sonstige. Das passende Code-Snippet erscheint unter den Tabs - einfach kopieren und in deinen KI-Client einfügen.
  • Regenerieren-Button - rotiert den Token sofort und trennt aktive Sitzungen, die den alten Token nutzen.
  • Deaktivieren-Button - schaltet MCP aus und löscht den Token. Du kannst es später wieder aktivieren, dann wird ein neuer Token ausgestellt.
Tipp

Halt deinen Verbindungs-Token geheim. Wer den Token hat, kann auf deine TellDone-Daten zugreifen. Nutze Regenerieren, falls du jemals vermutest, dass der Token nach außen gelangt ist.

So aktivierst du

Du kannst MCP von beiden Plattformen aus konfigurieren:

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

Schritte:

  1. Tipp auf Aktivieren.
  2. Wähle deinen Zugriffsmodus (nur Ultra - Pro ist immer Read + Write).
  3. Zeige deinen Token mit dem Augen-Symbol an und kopier ihn mit dem Kopieren-Symbol.
  4. Wähle dein Tool im Abschnitt Setup (Claude Code, Cursor, Windsurf oder Sonstige).
  5. Füg das Snippet in die Konfiguration deines KI-Clients ein.

Mit OAuth verbinden

OAuth ist der empfohlene Weg für Claude Desktop, Claude.ai, Cowork und Claude Code - du meldest dich mit deinem TellDone-Konto an, statt einen Token hin und her zu kopieren.

MCP-URL für OAuth: https://api.telldone.app/mcp/user (ohne /mcp am Ende - das ist eine andere URL, die nur für den Bearer-Token-Weg unten genutzt wird)

Claude Desktop / Cowork

  1. Wähl im Client Add custom connector.
  2. Gib die Server-URL ein: https://api.telldone.app/mcp/user
  3. Der Client öffnet die Zustimmungsseite von TellDone in deinem Browser. Du siehst dort, welche App Zugriff anfragt, welche Berechtigungen sie genau will, und ein Anmeldeformular.
  4. Meld dich mit E-Mail und Passwort deines TellDone-Kontos an und klick auf Allow.
  5. Der Client bekommt automatisch einen Access Token und verbindet sich - du musst keine Tokens kopieren.
Hinweis

Die Anmeldung auf der Zustimmungsseite läuft über E-Mail und Passwort deines TellDone-Kontos. Wenn dein Konto nur Apple- oder Google-Anmeldung hat (kein Passwort gesetzt), nutz vorerst die Bearer-Token-Methode unten.

Claude Code

OAuth (öffnet eine Anmeldung im Browser):

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

Claude Code erkennt den OAuth-Ablauf automatisch, meldet dich aber beim ersten Aufruf noch nicht an - führ /mcp in Claude Code aus und wähl Authenticate, um die Browser-Anmeldung zu öffnen. Danach erneuert Claude Code deinen Access Token für dich - du musst nichts weiter pflegen.

Bearer-Token (ohne Browser, gut für Headless-Setups):

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

Deinen YOUR_TOKEN bekommst du in der App: Einstellungen -> Integrationen -> KI-Agenten -> Token kopieren (siehe So aktivierst du oben).

Mit einem Bearer-Token verbinden

Für Clients ohne eingebauten OAuth-Support - Cursor, Windsurf und andere - füg deinen persönlichen Access Token direkt in die Konfiguration des Clients ein. Ersetz YOUR_TOKEN in allen Beispielen unten durch den Token aus deinen Einstellungen.

Cursor

Füg in .cursor/mcp.json hinzu:

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

Windsurf

Füg in .codeium/windsurf/mcp_config.json hinzu:

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

Sonstige

Nutz diese Snippets für Clients, die der In-App-Picker unter Sonstige zusammenfasst.

Codex

Füg in codex.json hinzu:

{
"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 verbunden werden. Nutz den Endpoint https://api.telldone.app/mcp/user/mcp mit einem Bearer YOUR_TOKEN-Authorization-Header.

Alternative Auth-Header

Wenn dein Client oder Proxy den Authorization-Header reserviert (z. B. einige Smithery-artige Gateways), schick den Token stattdessen in X-MCP-Token: YOUR_TOKEN. Beide Header funktionieren; wenn beide vorhanden sind, gewinnt Authorization.

Verbindung testen

Du kannst mit einem einfachen cURL-Befehl 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 sind durch Scopes eingegrenzt - bei der Anmeldung siehst du genau, was der Client anfragt, und bestätigst es ausdrücklich.

ScopeErlaubt der App...
notes:readDeine Notizen lesen, durchsuchen, vollständige Notizdetails öffnen
notes:writeNotizen erstellen, bearbeiten, löschen (und die Sprachnotiz-Pipeline ausführen)
tasks:read / tasks:writeAufgaben lesen / erstellen, bearbeiten, abschließen und löschen
events:read / events:writeTermine lesen / erstellen, bearbeiten und löschen
reports:readDeine Tages-, Wochen-, Monats- und Jahresberichte lesen
tags:read / tags:writeDeine Tags auflisten / Tags erstellen und umbenennen
profile:readDeine Profil- und Abo-Infos lesen
offline_accessVerbunden bleiben, wenn du weg bist (stellt einen Refresh Token aus, damit du dich nicht in jeder Sitzung neu anmelden musst)

Scopes sind eine Obergrenze, keine Garantie - eine Verbindung mit nur notes:read kann kein Write-Tool aufrufen, egal worum du sie bittest. Dein Plan ist eine zweite Hürde zusätzlich zu den Scopes.

Bearer-Token-Verbindungen haben keine eigenen Scopes - für sie gilt nur der Read/Write-Modus deines Plans.

Was du tun kannst

Read-Tools (10) - Pro und Ultra

ToolWas es macht
get_notesNotizen mit Filtern auflisten (Tags, Datumsbereich, Textsuche)
get_noteEine einzelne Notiz mit ihren untergeordneten Aufgaben, Terminen und vollständigem Transkript ansehen
get_notes_fullMehrere Notizen mit eingebetteten Aufgaben und Terminen in einem Aufruf holen
get_tasksAufgaben gefiltert nach Status (offen, erledigt, alle), Tags oder Datum auflisten
get_eventsKalendertermine auflisten, nach Datumsbereich filtern
get_reportsTages-, Wochen-, Monats- und Jahresberichte lesen (volles Markdown)
get_tagsAlle deine Tags nach Nutzung sortiert ansehen
get_profileKonto-Infos und Nutzungsstatistiken einsehen
searchÜber Notizen, Aufgaben und Termine hinweg suchen (Text + semantische Suche für Notizen)
get_change_logDen Bearbeitungsverlauf einer Notiz, Aufgabe oder eines Termins ansehen und ob jede Änderung rückgängig gemacht wurde
Tipp

Das search-Tool unterstützt semantische Suche für Notizen - es findet Ergebnisse nach Bedeutung, nicht nur nach Stichwörtern. Eine Suche nach "Meetings über Budget" findet etwa Notizen über finanzielle Diskussionen, auch wenn das Wort "Budget" nicht vorkommt.

Write-Tools (17) - Pro und Ultra

ToolWas es macht
process_noteVolle KI-Pipeline - schick Text oder Audio, bekomm eine Notiz mit Aufgaben, Terminen und Tags zurück
create_noteEine reine Textnotiz hinzufügen (ohne KI-Analyse)
create_taskAufgabe mit Priorität, Frist, Erinnerung und Tags hinzufügen
create_eventKalendertermin mit Datum, Uhrzeit, Ort, Erinnerungen, Teilnehmern und Wiederholung hinzufügen
update_noteNotiztitel, Zusammenfassung, Typ, Tags, Priorität oder Status ändern
update_taskAufgabentitel, Beschreibung, Priorität, Frist, Erinnerung, Tags oder Status ändern
complete_taskAufgabe als erledigt markieren
update_eventTermindetails, Zeit, Ort, Erinnerungen, Teilnehmer, Wiederholung, Tags oder Status ändern
delete_noteNotiz und alle verknüpften Aufgaben und Termine löschen
delete_taskAufgabe löschen
delete_eventTermin löschen
undo_change_log_entryEine einzelne erfasste Änderung rückgängig machen - ob von der KI oder von dir selbst - und den vorherigen Wert des Feldes wiederherstellen
restore_entityEine gelöschte oder archivierte Notiz, Aufgabe oder einen Termin wiederherstellen
create_tagEin neues Tag erstellen oder ein automatisch vorgeschlagenes Tag dauerhaft machen
set_tag_pinnedEin Tag anpinnen oder lösen, damit es nach oben sortiert wird
delete_tagEin Tag entfernen (kann mit restore_tag wiederhergestellt werden)
restore_tagEin gelöschtes Tag wiederherstellen

Alle Write- und Delete-Operationen erscheinen über Echtzeit-Sync sofort auf deinen verbundenen Geräten (Telefon, Web-App).

Tools-Referenz

get_notes

Notizen mit optionalen Filtern auflisten. Datumsfilter nutzen recorded_at (wann du die Sprachnotiz aufgenommen hast), nicht created_at.

ParameterTypStandardBeschreibung
limitint20Anzahl der Notizen (max 50)
offsetint0So viele Notizen überspringen (für Paginierung, max 10000)
tagsstring-Nach Tags filtern, kommagetrennt (matcht beliebigen)
searchstring-Textsuche in Titel und Zusammenfassung
date_fromstring-Startdatum, YYYY-MM-DD (inklusive)
date_tostring-Enddatum, YYYY-MM-DD (exklusive)
standalone_onlyboolfalseWenn true, werden Folgeaufnahmen (Notizen, die an eine übergeordnete Notiz/Aufgabe/Ereignis angehängt sind) ausgeblendet und nur eigenständige Notizen zurückgegeben

Gibt zurück: Liste der Notizen mit id, title, summary, type, tags, priority, status, recorded_at, created_at.

get_note

Eine einzelne Notiz mit vollständigem Transkript und allen verknüpften Aufgaben und Terminen abrufen.

ParameterTypBeschreibung
note_idstringDie UUID der Notiz

Gibt zurück: Notiz mit title, summary, transcript, type, tags, priority, status, metadata, created_at, plus tasks[] und events[] Arrays.

Gibt außerdem transcript_speakers zurück (nach Sprecher gekennzeichnete Transkript-Abschnitte, für Meetings mit mehreren Sprechern - sonst null), speaker_count (null, außer die Aufnahme wurde nach Sprecher aufgeteilt) und parent_note_id/parent_task_id/parent_event_id (gesetzt, wenn diese Notiz eine Folgebearbeitung eines anderen Eintrags ist). Jeder tasks[]/events[]-Eintrag enthält außerdem reminders_at/recurrence_rule (Aufgaben) oder reminder_minutes/attendees/recurrence_rule (Termine).

get_notes_full

Mehrere Notizen mit ihren Aufgaben und Terminen in einem einzigen Aufruf holen. Gleiche Filter wie get_notes, aber jede Notiz enthält eingebettete tasks[] und events[].

ParameterTypStandardBeschreibung
limitint10Anzahl der Notizen (max 20)
offsetint0So viele Notizen überspringen
tagsstring-Nach Tags filtern
date_fromstring-Startdatum, YYYY-MM-DD
date_tostring-Enddatum, YYYY-MM-DD
standalone_onlyboolfalseWenn true, werden Folgeaufnahmen (Notizen, die an eine übergeordnete Notiz/Aufgabe/Ereignis angehängt sind) ausgeblendet und nur eigenständige Notizen zurückgegeben

get_tasks

Aufgaben mit Filtern auflisten.

ParameterTypStandardBeschreibung
statusstring"todo"Filter: todo, done oder all
limitint30Anzahl der Aufgaben (max 100)
offsetint0So viele Aufgaben überspringen
tagsstring-Nach Tags filtern, kommagetrennt
date_fromstring-Startdatum, YYYY-MM-DD (filtert nach Frist; Aufgaben ohne Frist werden ausgeschlossen)
date_tostring-Enddatum, YYYY-MM-DD (filtert nach Frist; Aufgaben ohne Frist werden ausgeschlossen)

Gibt zurück: Liste der Aufgaben mit id, title, description, status, priority, tags, deadline, reminder_at, reminders_at, completed_at, completed_by, source, created_at. reminder_at spiegelt aus Gründen der Abwärtskompatibilität den ersten Eintrag von reminders_at - nutze reminders_at, um alle Erinnerungen einer Aufgabe zu sehen.

get_events

Kalendertermine mit Datumsbereichsfilter auflisten.

ParameterTypStandardBeschreibung
limitint30Anzahl der Termine (max 100)
offsetint0So viele Termine überspringen
date_fromstring-Startdatum, YYYY-MM-DD (filtert nach Termin-Startzeit)
date_tostring-Enddatum, YYYY-MM-DD

Gibt zurück: Liste der Termine mit id, title, description, status, start_at, end_at, location, is_all_day, tags, note_id, reminder_minutes, attendees, recurrence_rule, created_at.

get_reports

Hol deine KI-generierten Berichte mit vollständigem Markdown-Inhalt.

ParameterTypStandardBeschreibung
report_typestring"daily"Typ: daily, weekly, monthly oder yearly
limitint5Anzahl der Berichte (max 10)

Gibt zurück: Liste der Berichte mit id, type, period_start, period_end, content_md, created_at.

Hinweis

Monatsberichte können 3.000-5.000 Wörter haben. Nutz limit=1, wenn dein KI-Tool ein enges Kontextfenster hat.

get_tags

Alle deine Tags abrufen, sortiert nach Pinned zuerst, dann nach Nutzungszahl.

Keine Parameter. Gibt bis zu 100 Tags zurück, jeweils mit tag, usage_count, is_pinned, is_manual.

get_profile

Hol Konto-Infos und Nutzungsstatistiken.

Keine Parameter. Gibt zurück: email, display_name, locale, transcription_locale, timezone, subscription, mcp_mode, created_at und stats (Anzahl Notizen/Aufgaben/Termine).

Such gleichzeitig über Notizen, Aufgaben und Termine. Für Notizen werden sowohl Textsuche als auch semantische Suche unterstützt (findet Ergebnisse nach Bedeutung mittels KI-Embeddings).

ParameterTypStandardBeschreibung
querystringerforderlichSuchtext (max 500 Zeichen)
limitint20Max. Ergebnisse pro Typ (max 20)
semanticbooltrueSemantische Suche für Notizen aktivieren

Gibt Ergebnisse nach Typ gruppiert zurück: notes[], tasks[], events[]. Jedes Ergebnis hat id, type, title, detail, created_at.

Setze semantic=false für eine schnellere Nur-Text-Suche.

get_change_log

Den Bearbeitungsverlauf einer Notiz, Aufgabe oder eines Termins ansehen - jede von der KI vorgenommene Folgebearbeitung und jede manuelle Änderung, die du selbst gemacht hast, neueste zuerst.

ParameterTypStandardBeschreibung
entitystringerforderlichnotes, tasks oder events
entity_idstringerforderlichDie UUID des Eintrags
include_manualboolfalseAuch deine eigenen manuellen Änderungen einbeziehen, nicht nur die von der KI

Gibt zurück: Liste der Änderungseinträge mit id (nutze diese als entry_id zum Rückgängigmachen), field_name, old_value, new_value, source (follow_up, smart_context oder manual), origin_note_id, edited_at und reverted_at (gesetzt, sobald rückgängig gemacht).

process_note (Pro und Ultra)

Volle KI-Pipeline - funktioniert wie das Aufnehmen in der App. Schick Text oder Audio, und TellDone transkribiert, analysiert mit KI und erstellt eine strukturierte Notiz mit extrahierten Aufgaben, Terminen, Tags und Embeddings.

Dieses Tool ist asynchron: es kehrt sofort mit einer audio_id zurück und verarbeitet im Hintergrund. Ergebnisse kommen über Echtzeit-Sync auf deinen verbundenen Geräten an, oder du kannst mit get_notes() pollen.

ParameterTypBeschreibung
textstringZu analysierender Text (überspringt Transkription, wenn kein Audio mitgeschickt)
audio_base64stringBase64-kodierte Audio-Datei (bis 50 MB, löst Transkription aus)
audio_formatstringm4a, ogg, wav, mp3, aac oder webm (Standard: m4a)
parent_task_idstringUUID einer Aufgabe, zu der dies eine Folgeaufnahme ist
parent_note_idstringUUID einer Notiz, zu der dies eine Folgeaufnahme ist
parent_event_idstringUUID eines Termins, zu dem dies eine Folgeaufnahme ist

Du musst entweder text oder audio_base64 mitschicken (oder beides - Audio hat Vorrang für die Transkription).

Gibt zurück: {"audio_id": "...", "status": "processing", "mode": "text-only"} oder "mode": "audio+stt" falls Audio mitgeschickt wurde.

Hinweis

process_note unterliegt den Quoten deines Plans (Uploads pro Tag, Notizen pro Monat, max. Textlänge). Nutz get_profile, um deine aktuelle Nutzung zu prüfen.

create_note (Pro und Ultra)

Sofort eine reine Textnotiz erstellen. Löst keine KI-Analyse aus - es werden keine Aufgaben oder Termine extrahiert. Für volle KI-Analyse mit Aufgaben-/Terminextraktion nimm stattdessen process_note.

ParameterTypLimitBeschreibung
titlestring200 ZeichenErforderlich
summarystring1000 ZeichenOptional. Kurzer Teaser (1-3 Sätze). Geht in die Bericht-Prompts ein, also kurz halten
transcriptstringplan-basiertOptional. Langer Textkörper, in der Notiz-Detailansicht. Nicht in Berichten. Limits: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000 Zeichen
typestring-Optional. task, idea, info (Standard), status, meeting, event oder reflection
tagsstring20 TagsKommagetrennt, optional

create_task (Pro und Ultra)

Eine neue Aufgabe erstellen.

ParameterTypLimitBeschreibung
titlestring200 ZeichenErforderlich
descriptionstring2000 ZeichenOptional
prioritystring-low, medium (Standard) oder high
deadlinestring-YYYY-MM-DD, optional
reminder_atstring-ISO 8601-Datum/Uhrzeit (z. B. 2026-04-15T09:00:00Z), optional
tagsstring20 TagsKommagetrennt, optional
note_idstring-UUID, um die Aufgabe mit einer Eltern-Notiz zu verknüpfen, optional

create_event (Pro und Ultra)

Einen Kalendertermin erstellen.

ParameterTypLimitBeschreibung
titlestring200 ZeichenErforderlich
start_atstring-ISO 8601-Datum/Uhrzeit, erforderlich
end_atstring-ISO 8601-Datum/Uhrzeit (Standard: Start + 1 Stunde)
descriptionstring2000 ZeichenOptional
locationstring200 ZeichenOptional
is_all_daybool-Standard: false
tagsstring20 TagsKommagetrennt, optional
reminder_minutesstring-Kommagetrennte Minuten vor dem Termin (z. B. 15,60), optional
attendeesstring-Kommagetrennte Namen oder E-Mails, optional
recurrence_rulestring-RRULE-String (z. B. FREQ=WEEKLY;BYDAY=MO,WE,FR), optional
note_idstring-UUID, um den Termin mit einer Eltern-Notiz zu verknüpfen, optional

update_note (Pro und Ultra)

Eines oder mehrere Felder einer bestehenden Notiz aktualisieren. Nur die übergebenen Felder werden geändert.

ParameterTypBeschreibung
note_idstringErforderlich, die UUID der Notiz
titlestringNeuer Titel (max 200 Zeichen)
summarystringNeue Zusammenfassung (max 1000 Zeichen, ein Leerzeichen " " zum Löschen übergeben)
transcriptstringNeues Transkript (plan-basiertes Limit, ein Leerzeichen " " zum Löschen übergeben)
typestringtask, idea, info, status, meeting, event oder reflection
tagsstringKommagetrennte Tags (ersetzt alle vorhandenen Tags, max 20)
prioritystringlow, medium oder high
statusstringactive oder archived
Vorsicht

Bei Notizen, die durch die Sprach-Pipeline erstellt wurden, ist transcript der ursprüngliche Speech-to-Text-Output. Wenn du ihn überschreibst, ersetzt das die kanonische Quelle - erwäg lieber, etwas anzuhängen, wenn du das Original behalten willst.

update_task (Pro und Ultra)

Eines oder mehrere Felder einer bestehenden Aufgabe aktualisieren. Nur die übergebenen Felder werden geändert.

ParameterTypBeschreibung
task_idstringErforderlich, die UUID der Aufgabe
titlestringNeuer Titel
descriptionstringNeue Beschreibung (Leerzeichen zum Löschen übergeben)
prioritystringlow, medium oder high
deadlinestringYYYY-MM-DD (Leerzeichen zum Löschen)
statusstringtodo oder done
tagsstringKommagetrennte Tags (ersetzt alle vorhandenen Tags, max 20)
reminder_atstringISO 8601-Datum/Uhrzeit (Leerzeichen zum Löschen)

status auf done zu setzen erfasst auch, wann und wie die Aufgabe abgeschlossen wurde.

complete_task (Pro und Ultra)

Kürzel, um eine Aufgabe als erledigt zu markieren.

ParameterTypBeschreibung
task_idstringErforderlich, die UUID der Aufgabe

Gibt einen Fehler zurück, wenn die Aufgabe nicht existiert oder bereits abgeschlossen ist.

update_event (Pro und Ultra)

Eines oder mehrere Felder eines bestehenden Termins aktualisieren. Nur die übergebenen Felder werden geändert.

ParameterTypBeschreibung
event_idstringErforderlich, die UUID des Termins
titlestringNeuer Titel
descriptionstringNeue Beschreibung (Leerzeichen zum Löschen)
start_atstringNeue Startzeit (ISO 8601)
end_atstringNeue Endzeit (ISO 8601)
locationstringNeuer Ort (Leerzeichen zum Löschen)
statusstringconfirmed, tentative oder cancelled
tagsstringKommagetrennte Tags (ersetzt alle vorhandenen Tags, max 20)
is_all_daystring"true" oder "false"
reminder_minutesstringKommagetrennte Minuten vor dem Termin (z. B. 15,60)
attendeesstringKommagetrennte Namen oder E-Mails
recurrence_rulestringRRULE-String (Leerzeichen zum Löschen)

delete_note (Pro und Ultra)

Eine Notiz löschen. Damit werden auch alle Aufgaben und Termine gelöscht, die aus dieser Notiz erstellt wurden.

ParameterTypBeschreibung
note_idstringErforderlich, die UUID der Notiz

delete_task (Pro und Ultra)

Eine Aufgabe löschen.

ParameterTypBeschreibung
task_idstringErforderlich, die UUID der Aufgabe

delete_event (Pro und Ultra)

Einen Termin löschen.

ParameterTypBeschreibung
event_idstringErforderlich, die UUID des Termins

undo_change_log_entry (Pro und Ultra)

Eine einzelne erfasste Änderung rückgängig machen - setzt das Feld auf seinen Wert vor dieser Änderung zurück, egal ob die Änderung von der KI (aus einer Folgeaufnahme) oder direkt von dir gemacht wurde.

ParameterTypBeschreibung
entitystringErforderlich, notes, tasks oder events
entity_idstringErforderlich, die UUID des Eintrags
entry_idstringErforderlich, die id des Änderungseintrags aus get_change_log

Gibt zurück: {"entry_id", "entity_type", "entity_id", "field_name", "restored_value", "reverted_at"}. Denselben Eintrag zweimal rückgängig zu machen, gibt einen Fehler zurück - er ist bereits rückgängig gemacht.

restore_entity (Pro und Ultra)

Eine gelöschte oder archivierte Notiz, Aufgabe oder einen Termin wiederherstellen.

ParameterTypBeschreibung
entitystringErforderlich, notes, tasks oder events
entity_idstringErforderlich, die UUID des Eintrags

Gibt zurück: den wiederhergestellten Eintrag als JSON.

create_tag (Pro und Ultra)

Ein neues Tag erstellen oder ein bestehendes automatisch vorgeschlagenes Tag dauerhaft machen.

ParameterTypBeschreibung
tagstringErforderlich, 1-50 Zeichen (wird kleingeschrieben gespeichert)
categorystringOptional

set_tag_pinned (Pro und Ultra)

Ein Tag anpinnen oder lösen, damit es an den Anfang deiner Tag-Liste sortiert wird.

ParameterTypBeschreibung
tagstringErforderlich
pinnedboolErforderlich

Tags, die ein /-Zeichen enthalten, können nicht angepinnt werden.

delete_tag (Pro und Ultra)

Ein Tag entfernen. Kann mit restore_tag wiederhergestellt werden.

ParameterTypBeschreibung
tagstringErforderlich

restore_tag (Pro und Ultra)

Ein gelöschtes Tag wiederherstellen.

ParameterTypBeschreibung
tagstringErforderlich

Eingabelimits

FeldMax. LängeVerwendet in
title200 Zeichencreate/update note, task, event
description2.000 Zeichencreate/update task, event
summary1.000 Zeichen (hart)create/update note. Geht in Bericht-Prompts ein, kurz gehalten zur Token-Kosten-Kontrolle
transcriptplan-basiert: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000create/update note. Langer Textkörper, nicht in Berichten
location200 Zeichencreate/update event
tags20 Tagscreate/update note, task, event
Suchanfrage500 Zeichensearch
audio_base64 (dekodiert)50 MBprocess_note

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

Fehlerbehandlung

Alle Tools geben JSON zurück. Fehler nutzen dieses Format:

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

Häufige Fehler:

FehlerWann
"MCP access is read-only..."Write-Tool im Read-only-Modus aufgerufen
"Invalid note_id format"Nicht-UUID-String als ID übergeben
"Note not found"ID existiert nicht oder gehört einem anderen Nutzer
"Task not found or already completed"complete_task für nicht existierende oder bereits erledigte Aufgabe
"title too long (max 200 chars, got N)"Eingabe-Limit überschritten
"Too many tags (max 20)"Mehr als 20 Tags übergeben

HTTP-Fehler:

CodeBedeutung
401Ungültiger oder fehlender Bearer-Token
403MCP deaktiviert oder Plan erlaubt MCP nicht
429Rate Limit überschritten (5 Anfragen/s, Burst bis 20)

Nutzungsbeispiele

Alle Beispiele nutzen cURL mit dem MCP-JSON-RPC-Protokoll. Ersetz YOUR_TOKEN durch deinen Verbindungs-Token.

Daten lesen

# Profil und Statistiken abrufen
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"}}'

# Aktuelle Notizen auflisten (Limit 5, ab 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"}}}'

# Notizen suchen (hybrid Text + 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}}}'

Daten schreiben (Pro und Ultra)

# Notiz durch die volle KI-Pipeline laufen lassen (extrahiert Aufgaben + Termine)
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."}}}'

# Aufgabe mit Frist und Erinnerung erstellen
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"}}}'

# Wiederkehrenden Termin mit Erinnerungen und Teilnehmern erstellen
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"}}}'

# Aufgabe abschließen
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": 10,
"result": {
"content": [{"type": "text", "text": "{\"id\":\"...\",\"title\":\"Review PR\",\"status\":\"todo\"}"}]
}
}
Hinweis

Write- und Update-Tools geben minimale Antworten mit nur id, title und status zurück. Um nach einem Schreibvorgang volle Details (Tags, Priorität, Frist etc.) zu bekommen, mach einen Folgeaufruf wie get_tasks oder get_note.

Token-Verwaltung

AktionWie
Token anzeigeniPhone-Einstellungen -> Integrationen -> KI-Agenten (oder Web-Einstellungen -> KI-Agenten), tippe auf das Augen-Symbol
Token kopierenTippe auf das Kopier-Symbol neben dem Token
RegenerierenTippe auf Regenerieren und bestätige. Der alte Token wird sofort ungültig und aktive Sitzungen werden getrennt
Modus ändernNur Ultra - umschalten zwischen Read-only und Read + Write. Auf Pro ist der Modus auf Read + Write festgelegt
DeaktivierenTippe auf Deaktivieren und bestätige. Der Token wird gelöscht und alle Verbindungen werden getrennt. Du kannst es später wieder aktivieren (ein neuer Token wird ausgestellt)

Was du deinen KI-Agenten fragen kannst

Einmal verbunden, frag dein KI-Tool Dinge wie:

Tag durchgehen:

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

Aufgaben verwalten:

  • "Erstell eine Aufgabe: Quartalsbericht prüfen, hohe Priorität, Frist Freitag"
  • "Markiere die Figma-Aufgabe als erledigt"
  • "Welche Aufgaben habe ich gerade?"

Suchen und analysieren:

  • "Finde alle Notizen über die Marketing-Strategie"
  • "Welche Termine habe ich nächste Woche?"
  • "Fass meine Tagesberichte der letzten Woche zusammen"

Vorausplanen:

  • "Erstell einen Termin: Team-Standup morgen um 10 Uhr"
  • "Was steht diese Woche in meinem Kalender?"
  • "Zeig mir meine Top-Tags - womit verbringe ich die meiste Zeit?"

Der KI-Agent hat vollen Zugriff auf deine Notizen, Aufgaben, Termine und Berichte. Er kann lesen, erstellen, aktualisieren und löschen und komplexe Fragen beantworten, indem er Infos aus mehreren Tools kombiniert.

Wichtige Hinweise

  • Zwei Wege, Notizen zu erstellen - create_note erstellt sofort eine reine Textnotiz (keine KI-Analyse). process_note durchläuft die komplette KI-Pipeline (wie eine Aufnahme in der App) - es analysiert den Text, extrahiert Aufgaben und Termine, generiert Tags und Embeddings. Nimm process_note, wenn TellDone für dich denken soll.
  • Keine Integrations-Synchronisierung - Einträge, die per MCP erstellt oder aktualisiert werden, lösen keine Webhook-Automationen oder Integrations-Syncs (Todoist, Notion) aus. Sie erscheinen in deinen Apps beim nächsten Sync.
  • Semantische Suche hängt vom Tool ab - Notizen, die mit process_note erstellt wurden, bekommen Embeddings und tauchen in der semantischen Suche auf. Notizen, die mit create_note erstellt wurden, bekommen keine Embeddings, sodass sie nur in der Textsuche auftauchen.
  • Write-Antworten sind minimal - Create- und Update-Tools geben nur id, title und status zurück. Für alle Felder nach einem Schreibvorgang mach einen Folgeaufruf zum Lesen.
  • Datumsfilter nutzen UTC - die Parameter date_from/date_to werden als UTC-Zeitstempel verglichen. Für Nutzer in Nicht-UTC-Zeitzonen können Grenzdaten Einträge benachbarter Tage einschließen oder ausschließen.
  • Rate Limit - 5 Anfragen pro Sekunde, mit Bursts bis zu 20. Verteile deine Anfragen bei Massenoperationen.

Sicherheit

  • Jeder Nutzer bekommt einen eindeutigen 384-Bit-Verbindungs-Token
  • Dein Token wird sofort widerrufen, wenn du MCP deaktivierst oder regenerierst
  • Alle Daten sind strikt auf dein Konto isoliert - dein Agent kann nur auf deine eigenen Daten zugreifen
  • Jede Anfrage ist auf deinen Nutzer beschränkt - es gibt keinen Weg, mit dem ein Agent auf Daten anderer Nutzer zugreifen kann
  • Verbindung läuft über HTTPS mit Rate Limiting (5 Anfragen/s, Burst bis 20)
  • OAuth-Verbindungen nutzen PKCE mit einmalig gültigen Authorization Codes und kurzlebigen Access Tokens - du kannst eine Verbindung jederzeit in der App widerrufen

Für technische Details - Discovery-Endpoints, Token-Laufzeiten, den vollständigen OAuth-Ablauf - schau in unsere quelloffene Connector-Referenz auf github.com/exp78/telldone-mcp oder frag https://api.telldone.app/.well-known/oauth-protected-resource direkt ab.

Datenschutz und Datenfluss

Deine Daten werden nur dann an ein verbundenes KI-Tool übertragen, wenn du es ausdrücklich um etwas bittest - zum Beispiel, wenn du es deine Notizen lesen oder ändern lässt. Das Tool bekommt nur die Antworten auf die konkreten Aufrufe, die es macht, begrenzt auf die Berechtigungen, die du bestätigt hast. Du behältst die Kontrolle: Ändere den Read/Write-Modus deines Plans, schränke die OAuth-Scopes ein, die du bei der Anmeldung bestätigst, oder regeneriere und deaktiviere deinen Bearer-Token - alles in den Einstellungen. Vollständige 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"Nutz E-Mail und Passwort deines TellDone-Kontos (die, mit denen du dich in der App anmeldest). Wenn dein Konto nur Apple- oder Google-Anmeldung ohne Passwort hat, nutz stattdessen die Bearer-Token-Methode.
Verbunden, aber die KI kann nichts erstellen oder bearbeitenDein Plan oder Modus ist Read-only, oder die Verbindung hat keine Write-Scopes bekommen - verbinde neu und bestätige sie, oder prüf deinen Modus in den Einstellungen.
Fehler "Insufficient scope" von einem ToolDie OAuth-Verbindung hat diesen Scope nicht bekommen. Verbinde neu und bestätige die Berechtigung, die das Tool braucht.
Tools erscheinen überhaupt nichtMCP ist für dein Konto nicht aktiviert (Einstellungen -> KI-Agenten), oder dein Plan enthält kein MCP.
Mein Client lässt mich nur aus einer Liste von Connectors auswählen, und TellDone ist nicht dabeiTellDone ist noch in keinem Connector-Verzeichnis eines Clients - füg es als Custom Connector mit der MCP-URL hinzu, oder nutz die Bearer-Token-Methode.

Siehe auch