Sari la conținutul principal

Agenți AI (MCP)

Disponibil în orice plan

MCP funcționează în toate planurile. Free și Basic primesc acces doar pentru citire la toate cele 10 instrumente de citire (Free este limitat la 100 de cereri pe zi). Pro și Ultra primesc acces complet de citire și scriere (27 de instrumente) și pot trece în modul doar pentru citire, dacă preferă.

MCP (Model Context Protocol) îți permite să conectezi asistenți AI precum ChatGPT și Claude, asistenți de programare și instrumente de automatizare direct la datele tale TellDone. După conectare, asistentul tău poate citi notițele, sarcinile, evenimentele, rapoartele, etichetele și istoricul modificărilor. În planurile Pro și peste, poate și să creeze, să actualizeze, să șteargă și să restaureze elemente. Există 27 de instrumente: 10 pentru citire (în orice plan) și 17 pentru scriere (Pro și peste).

Pe iPhone, Setări > Integrări > Agenți AI (MCP) deschide ecranul de configurare MCP, cu tokenul tău de acces mascat implicit:

Setări Agenți AI pe iPhone, cu tokenul mascat

Iar pe web:

Setări Agenți AI pe web, cu tokenul de acces ascuns

Două moduri de conectare​

Există două moduri de a conecta un client AI:

  1. Conectare cu TellDone (OAuth) (recomandat) - te conectezi cu contul tău TellDone și aprobi ce cere aplicația. ChatGPT și Claude folosesc această variantă, și nu ai de copiat niciun token.
  2. Token Bearer - copiezi tokenul de acces din Setări și îl lipești în configurația clientului tău. Cel mai simplu pentru scripturi, instrumente din linia de comandă și clienți fără flux OAuth încorporat.
ClientRecomandat
ChatGPT (chatgpt.com sau aplicația ChatGPT pentru desktop, nu aplicația mobilă)OAuth - adaugă un server MCP personalizat cu URL-ul MCP, apoi conectează-te
Claude (site, Desktop, aplicația pentru iPhone) / CoworkOAuth - adaugă un conector personalizat cu URL-ul MCP, apoi conectează-te
Claude Code (CLI)Token Bearer deocamdată - adaugă antetul Authorization cu tokenul tău
Scripturi sau propriul codToken Bearer - cel mai simplu de automatizat
Un client care permite doar alegerea dintr-un director de conectori listațiAdaugă TellDone ca un conector personalizat cu URL-ul MCP sau folosește un token Bearer. TellDone nu se află încă în niciun director de conectori

Cerințe pe planuri​

PlanMCP
FreeDoar citire (10 instrumente de citire), 100 de cereri pe zi
BasicDoar citire (10 instrumente de citire), fără limită zilnică
ProCitire și scriere (27 de instrumente) - poate trece în modul doar citire
UltraCitire și scriere (27 de instrumente) - poate trece în modul doar citire

Limita de 100 de cereri pe zi din planul Free numără doar apelurile de instrumente. Conectarea, autentificarea și listarea instrumentelor nu se numără. Ziua urmează fusul orar salvat în contul tău și se resetează la miezul nopții. Când atingi limita, asistentul tău primește un mesaj care o spune. Instrumentele de scriere sunt refuzate în planurile Free și Basic. Cu un token de acces, ele răspund că conexiunea este doar pentru citire și că crearea și editarea necesită Pro și peste. Cu autentificare (OAuth), cele mai multe răspund „Insufficient scope”, deoarece conexiunile Free și Basic nu primesc niciodată permisiuni de scriere.

Ecranul din aplicație​

Deschide Setări > Integrări și, în secțiunea Agenți AI, atinge Agenți AI (MCP). Ecranul spune „Lasă ChatGPT, Claude și alți asistenți AI să lucreze cu notițele, sarcinile și evenimentele tale din TellDone.” și arată planul tău:

  • Free: „Planul tău: acces doar citire, 100 de cereri pe zi. Scrierea vine cu Pro.”
  • Basic: „Planul tău: acces doar citire”
  • Pro și Ultra: „Planul tău: acces citire și scriere”

Cât timp MCP este dezactivat, atinge Activează ca să-l pornești.

După activare, ecranul arată:

  • Mod de acces (Pro și Ultra) - alege Doar citire sau Citire și scriere oricând.
  • Conectează un asistent - pașii pentru ChatGPT, Claude și Alt asistent. Te conectezi la TellDone în interiorul asistentului, deci nu ai nevoie de token.
  • Aplicații conectate - asistenții pe care i-ai conectat, fiecare cu un buton Deconectează. Rămâne gol până la prima conectare.
  • Pentru dezvoltatori (restrâns implicit) - câmpul Token de acces (ascuns, cu Afișează / Ascunde și Copiază), Regenerează tokenul și un comutator Claude Code / Cursor / Altele cu text gata făcut și propriul buton Copiază. Claude Code îți dă comanda claude mcp add, Cursor îți dă JSON-ul pentru .cursor/mcp.json, iar Altele listează adresa serverului, opțiunea de autentificare OAuth și antetul Authorization: Bearer. Cât timp tokenul este ascuns, fragmentele arată YOUR_TOKEN. Atinge Afișează și ele conțin tokenul tău real.

Pe web există aceleași comenzi, într-o dispunere diferită, fără secțiunea restrânsă pentru dezvoltatori: adresa OAuth cu un buton Copy, comenzile pentru token, Connected apps cu Disconnect și Manual bearer token setup cu șase variante de client (Claude Code, Cursor, Windsurf, Codex, OpenClaw și cURL). Pe web, fragmentele conțin întotdeauna tokenul tău real, chiar dacă câmpul tokenului este ascuns, așa că tratează-le ca pe tokenul însuși.

  • Documentație - un link către această pagină.
  • Dezactivează - oprește MCP. Confirmi cu „Accesul tuturor uneltelor AI conectate va fi revocat.” Tokenul tău este șters și toate conexiunile se opresc. Dacă activezi MCP din nou, primești un token nou, iar aplicațiile conectate prin autentificare (OAuth) funcționează din nou fără să te mai conectezi. Ca să elimini definitiv o aplicație, atinge Deconectează la Aplicații conectate.
sfat

Păstrează tokenul de acces privat. Oricine are tokenul poate accesa datele tale TellDone. Atinge Regenerează tokenul dacă bănuiești vreodată că a fost expus.

Cum activezi​

Poți configura MCP de pe oricare platformă:

  • iPhone: Setări > Integrări > Agenți AI (MCP)
  • Web: app.telldone.app > Settings > Integrations > AI agents (MCP)

Pași:

  1. Atinge Activează.
  2. În planurile Pro și Ultra, alege modul de acces (Doar citire sau Citire și scriere). Free și Basic sunt doar pentru citire.
  3. Ca să conectezi ChatGPT sau Claude, atinge-l la Conectează un asistent și urmează pașii (vezi mai jos). Nu ai nevoie de token.
  4. Pentru un client de programare pe iPhone, deschide Pentru dezvoltatori, atinge Afișează, alege Claude Code, Cursor sau Altele și atinge Copiază sub fragment. Dacă copiezi înainte să atingi Afișează, fragmentul conține YOUR_TOKEN în locul tokenului tău. Pe web, alege clientul la Manual bearer token setup și copiază fragmentul; el conține deja tokenul tău.
  5. Lipește fragmentul în client sau în fișierul lui de configurare.

Conectarea cu OAuth​

OAuth este calea recomandată pentru ChatGPT, Claude și Cowork - te conectezi cu contul tău TellDone în loc să copiezi un token.

URL MCP pentru OAuth: https://api.telldone.app/mcp/user

Același server răspunde și la https://api.telldone.app/mcp/user/mcp, iar ambele adrese acceptă un token Bearer. Pentru autentificarea OAuth, folosește-o pe prima.

ChatGPT​

Poți adăuga un server MCP personalizat pe chatgpt.com sau în aplicația ChatGPT pentru desktop. Aplicația mobilă ChatGPT nu poate adăuga conectori personalizați, iar aplicația TellDone o spune așa: „Aplicația ChatGPT adaugă conectori doar din catalogul său.” Atinge Trimite pașii pe computerul meu în TellDone ca să primești instrucțiunile pe un computer. După ce îl adaugi acolo, TellDone este disponibil și în aplicația mobilă ChatGPT.

Pașii din aplicație:

  1. Pe un computer, deschide chatgpt.com/plugins, dă clic pe Add și alege Add custom MCP server.
  2. Numește-l TellDone, lipește adresa de mai jos (https://api.telldone.app/mcp/user) și alege OAuth.
  3. Confirmă și instalează-l, apoi conectează-te la TellDone și permite accesul.

Vezi ghidul OpenAI despre servere MCP personalizate dacă se schimbă numele din meniuri.

Claude (site, Desktop, aplicația pentru iPhone) / Cowork​

Pașii din aplicație:

  1. În Claude, deschide Customize → Connectors și atinge Add custom connector.
  2. Lipește adresa de mai jos (https://api.telldone.app/mcp/user).
  3. Conectează-te la TellDone și permite accesul.

Când te conectezi, pagina de consimțământ TellDone arată ce aplicație cere acces și permisiunile exacte pe care le dorește. Conectează-te cu e-mailul și parola TellDone și dă clic pe Allow access sau atinge Sign in with Apple ori Sign in with Google, care aprobă accesul în același pas. Claude se conectează singur - nu ai niciun token de copiat.

Dacă se schimbă numele din meniuri, vezi ghidul Anthropic despre adăugarea unui conector personalizat.

Conectarea cu un token Bearer​

Pentru Claude Code, Cursor și alți clienți fără autentificare OAuth încorporată, lipește tokenul de acces direct în configurația clientului. În toate exemplele de mai jos, înlocuiește YOUR_TOKEN cu tokenul din setările tale.

Claude Code (token Bearer)​

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

Nu trebuie să-l tastezi singur: la Setări > Integrări > Agenți AI (MCP) > Pentru dezvoltatori, atinge Afișează, alege Claude Code și atinge Copiază. Comanda copiată conține deja tokenul tău.

Cursor​

Adaugă în .cursor/mcp.json (sau copiază de la Pentru dezvoltatori > Cursor după ce atingi Afișează):

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

Alți clienți​

Setări pentru alți clienți MCP:

Codex​

Adaugă în codex.json:

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

OpenClaw​

Settings > MCP Servers > Add:

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

Alți clienți MCP​

Orice instrument care acceptă MCP prin HTTP se poate conecta. Folosește endpointul https://api.telldone.app/mcp/user/mcp cu un antet de autorizare Bearer YOUR_TOKEN.

Antet de autentificare alternativ

Dacă clientul sau proxy-ul tău rezervă antetul Authorization (de exemplu, unele gateway-uri în stil Smithery), trimite tokenul în X-MCP-Token: YOUR_TOKEN. Ambele antete funcționează; dacă sunt prezente amândouă, câștigă Authorization.

Testarea conexiunii​

Poți verifica dacă tokenul funcționează cu o comandă cURL simplă:

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

Un răspuns reușit listează toate instrumentele disponibile.

Permisiuni (scopes)​

Conexiunile OAuth au domenii de acces - în timpul autentificării vezi exact ce cere clientul și aprobi explicit.

ScopePermite aplicației să...
notes:readCitească notițele tale și să deschidă detaliile complete ale unei notițe (instrumentul search necesită și tasks:read și events:read)
notes:writeCreeze, editeze și șteargă notițe (process_note necesită și tasks:write și events:write)
tasks:read / tasks:writeCitească / creeze, editeze, finalizeze și șteargă sarcini
events:read / events:writeCitească / creeze, editeze și șteargă evenimente
reports:readCitească rapoartele tale zilnice, săptămânale, lunare și anuale
tags:read / tags:writeListeze etichetele tale / creeze, fixeze, șteargă și restaureze etichete
profile:readCitească informațiile contului și abonamentul tău
offline_accessRămână conectată (emite un token de reîmprospătare, ca să nu trebuiască să te conectezi din nou la fiecare sesiune)

Scope-urile limitează ce poate face o conexiune: o conexiune cu doar notes:read nu poate apela un instrument de scriere. Planul tău stabilește o a doua limită, în plus.

Conexiunile cu token Bearer nu au scope-uri individuale - sunt guvernate doar de modul de citire/scriere al planului tău.

Ce poți face​

Instrumente de citire (10) - toate planurile​

InstrumentCe face
get_notesListează notițele cu filtre (etichete, interval de date, căutare în text)
get_noteAfișează o singură notiță, cu sarcinile, evenimentele și transcrierea completă
get_notes_fullObține mai multe notițe cu sarcinile și evenimentele încorporate, într-un singur apel
get_tasksListează sarcinile filtrate după stare (de făcut, finalizate, toate), etichete sau date
get_eventsListează evenimentele din calendar, filtrate după intervalul de date
get_reportsCitește rapoartele tale zilnice, săptămânale, lunare și anuale (markdown complet)
get_tagsAfișează toate etichetele tale, sortate după utilizare
get_profileArată informațiile contului și câte notițe, sarcini și evenimente ai
searchCaută în notițe, sarcini și evenimente (căutare în text + căutare semantică pentru notițe)
get_change_logArată istoricul modificărilor unei notițe, sarcini sau eveniment și dacă fiecare modificare a fost anulată
sfat

Instrumentul search acceptă căutarea semantică pentru notițe - găsește rezultate după sens, nu doar după cuvinte-cheie. De exemplu, căutarea „ședințe despre buget” va găsi notițe despre discuții financiare chiar dacă nu conțin cuvântul „buget”.

Instrumente de scriere (17) - Pro și Ultra​

InstrumentCe face
process_noteFluxul AI complet - trimiți text sau audio și primești o notiță cu sarcini, evenimente și etichete
create_noteAdaugă o notiță text simplă (fără analiză AI)
create_taskAdaugă o sarcină cu prioritate, termen limită, memento și etichete
create_eventAdaugă un eveniment de calendar cu dată, oră, locație, mementouri, participanți și regulă de repetare
update_noteSchimbă titlul, rezumatul, tipul, etichetele, prioritatea sau starea unei notițe
update_taskSchimbă titlul, descrierea, prioritatea, termenul limită, mementoul, etichetele sau starea unei sarcini
complete_taskMarchează o sarcină ca finalizată
update_eventSchimbă detaliile, ora, locația, mementourile, participanții, regula de repetare, etichetele sau starea unui eveniment
delete_noteȘterge o notiță. Sarcinile și evenimentele ei rămân
delete_taskȘterge o sarcină
delete_eventȘterge un eveniment
undo_change_log_entryAnulează o singură modificare urmărită - făcută de AI sau de tine - restabilind valoarea anterioară a câmpului
restore_entityReaduce o notiță sau o sarcină ștearsă ori arhivată, sau un eveniment șters ori anulat
create_tagCreează o etichetă nouă sau transformă o etichetă sugerată automat într-una permanentă
set_tag_pinnedFixează sau defixează o etichetă, ca să apară în față
delete_tagElimină o etichetă (poate fi restaurată cu restore_tag)
restore_tagReaduce o etichetă ștearsă

Toate operațiile de scriere și ștergere apar imediat pe dispozitivele tale conectate (telefon, aplicația web).

Referință instrumente​

get_notes​

Listează notițele cu filtrare opțională. Filtrele de date folosesc recorded_at (când ai înregistrat notița vocală) sau created_at pentru o notiță care nu are așa ceva.

ParametruTipImplicitDescriere
limitint20Numărul de notițe returnate (maximum 50)
offsetint0Omite atâtea notițe (pentru paginare, maximum 10000)
tagsstring-Filtrează după etichete, separate prin virgulă (se potrivește oricare)
searchstring-Căutare în text în titlu și rezumat
date_fromstring-Data de început, YYYY-MM-DD (inclusiv)
date_tostring-Data de sfârșit, YYYY-MM-DD (exclusiv)
standalone_onlyboolfalseCând este true, ascunde notițele de continuare (atașate unei notițe, sarcini sau eveniment părinte) și returnează doar notițele de sine stătătoare

Returnează: lista de notițe cu id, title, summary, type, tags, priority, status, recorded_at, created_at.

get_note​

Obține o singură notiță cu transcrierea completă și toate sarcinile și evenimentele asociate.

ParametruTipDescriere
note_idstringUUID-ul notiței

Returnează: notița cu title, summary, transcript, type, tags, priority, status, metadata, created_at, plus listele tasks[] și events[].

Returnează și transcript_speakers (replicile transcrierii etichetate pe vorbitori, pentru ședințe cu mai mulți vorbitori - altfel null), speaker_count (null dacă înregistrarea nu a fost împărțită pe vorbitori) și parent_note_id/parent_task_id/parent_event_id (setate când această notiță este o modificare de continuare a altui element). Fiecare intrare din tasks[]/events[] include și reminders_at/recurrence_rule (sarcini) sau reminder_minutes/attendees/recurrence_rule (evenimente).

get_notes_full​

Obține mai multe notițe, cu sarcinile și evenimentele lor, într-un singur apel. Aceleași filtre ca la get_notes, cu excepția lui search, iar fiecare notiță include tasks[] și events[] încorporate.

ParametruTipImplicitDescriere
limitint10Numărul de notițe (maximum 20)
offsetint0Omite atâtea notițe
tagsstring-Filtrează după etichete
date_fromstring-Data de început, YYYY-MM-DD
date_tostring-Data de sfârșit, YYYY-MM-DD
standalone_onlyboolfalseCând este true, ascunde notițele de continuare (atașate unei notițe, sarcini sau eveniment părinte) și returnează doar notițele de sine stătătoare

get_tasks​

Listează sarcinile cu filtrare.

ParametruTipImplicitDescriere
statusstring"todo"Filtru: todo, done sau all
limitint30Numărul de sarcini (maximum 100)
offsetint0Omite atâtea sarcini
tagsstring-Filtrează după etichete, separate prin virgulă
date_fromstring-Data de început, YYYY-MM-DD (filtrează după termenul limită; sarcinile fără termen limită sunt excluse)
date_tostring-Data de sfârșit, YYYY-MM-DD (filtrează după termenul limită; sarcinile fără termen limită sunt excluse)

Returnează: lista de sarcini cu id, title, description, status, priority, tags, deadline, reminder_at, reminders_at, completed_at, completed_by, source, created_at. reminder_at oglindește prima intrare din reminders_at, pentru compatibilitate cu versiunile anterioare - folosește reminders_at ca să vezi toate mementourile unei sarcini.

get_events​

Listează evenimentele din calendar cu filtrare pe intervalul de date.

ParametruTipImplicitDescriere
limitint30Numărul de evenimente (maximum 100)
offsetint0Omite atâtea evenimente
date_fromstring-Prima zi, YYYY-MM-DD, în fusul tău orar (inclusiv). Evenimentele care se suprapun cu intervalul sunt incluse, deci un eveniment pe mai multe zile apare în fiecare zi pe care o acoperă
date_tostring-Ultima zi, YYYY-MM-DD, în fusul tău orar (inclusiv)

Returnează: lista de evenimente cu id, title, description, status, start_at, end_at, location, is_all_day, tags, note_id, reminder_minutes, attendees, recurrence_rule, created_at.

get_reports​

Obține rapoartele tale generate de AI, cu conținut markdown complet.

ParametruTipImplicitDescriere
report_typestring"daily"Tip: daily, weekly, monthly sau yearly
limitint5Numărul de rapoarte (maximum 10)

Returnează: lista de rapoarte cu id, type, period_start, period_end, content_md, created_at.

notă

Rapoartele lunare sunt lungi (adesea cu mult peste 1.000 de cuvinte). Folosește limit=1 dacă instrumentul tău AI are o fereastră de context mică.

get_tags​

Obține toate etichetele tale, sortate mai întâi cele fixate, apoi după numărul de utilizări.

Fără parametri. Returnează până la 100 de etichete, fiecare cu tag, usage_count, is_pinned, is_manual.

get_profile​

Obține informațiile contului și câte notițe, sarcini și evenimente ai.

Fără parametri. Returnează email, display_name, locale, transcription_locale, timezone, subscription, mcp_mode, created_at și stats (numărul de notițe/sarcini/evenimente).

Caută simultan în notițe, sarcini și evenimente. Pentru notițe, acceptă atât căutarea în text, cât și căutarea semantică (găsește rezultate după sens, folosind embeddinguri AI).

ParametruTipImplicitDescriere
querystringobligatoriuTextul căutat (maximum 500 de caractere)
limitint20Maximum de rezultate pe tip (maximum 20)
semanticbooltrueActivează căutarea semantică pentru notițe

Returnează rezultatele grupate pe tip: notes[], tasks[], events[]. Fiecare rezultat are id, type, title, detail, created_at.

Setează semantic=false pentru o căutare doar în text, mai rapidă.

get_change_log​

Vezi istoricul modificărilor unei notițe, sarcini sau eveniment - fiecare modificare de continuare făcută de AI și fiecare modificare manuală făcută de tine, cele mai noi primele.

ParametruTipImplicitDescriere
entitystringobligatoriunotes, tasks sau events
entity_idstringobligatoriuUUID-ul elementului
include_manualboolfalseInclude și modificările tale manuale, nu doar cele făcute de AI

Returnează: lista de intrări de modificare cu id (folosește-l ca entry_id pentru anulare), field_name, old_value, new_value, source (follow_up, smart_context, correction_sync pentru o corectare de nume pe care TellDone a extins-o într-o notiță, sau manual), origin_note_id, edited_at și reverted_at (setat după anulare).

process_note (Pro și Ultra)​

Fluxul AI complet - funcționează la fel ca înregistrarea în aplicație. Trimiți text sau audio, iar TellDone transcrie, analizează cu AI și creează o notiță structurată cu sarcini, evenimente, etichete și embeddinguri extrase.

Acest instrument este asincron: returnează imediat un audio_id și procesează în fundal. Rezultatele ajung prin sincronizare în timp real pe dispozitivele tale conectate sau poți interoga cu get_notes().

ParametruTipDescriere
textstringObligatoriu. Textul de analizat. Dacă nu este gol, se folosește ca transcriere, iar audio-ul trimis nu este transcris; trimite "" ca audio-ul să fie transcris. Limită când nu se trimite audio: Pro 20.000 / Ultra 50.000 de caractere
audio_base64stringFișier audio codificat Base64. Întreaga cerere este limitată la 10 MB, deci audio-ul în sine poate avea aproximativ 7 MB. Este transcris doar când text este gol
audio_formatstringm4a, ogg, wav, mp3, aac sau webm (implicit: m4a)
parent_task_idstringUUID-ul unei sarcini a cărei continuare este aceasta
parent_note_idstringUUID-ul unei notițe a cărei continuare este aceasta
parent_event_idstringUUID-ul unui eveniment al cărui continuare este aceasta

Trimite întotdeauna text. Ca TellDone să transcrie audio, trimite audio_base64 cu text setat la un șir gol (""). Dacă text nu este gol, TellDone îl folosește ca transcriere și nu transcrie audio-ul. Setează cel mult unul dintre cele trei ID-uri părinte.

Returnează: {"audio_id": "...", "status": "processing", "mode": "text-only"} sau "mode": "audio+stt" dacă s-a trimis audio.

notă

process_note este supus cotelor planului tău (încărcări pe zi, notițe pe lună, lungimea maximă a textului). get_profile arată doar câte notițe, sarcini și evenimente ai, nu limitele tale. Verifică-ți utilizarea în aplicație la Setări > Utilizare.

create_note (Pro și Ultra)​

Creează instant o notiță text simplă. Nu declanșează analiza AI - nu se extrag sarcini sau evenimente. Folosește process_note când vrei ca TellDone să găsească sarcini și evenimente pentru tine.

ParametruTipLimităDescriere
titlestring200 de caractereObligatoriu
summarystring1000 de caractereOpțional. Scurt rezumat introductiv (1-3 propoziții). Se folosește în rapoartele tale, deci păstrează-l scurt
transcriptstringîn funcție de planOpțional. Corp lung afișat în detaliile notiței. Nu este inclus în rapoarte. Limite: Pro 20.000 / Ultra 50.000 de caractere
typestring-Opțional. task, idea, info (implicit), status, meeting, event sau reflection
tagsstring20 de eticheteSeparate prin virgulă, opțional
suppress_external_syncboolean-Opțional, implicit false. Setează true pentru elemente importate sau adăugate în masă: elementul nu mai este trimis în aplicațiile conectate sau în automatizările tale

create_task (Pro și Ultra)​

Creează o sarcină nouă. Sarcina este creată și în Todoist, Notion sau Microsoft To Do, dacă le-ai conectat, iar automatizările tale primesc task.created. Asta nu se întâmplă când trimiți suppress_external_sync: true.

ParametruTipLimităDescriere
titlestring200 de caractereObligatoriu
descriptionstring2000 de caractereOpțional
prioritystring-low, medium (implicit) sau high
deadlinestring-YYYY-MM-DD, opțional
reminder_atstring-Dată și oră ISO 8601 (de exemplu 2026-04-15T09:00:00Z), opțional
tagsstring20 de eticheteSeparate prin virgulă, opțional
note_idstring-UUID pentru a lega sarcina de o notiță părinte, opțional
suppress_external_syncboolean-Opțional, implicit false. Setează true pentru elemente importate sau adăugate în masă: elementul nu mai este trimis în aplicațiile conectate sau în automatizările tale

create_event (Pro și Ultra)​

Creează un eveniment de calendar. Evenimentul este creat și în Notion, dacă l-ai conectat, iar automatizările tale primesc calendar_event.created. Asta nu se întâmplă când trimiți suppress_external_sync: true.

ParametruTipLimităDescriere
titlestring200 de caractereObligatoriu
start_atstring-Dată și oră ISO 8601, obligatoriu
end_atstring-Dată și oră ISO 8601 (implicit: început + 1 oră; pentru un eveniment pe toată ziua, o zi)
descriptionstring2000 de caractereOpțional
locationstring200 de caractereOpțional
is_all_daybool-Implicit: false
tagsstring20 de eticheteSeparate prin virgulă, opțional
reminder_minutesstring-Minute înainte de eveniment, separate prin virgulă (de exemplu 15,60), opțional
attendeesstring-Nume sau adrese de e-mail, separate prin virgulă, opțional
recurrence_rulestring-Șir RRULE (de exemplu FREQ=WEEKLY;BYDAY=MO,WE,FR), opțional. Regulile mai frecvente decât cele orare sau care nu se pot întâmpla niciodată sunt refuzate
note_idstring-UUID pentru a lega evenimentul de o notiță părinte, opțional
suppress_external_syncboolean-Opțional, implicit false. Setează true pentru elemente importate sau adăugate în masă: elementul nu mai este trimis în aplicațiile conectate sau în automatizările tale

update_note (Pro și Ultra)​

Actualizează unul sau mai multe câmpuri ale unei notițe existente. Se schimbă doar câmpurile pe care le furnizezi. Funcționează exact ca editarea notiței în aplicație: titlul, rezumatul, etichetele și tipul ajung în pagina ei din Notion, automatizările tale primesc note.updated, iar modificarea apare în istoric, de unde o poți anula. O modificare a transcrierii este salvată și trimisă și în Notion, dar nu apare în istoric.

ParametruTipDescriere
note_idstringObligatoriu, UUID-ul notiței
titlestringTitlu nou (maximum 200 de caractere)
summarystringRezumat nou (maximum 1000 de caractere, trimite un spațiu " " ca să-l golești)
transcriptstringTranscriere nouă (limită în funcție de plan, trimite un spațiu " " ca s-o golești)
typestringtask, idea, info, status, meeting, event sau reflection
tagsstringEtichete separate prin virgulă (înlocuiește toate etichetele existente, maximum 20)
prioritystringlow, medium sau high
statusstringactive sau archived
atenție

Pentru notițele create de fluxul vocal, transcript este rezultatul original al recunoașterii vocale. Suprascrierea lui îți înlocuiește cuvintele originale. Ca să le păstrezi, adaugă la transcriere în loc să o înlocuiești.

update_task (Pro și Ultra)​

Actualizează unul sau mai multe câmpuri ale unei sarcini existente. Se schimbă doar câmpurile pe care le furnizezi. Funcționează exact ca editarea sarcinii în aplicație: modificarea ajunge în copiile ei din Todoist, Notion și Microsoft To Do, automatizările tale primesc task.updated, iar modificarea apare în istoricul sarcinii, de unde o poți anula. Dacă setezi status pe done, sarcina este finalizată la fel ca prin complete_task. Termenul limită poate fi o dată sau o dată cu oră completă (se folosește data). Fiecare etichetă poate avea cel mult 50 de caractere.

ParametruTipDescriere
task_idstringObligatoriu, UUID-ul sarcinii
titlestringTitlu nou
descriptionstringDescriere nouă (trimite un spațiu " " ca s-o golești)
prioritystringlow, medium sau high
deadlinestringYYYY-MM-DD. Acest instrument nu poate șterge un termen limită; șterge-l în aplicație
statusstringtodo sau done
tagsstringEtichete separate prin virgulă (înlocuiește toate etichetele existente, maximum 20)
reminder_atstringDată și oră ISO 8601 (trimite un spațiu ca s-o ștergi)

Setarea lui status pe done înregistrează și când și cum a fost finalizată sarcina.

complete_task (Pro și Ultra)​

Scurtătură pentru a marca o sarcină ca finalizată.

ParametruTipDescriere
task_idstringObligatoriu, UUID-ul sarcinii

Returnează o eroare dacă sarcina nu există sau este deja finalizată.

update_event (Pro și Ultra)​

Actualizează unul sau mai multe câmpuri ale unui eveniment existent. Se schimbă doar câmpurile pe care le furnizezi. Funcționează exact ca editarea evenimentului în aplicație: modificarea ajunge în pagina lui din Notion, automatizările tale primesc calendar_event.updated, iar modificarea apare în istoric, de unde o poți anula.

ParametruTipDescriere
event_idstringObligatoriu, UUID-ul evenimentului
titlestringTitlu nou
descriptionstringDescriere nouă (trimite un spațiu ca s-o ștergi)
start_atstringOră nouă de început (ISO 8601)
end_atstringOră nouă de sfârșit (ISO 8601)
locationstringLocație nouă (trimite un spațiu ca s-o ștergi)
statusstringconfirmed, tentative sau cancelled
tagsstringEtichete separate prin virgulă (înlocuiește toate etichetele existente, maximum 20)
is_all_daystring"true" sau "false"
reminder_minutesstringMinute înainte de eveniment, separate prin virgulă (de exemplu 15,60, trimite un spațiu ca să le ștergi)
attendeesstringNume sau adrese de e-mail, separate prin virgulă (trimite un spațiu ca să le ștergi)
recurrence_rulestringȘir RRULE (trimite un spațiu ca s-o ștergi)

delete_note (Pro și Ultra)​

Șterge o notiță. Se șterge doar notița: sarcinile și evenimentele ei rămân. Funcționează exact ca ștergerea în aplicație: automatizările tale primesc note.deleted. O copie a notiței din Notion nu este eliminată (nici aplicația nu o elimină).

ParametruTipDescriere
note_idstringObligatoriu, UUID-ul notiței

delete_task (Pro și Ultra)​

Șterge o sarcină. Funcționează exact ca ștergerea în aplicație: copiile ei din Todoist, Notion și Microsoft To Do sunt șterse și ele, iar automatizările tale primesc task.deleted. O poți readuce cu restore_entity.

ParametruTipDescriere
task_idstringObligatoriu, UUID-ul sarcinii

delete_event (Pro și Ultra)​

Șterge un eveniment. Funcționează exact ca ștergerea în aplicație: automatizările tale primesc calendar_event.deleted. Pagina evenimentului din Notion nu este eliminată (nici aplicația nu o elimină).

ParametruTipDescriere
event_idstringObligatoriu, UUID-ul evenimentului

undo_change_log_entry (Pro și Ultra)​

Anulează o singură modificare urmărită - readuce câmpul la valoarea de dinainte de acea modificare, indiferent dacă a fost făcută de AI (dintr-o înregistrare de continuare) sau direct de tine.

ParametruTipDescriere
entitystringObligatoriu, notes, tasks sau events
entity_idstringObligatoriu, UUID-ul elementului
entry_idstringObligatoriu, id-ul intrării de modificare din get_change_log

Returnează: {"entry_id", "entity_type", "entity_id", "field_name", "restored_value", "reverted_at"}. Anularea aceleiași intrări de două ori returnează o eroare - este deja anulată.

restore_entity (Pro și Ultra)​

Readuce o notiță sau o sarcină ștearsă ori arhivată, sau un eveniment șters ori anulat.

ParametruTipDescriere
entitystringObligatoriu, notes, tasks sau events
entity_idstringObligatoriu, UUID-ul elementului

Returnează: elementul restaurat, ca JSON.

create_tag (Pro și Ultra)​

Creează o etichetă nouă sau transformă o etichetă existentă, sugerată automat, într-una permanentă.

ParametruTipDescriere
tagstringObligatoriu, 1-50 de caractere (stocată cu litere mici)
categorystringOpțional

set_tag_pinned (Pro și Ultra)​

Fixează sau defixează o etichetă, ca să apară în fruntea listei tale de etichete.

ParametruTipDescriere
tagstringObligatoriu
pinnedboolObligatoriu

Etichetele care conțin caracterul / nu pot fi fixate.

delete_tag (Pro și Ultra)​

Elimină o etichetă. Poate fi readusă cu restore_tag.

ParametruTipDescriere
tagstringObligatoriu

restore_tag (Pro și Ultra)​

Readuce o etichetă ștearsă.

ParametruTipDescriere
tagstringObligatoriu

Limite de intrare​

CâmpLungime maximăFolosit în
title200 de caracterecreate/update note, task, event
description2.000 de caracterecreate/update task, event
summary1.000 de caractere (strict)create/update note. Se folosește în rapoartele tale, deci păstrează-l scurt
transcriptîn funcție de plan: Pro 20.000 / Ultra 50.000create/update note. Corp lung, nu apare în rapoarte
textîn funcție de plan: Pro 20.000 / Ultra 50.000 (când nu se trimite audio)process_note
location200 de caracterecreate/update event
tags20 de etichetecreate/update note, task, event
search query500 de caracteresearch
audio_base64aproximativ 7 MB de audio (întreaga cerere este limitată la 10 MB)process_note

Dacă depășești o limită, instrumentul returnează un mesaj de eroare precum "title too long (max 200 chars, got 250)".

Gestionarea erorilor​

Majoritatea instrumentelor returnează erorile ca JSON:

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

Erorile de plan, de scope și de limită de intrare revin ca eroare de instrument, cu același mesaj.

Erori frecvente:

EroareCând
"This TellDone connection is read-only. Creating and editing needs the Pro or Ultra plan."Instrument de scriere apelat în modul doar citire (Free și Basic sau Pro și Ultra trecute pe doar citire)
"Daily limit reached: the Free plan includes 100 TellDone requests a day..."Planul Free și-a epuizat cele 100 de cereri pe zi
"Daily limit reached (N/M today)"Ai creat azi, prin asistenți AI, atâtea elemente cât permite planul tău (process_note, create_note, create_task și create_event se numără fiecare)
"Notes limit reached (X/Y this month)"Limita lunară de notițe a planului tău este epuizată
"Invalid note_id format"S-a trimis ca ID un șir care nu este UUID
"Note not found"ID-ul nu există sau aparține altui utilizator
"Task not found or already completed"complete_task pe o sarcină inexistentă sau deja finalizată
"title too long (max 200 chars, got N)"Limită de intrare depășită
"Too many tags (max 20)"S-au trimis mai mult de 20 de etichete

Erori la nivel HTTP:

CodSemnificație
401Token invalid, revocat sau șters (dezactivarea MCP îți șterge tokenul, iar regenerarea îl înlocuiește)
429Limita de cereri depășită (5 cereri/s, vârf până la 20)

În planul Free, atingerea limitei de 100 de cereri pe zi este raportată ca mesaj de eroare de instrument (nu ca cod HTTP) și se resetează la miezul nopții, în fusul orar salvat în contul tău.

Exemple de utilizare​

Toate exemplele folosesc cURL cu protocolul MCP JSON-RPC. Înlocuiește YOUR_TOKEN cu tokenul tău de acces.

Citirea datelor​

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

Scrierea datelor (Pro și 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>"}}}'

Un răspuns reușit arată astfel:

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

Instrumentele de scriere și actualizare returnează răspunsuri scurte, în principal id, title și status. Instrumentele de ștergere returnează id și deleted. Ca să obții toate detaliile (etichete, prioritate, termen limită etc.) după o scriere, fă un apel de citire ulterior, precum get_tasks sau get_note.

Gestionarea tokenului​

AcțiuneCum
Vezi tokenuliPhone Setări > Integrări > Agenți AI (MCP) > Pentru dezvoltatori (sau pe web, Settings > Integrations > AI agents (MCP)), atinge Afișează
Copiază tokenulAtinge Copiază lângă token
RegenereazăAtinge Regenerează tokenul și confirmă. Tokenul vechi nu mai funcționează imediat. Asistenții conectați prin autentificare OAuth nu sunt afectați; deconectează-i la Aplicații conectate
Schimbă modulPro și Ultra: alege Doar citire sau Citire și scriere. Free și Basic sunt întotdeauna doar pentru citire
DezactiveazăAtinge Dezactivează și confirmă („Accesul tuturor uneltelor AI conectate va fi revocat.”). Tokenul tău este șters și toate conexiunile se opresc. Dacă activezi MCP din nou, primești un token nou, iar aplicațiile conectate prin autentificare (OAuth) funcționează din nou fără să te mai conectezi. Ca să elimini definitiv o aplicație, atinge Deconectează la Aplicații conectate

Ce poți cere agentului tău AI​

După conectare, cere-i instrumentului tău AI lucruri precum:

Treci în revistă ziua:

  • „Ce am lucrat azi?”
  • „Arată-mi notițele din această săptămână”
  • „Ce sarcini sunt restante?”

Gestionează sarcini:

  • „Creează o sarcină: revizuiește raportul trimestrial, prioritate ridicată, termen vineri”
  • „Marchează sarcina Figma ca finalizată”
  • „La ce sarcini lucrez?”

Caută și analizează:

  • „Găsește toate notițele despre strategia de marketing”
  • „Ce evenimente am săptămâna viitoare?”
  • „Rezumă-mi rapoartele zilnice din săptămâna trecută”

Planifică înainte:

  • „Creează un eveniment: ședința echipei mâine la 10”
  • „Ce am în calendar săptămâna aceasta?”
  • „Arată-mi cele mai folosite etichete - în ce îmi petrec cel mai mult timp?”

Asistentul tău poate citi notițele, sarcinile, evenimentele și rapoartele tale și poate răspunde la întrebări complexe combinând informații din mai multe instrumente. În planurile Pro și Ultra, cu Citire și scriere activate, poate și să le creeze, să le actualizeze și să le șteargă.

Bine de știut​

  • Integrări și automatizări - process_note funcționează ca o înregistrare, deci notița, sarcinile și evenimentele lui ajung în integrările tale conectate și în automatizările webhook. Elementele pe care le creezi, le editezi sau le ștergi cu celelalte instrumente de scriere se comportă exact ca în aplicație: ajung în integrările tale conectate (evenimentele și modificările notițelor ajung doar în Notion) și în automatizările tale. Restaurarea unei sarcini cu restore_entity sau anularea finalizării ei cu undo_change_log_entry o redeschide și în integrările cu care a fost sincronizată.
  • Modificări făcute de un asistent AI - apar în istoricul elementului marcate ca făcute de un asistent. Nu sunt folosite pentru a antrena recunoașterea vocală din TellDone și nu sunt copiate în celelalte elemente ale notiței. Modificările prin asistent împart cu aplicația aceeași limită de 30 de modificări pe minut.
  • Căutare semantică - notițele create cu process_note sau create_note primesc amândouă embeddinguri, deci apar în căutarea semantică după o scurtă întârziere.
  • Filtre de date - pentru notițe, datele sunt zile UTC. Pentru evenimente, datele sunt zilele tale locale, iar un eveniment care se suprapune cu intervalul este inclus. Pentru sarcini, filtrul este data termenului limită.

Securitate​

  • Fiecare utilizator primește un token de acces unic de 384 de biți
  • Tokenul tău este revocat instantaneu când dezactivezi MCP sau îl regenerezi
  • Fiecare cerere este limitată la contul tău, deci agentul tău poate accesa doar propriile tale date
  • Conexiunea folosește HTTPS cu limitare a ratei (5 cereri/s, vârf până la 20)
  • Conexiunile OAuth folosesc PKCE, coduri de autorizare de unică folosință și tokenuri de acces cu durată scurtă - poți revoca o conexiune oricând din aplicație

Pentru o analiză tehnică aprofundată - endpointuri de descoperire, durata de viață a tokenurilor, fluxul OAuth complet - vezi referința noastră open-source a conectorului la github.com/exp78/telldone-mcp sau interoghează direct https://api.telldone.app/.well-known/oauth-protected-resource.

Confidențialitate și fluxul datelor​

Un instrument AI conectat primește datele tale doar când apelează TellDone, de obicei pentru că i-ai cerut ceva. Primește doar răspunsurile la acele apeluri, în limitele permisiunilor aprobate de tine. Ca să limitezi accesul, treci pe Doar citire, deconectează aplicația la Aplicații conectate sau regenerează ori dezactivează tokenul de acces din Setări. Vezi Politica de confidențialitate pentru detalii complete sau scrie la support@telldone.app dacă ai întrebări.

Depanare​

SimptomCauză / remediu
Pagina de consimțământ OAuth spune „Wrong email or password”Folosește e-mailul și parola cu care te conectezi în aplicație sau alege Sign in with Apple / Sign in with Google pe aceeași pagină.
Conectat, dar AI-ul nu poate crea sau edita nimicPlanul tău este Free sau Basic (doar citire), modul tău este doar citire sau conexiunea nu are permisiuni de scriere. Dacă te-ai conectat înainte să treci la un plan superior, deconectează aplicația la Aplicații conectate și conectează-o din nou. Îți poți verifica modul în Setări.
Eroarea „Insufficient scope” de la un instrumentConexiunea nu are acea permisiune. În planurile Free și Basic, permisiunile de scriere nu se acordă niciodată, deci crearea și editarea necesită Pro sau Ultra. Dacă te-ai conectat înainte să treci la un plan superior, deconectează aplicația la Aplicații conectate și conectează-o din nou.
Fragmentul copiat spune YOUR_TOKEN, iar clientul nu se poate conectaL-ai copiat cât timp tokenul era ascuns. La Pentru dezvoltatori, atinge Afișează, apoi copiază din nou fragmentul.
Instrumentele nu apar delocMCP nu este activat în contul tău (Setări > Integrări > Agenți AI (MCP) > Activează).
„Daily limit reached”Două limite folosesc acest mesaj. „Daily limit reached: the Free plan includes 100 TellDone requests a day” este limita de cereri a planului Free. „Daily limit reached (N/M today)” înseamnă că ai creat azi, prin asistenți AI, atâtea elemente cât permite planul tău: process_note, create_note, create_task și create_event se numără fiecare, inclusiv în planurile Pro și Ultra. Ambele se resetează la miezul nopții, în fusul orar salvat în contul tău.
Clientul meu îmi permite doar să aleg dintr-o listă de conectori, iar TellDone nu apare în eaTellDone nu se află încă în directorul de conectori al niciunui client - adaugă-l ca un conector personalizat cu URL-ul MCP sau folosește metoda cu token Bearer.

Vezi și​