Sari la conținutul principal

Acces MCP (agenți AI)

Ce s-a schimbat recent

MCP este acum complet disponibil pe iPhone (pe lângă aplicația web). Ecranul de pe iPhone îl oglindește pe cel web și include aceleași fragmente de configurare pentru toți clienții AI acceptați.

Planul Pro și superior

Accesul MCP necesită planul Pro sau Ultra. Ambele planuri primesc acces complet de citire + scriere (27 de instrumente) și pot comuta la modul doar citire dacă preferi.

MCP (Model Context Protocol) îți permite să conectezi asistenți AI de programare și instrumente de automatizare direct la datele tale TellDone. Odată conectat, agentul tău AI îți poate citi notele, sarcinile, evenimentele, rapoartele, etichetele și istoricul modificărilor - și poate crea, actualiza, șterge și restaura elemente. Sunt 27 de instrumente în total: 10 pentru citirea datelor și 17 pentru scriere.

Disponibil atât în aplicația de iPhone (Setări → Integrări → Agenți AI), cât și în aplicația web (Setări → Agenți AI).

Pe iPhone, Setări → Integrări → Agenți AI 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

Sunt două moduri de a autentifica un client AI, și ambele sunt complet acceptate:

  1. OAuth 2.1 (recomandat) - fluxul standard de consimțământ "Sign in with TellDone". Asta folosesc interfața de conector Claude Desktop și Claude.ai. Fără copiat tokenuri - te autentifici cu contul tău TellDone și aprobi permisiunile pe care le cere clientul.
  2. Token bearer - copiază tokenul tău personal de acces din Setări și lipește-l în configurația clientului tău. Cel mai simplu pentru scripturi, CLI-uri și clienți care nu au un flux OAuth încorporat.
ClientRecomandat
Claude Desktop / CoworkOAuth - adaugă un conector personalizat cu adresa URL MCP, apoi autentifică-te
Claude Code (CLI)Oricare - claude mcp add te ghidează prin OAuth în browser, sau adaugă un antet Bearer pentru metoda cu token
Scripturi sau propriul tău codToken bearer - cel mai simplu de automatizat
Un client care acceptă doar alegerea dintr-un director de conectori listațiFolosește deocamdată puntea cu token bearer sau mcp-remote - TellDone nu este încă în niciun director de conectori

Cerințe de plan

PlanMCP
FreeBlocat
BasicBlocat
ProCitire + scriere (27 de instrumente) - poate comuta la modul Doar citire
UltraCitire + scriere (27 de instrumente) - poate comuta la modul Doar citire

Ecranul din aplicație

Ecranul Agenți AI are trei stări, în funcție de planul tău și de faptul dacă MCP este activat.

Blocat (Free și Basic)

Dacă ești pe planul Free sau Basic, ecranul explică ce face MCP și afișează un buton Upgrade. Atingerea lui deschide paywall-ul de unde poți trece la Pro sau Ultra.

Dezactivat (Pro și Ultra, funcție oprită)

Dacă ești pe Pro sau Ultra, dar nu ai activat încă MCP, ecranul arată un scurt rezumat a ceea ce poate face planul tău (numărul de instrumente, modul de acces, cotele) și un buton Activează. Atinge-l pentru a genera tokenul tău de conectare și a porni integrarea.

Activat

Odată activat, ecranul arată tot ce ai nevoie pentru a conecta un client AI:

  • Comutator de mod - pe Ultra poți comuta între Doar citire și Citire + scriere. Pe Pro modul este fixat la Citire + scriere.
  • Rândul Token de acces cu un comutator de tip ochi pentru a afișa sau ascunde tokenul și un buton de copiere.
  • Selectorul de configurare cu file pentru Claude Code, Cursor, Windsurf și Altele. Fragmentul de cod potrivit apare sub file - doar copiază-l și lipește-l în clientul tău AI.
  • Butonul Regenerează - rotește tokenul imediat și deconectează orice sesiuni active care îl folosesc pe cel vechi.
  • Butonul Dezactivează - oprește MCP și șterge tokenul. Poți reactiva mai târziu, dar va fi emis un token nou.
sfat

Ține tokenul tău de conectare privat. Oricine are tokenul îți poate accesa datele TellDone. Folosește Regenerează dacă bănuiești vreodată că tokenul s-a scurs.

Cum activezi

Poți configura MCP de pe oricare platformă:

  • iPhone: Setări → Integrări → Agenți AI (MCP)
  • Web: app.telldone.app → Setări → Agenți AI

Pași:

  1. Atinge Activează.
  2. Alege modul tău de acces (doar Ultra - Pro este mereu Citire + scriere).
  3. Afișează și copiază tokenul tău folosind iconițele de ochi și de copiere.
  4. Alege instrumentul tău în secțiunea Configurare (Claude Code, Cursor, Windsurf sau Altele).
  5. Lipește fragmentul în configurația clientului tău AI.

Conectarea cu OAuth

OAuth este calea recomandată pentru Claude Desktop, Claude.ai, Cowork și Claude Code - te autentifici cu contul tău TellDone în loc să copiezi un token peste tot.

Adresa URL MCP pentru OAuth: https://api.telldone.app/mcp/user (fără /mcp la final - aceea este o adresă diferită, folosită doar pentru calea cu token bearer de mai jos)

Claude Desktop / Cowork

  1. În client, alege Add custom connector.
  2. Introdu adresa URL a serverului: https://api.telldone.app/mcp/user
  3. Clientul deschide pagina de consimțământ a TellDone în browserul tău. Vei vedea ce aplicație cere acces, permisiunile exacte pe care le vrea și un formular de autentificare.
  4. Autentifică-te cu emailul și parola contului tău TellDone, apoi dă clic pe Allow.
  5. Clientul primește un token de acces automat și se conectează - fără tokenuri de copiat.
notă

Autentificarea de pe pagina de consimțământ folosește emailul și parola contului tău TellDone. Dacă contul tău are doar Apple sau Google Sign In (fără parolă setată), folosește deocamdată metoda cu token bearer de mai jos.

Claude Code

OAuth (deschide o autentificare în browser):

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

Claude Code descoperă fluxul OAuth automat, dar nu te autentifică la primul apel - rulează /mcp în Claude Code și alege Authenticate pentru a deschide autentificarea în browser. După aceea îți reîmprospătează tokenul de acces singur - nimic de întreținut.

Token bearer (fără browser, bun pentru configurări headless):

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

Obține-ți YOUR_TOKEN din aplicație: Setări → Integrări → Agenți AI → Copiază tokenul (vezi Cum activezi mai sus).

Conectarea cu un token bearer

Pentru clienți fără suport OAuth încorporat - Cursor, Windsurf și altele - lipește tokenul tău personal de acces direct în configurația clientului. Înlocuiește YOUR_TOKEN cu tokenul din setările tale în toate exemplele de mai jos.

Cursor

Adaugă în .cursor/mcp.json:

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

Windsurf

Adaugă în .codeium/windsurf/mcp_config.json:

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

Altele

Folosește aceste fragmente pentru clienții pe care selectorul din aplicație îi grupează sub Altele.

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 peste 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 în schimb. Ambele antete funcționează; dacă sunt prezente ambele, Authorization câștigă.

Testarea conexiunii tale

Poți verifica dacă tokenul tău 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 (scopuri)

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

ScopPermite aplicației să...
notes:readCitească notele tale, să caute, să deschidă detaliile complete ale unei note
notes:writeCreeze, editeze, șteargă note (și să ruleze fluxul de notă vocală)
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 și redenumească etichete
profile:readCitească profilul tău și informațiile de abonament
offline_accessRămână conectat când ești plecat (emite un token de reîmprospătare, ca să nu fie nevoie să te autentifici la fiecare sesiune)

Scopurile sunt un plafon, nu o garanție - o conexiune cu doar notes:read nu poate apela un instrument de scriere, indiferent ce îi ceri. Planul tău este o a doua barieră, peste scopuri.

Conexiunile cu token bearer nu au scopuri delimitate individual - sunt guvernate doar de modul de citire/scriere al planului tău.

Ce poți face

Instrumente de citire (10) - Pro și Ultra

InstrumentCe face
get_notesListează note cu filtre (etichete, interval de date, căutare text)
get_noteVizualizează o singură notă cu sarcinile, evenimentele subordonate și transcrierea completă
get_notes_fullObține mai multe note cu sarcini și evenimente încorporate într-un singur apel
get_tasksListează sarcini filtrate după stare (de făcut, gata, toate), etichete sau date
get_eventsListează evenimente de calendar, filtrează după interval de date
get_reportsCitește rapoartele tale zilnice, săptămânale, lunare și anuale (markdown complet)
get_tagsVizualizează toate etichetele tale sortate după utilizare
get_profileVezi informațiile contului tău și statisticile de utilizare
searchCaută în note, sarcini și evenimente (căutare text + semantică pentru note)
get_change_logVezi istoricul editărilor unei note, sarcini sau eveniment și dacă fiecare editare a fost anulată
sfat

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

Instrumente de scriere (17) - Pro și Ultra

InstrumentCe face
process_noteFlux AI complet - trimite text sau audio, primești înapoi o notă cu sarcini, evenimente și etichete
create_noteAdaugă o notă 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 recurență
update_noteSchimbă titlul, rezumatul, tipul, etichetele, prioritatea sau starea notei
update_taskSchimbă titlul, descrierea, prioritatea, termenul limită, mementoul, etichetele sau starea sarcinii
complete_taskMarchează o sarcină ca finalizată
update_eventSchimbă detaliile, ora, locația, mementourile, participanții, recurența, etichetele sau starea evenimentului
delete_noteȘterge o notă și toate sarcinile și evenimentele legate de ea
delete_taskȘterge o sarcină
delete_eventȘterge un eveniment
undo_change_log_entryAnulează o singură editare urmărită - făcută de AI sau de tine - restabilind valoarea anterioară a câmpului
restore_entityReadu o notă, sarcină sau eveniment șters sau arhivat
create_tagCreează o etichetă nouă sau transformă o etichetă sugerată automat într-una permanentă
set_tag_pinnedFixează sau desfixează o etichetă ca să se sorteze în partea de sus
delete_tagElimină o etichetă (poate fi restaurată cu restore_tag)
restore_tagReadu o etichetă ștearsă

Toate operațiunile de scriere și ștergere apar instantaneu pe dispozitivele tale conectate (telefon, aplicație web) prin sincronizare în timp real.

Referință instrumente

get_notes

Listează note cu filtrare opțională. Filtrele de dată folosesc recorded_at (când ai înregistrat nota vocală), nu created_at.

ParametruTipImplicitDescriere
limitint20Numărul de note de returnat (max 50)
offsetint0Sari peste atâtea note (pentru paginare, max 10000)
tagsstring-Filtrează după etichete, separate prin virgulă (se potrivește cu oricare)
searchstring-Căutare text pe 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 e true, ascunde notele de continuare (note atașate unei note/sarcini/eveniment părinte) și returnează doar notele de sine stătătoare

Returnează: listă de note cu id, title, summary, type, tags, priority, status, recorded_at, created_at.

get_note

Obține o singură notă cu transcrierea completă și toate sarcinile și evenimentele legate.

ParametruTipDescriere
note_idstringUUID-ul notei

Returnează: nota cu title, summary, transcript, type, tags, priority, status, metadata, created_at, plus tablourile tasks[] și events[].

Returnează și transcript_speakers (intervenții de transcriere etichetate pe vorbitori, pentru ședințe cu mai mulți vorbitori - null altfel), speaker_count (null cu excepția cazului în care înregistrarea a fost împărțită pe vorbitori) și parent_note_id/parent_task_id/parent_event_id (setate când această notă este o editare de continuare a altui element). Fiecare intrare tasks[]/events[] include și reminders_at/recurrence_rule (sarcini) sau reminder_minutes/attendees/recurrence_rule (evenimente).

get_notes_full

Obține mai multe note cu sarcinile și evenimentele lor într-un singur apel. Aceleași filtre ca get_notes, dar fiecare notă include tasks[] și events[] încorporate.

ParametruTipImplicitDescriere
limitint10Numărul de note (max 20)
offsetint0Sari peste atâtea note
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 e true, ascunde notele de continuare (note atașate unei note/sarcini/eveniment părinte) și returnează doar notele de sine stătătoare

get_tasks

Listează sarcini cu filtrare.

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

Returnează: listă 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 retroactivă - folosește reminders_at pentru a vedea toate mementourile unei sarcini.

get_events

Listează evenimente de calendar cu filtrare pe interval de date.

ParametruTipImplicitDescriere
limitint30Numărul de evenimente (max 100)
offsetint0Sari peste atâtea evenimente
date_fromstring-Data de început, YYYY-MM-DD (filtrează după ora de început a evenimentului)
date_tostring-Data de sfârșit, YYYY-MM-DD

Returnează: listă 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 (max 10)

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

notă

Rapoartele lunare pot avea 3.000-5.000 de cuvinte. Folosește limit=1 dacă instrumentul tău AI are o fereastră de context strânsă.

get_tags

Obține toate etichetele tale, sortate mai întâi după 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 tău și statisticile de utilizare.

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

Caută în note, sarcini și evenimente deodată. Pentru note, acceptă atât căutare text, cât și căutare semantică (găsește rezultate după sens folosind embeddings AI).

ParametruTipImplicitDescriere
querystringobligatoriuText de căutare (max 500 de caractere)
limitint20Max rezultate per tip (max 20)
semanticbooltrueActivează căutarea semantică pentru note

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

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

get_change_log

Vezi istoricul editărilor unei note, sarcini sau eveniment - fiecare editare de continuare făcută de AI și fiecare editare manuală făcută de tine, cele mai noi primele.

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

Returnează: listă 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 sau manual), origin_note_id, edited_at și reverted_at (setat odată anulat).

process_note (Pro și Ultra)

Flux AI complet - funcționează la fel ca înregistrarea în aplicație. Trimite text sau audio, iar TellDone va transcrie, va analiza cu AI și va crea o notă structurată cu sarcini, evenimente, etichete și embeddings extrase.

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

ParametruTipDescriere
textstringText de analizat (sare peste transcriere dacă nu e furnizat audio)
audio_base64stringFișier audio codificat Base64 (până la 50MB, declanșează transcrierea)
audio_formatstringm4a, ogg, wav, mp3, aac sau webm (implicit: m4a)
parent_task_idstringUUID-ul unei sarcini la care aceasta este o continuare
parent_note_idstringUUID-ul unei note la care aceasta este o continuare
parent_event_idstringUUID-ul unui eveniment la care aceasta este o continuare

Trebuie să furnizezi fie text, fie audio_base64 (sau ambele - audioul are prioritate pentru transcriere).

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

notă

process_note este supus cotelor planului tău (încărcări pe zi, note pe lună, lungime maximă a textului). Folosește get_profile pentru a-ți verifica utilizarea curentă.

create_note (Pro și Ultra)

Creează instantaneu o notă text simplă. Nu declanșează analiza AI - nu se extrag sarcini sau evenimente. Pentru analiză AI completă cu extragere de sarcini/evenimente, folosește process_note în schimb.

ParametruTipLimităDescriere
titlestring200 de caractereObligatoriu
summarystring1000 de caractereOpțional. Teaser scurt (1-3 propoziții). Inclus în prompturile rapoartelor, așa că ține-l concis
transcriptstringîn funcție de planOpțional. Corp în format lung afișat în detaliile notei. Nu este inclus în rapoarte. Limite: Free 2.000 / Basic 8.000 / 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

create_task (Pro și Ultra)

Creează o sarcină nouă.

ParametruTipLimităDescriere
titlestring200 de caractereObligatoriu
descriptionstring2000 de caractereOpțional
prioritystring-low, medium (implicit) sau high
deadlinestring-YYYY-MM-DD, opțional
reminder_atstring-Datetime 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 notă părinte, opțional

create_event (Pro și Ultra)

Creează un eveniment de calendar.

ParametruTipLimităDescriere
titlestring200 de caractereObligatoriu
start_atstring-Datetime ISO 8601, obligatoriu
end_atstring-Datetime ISO 8601 (implicit: start + 1 oră)
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 emailuri separate prin virgulă, opțional
recurrence_rulestring-Șir RRULE (de exemplu, FREQ=WEEKLY;BYDAY=MO,WE,FR), opțional
note_idstring-UUID pentru a lega evenimentul de o notă părinte, opțional

update_note (Pro și Ultra)

Actualizează unul sau mai multe câmpuri ale unei note existente. Doar câmpurile pe care le furnizezi sunt modificate.

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

Pentru notele create de fluxul vocal, transcript este ieșirea originală de transcriere vocală. Suprascrierea ei înlocuiește sursa canonică - ia în calcul să adaugi la ea în schimb, dacă vrei să păstrezi originalul.

update_task (Pro și Ultra)

Actualizează unul sau mai multe câmpuri ale unei sarcini existente. Doar câmpurile pe care le furnizezi sunt modificate.

ParametruTipDescriere
task_idstringObligatoriu, UUID-ul sarcinii
titlestringTitlu nou
descriptionstringDescriere nouă (trimite un spațiu " " pentru a o goli)
prioritystringlow, medium sau high
deadlinestringYYYY-MM-DD (trimite un spațiu pentru a-l goli)
statusstringtodo sau done
tagsstringEtichete separate prin virgulă (înlocuiește toate etichetele existente, max 20)
reminder_atstringDatetime ISO 8601 (trimite un spațiu pentru a-l goli)

Setarea status la 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. Doar câmpurile pe care le furnizezi sunt modificate.

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

delete_note (Pro și Ultra)

Șterge o notă. Asta șterge și toate sarcinile și evenimentele create din această notă.

ParametruTipDescriere
note_idstringObligatoriu, UUID-ul notei

delete_task (Pro și Ultra)

Șterge o sarcină.

ParametruTipDescriere
task_idstringObligatoriu, UUID-ul sarcinii

delete_event (Pro și Ultra)

Șterge un eveniment.

ParametruTipDescriere
event_idstringObligatoriu, UUID-ul evenimentului

undo_change_log_entry (Pro și Ultra)

Anulează o singură editare urmărită - restabilește câmpul la valoarea lui dinaintea acelei editări, fie că editarea a fost făcută de AI (dintr-o înregistrare de continuare), fie de tine direct.

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)

Readu o notă, sarcină sau eveniment șters sau arhivat.

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ă sugerată automat existentă într-una permanentă.

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

set_tag_pinned (Pro și Ultra)

Fixează sau desfixează o etichetă ca să se sorteze în partea de sus a listei tale de etichete.

ParametruTipDescriere
tagstringObligatoriu
pinnedboolObligatoriu

Etichetele care conțin un caracter / 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)

Readu o etichetă ștearsă.

ParametruTipDescriere
tagstringObligatoriu

Limite de intrare

CâmpLungime maximăFolosit în
title200 de caracterecreate/update note, sarcină, eveniment
description2.000 de caracterecreate/update sarcină, eveniment
summary1.000 de caractere (strict)create/update note. Inclus în prompturile rapoartelor, ținut scurt pentru a controla costul de tokeni
transcriptîn funcție de plan: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000create/update note. Corp în format lung, nu în rapoarte
location200 de caracterecreate/update eveniment
tags20 de etichetecreate/update note, sarcină, eveniment
interogare de căutare500 de caracteresearch
audio_base64 (decodat)50 MBprocess_note

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

Gestionarea erorilor

Toate instrumentele returnează JSON. Erorile folosesc acest format:

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

Erori frecvente:

EroareCând
"MCP access is read-only..."Instrument de scriere apelat în modul doar citire
"Invalid note_id format"Șir non-UUID transmis ca ID
"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)"Au fost furnizate mai mult de 20 de etichete

Erori la nivel HTTP:

CodSemnificație
401Token Bearer invalid sau lipsă
403MCP dezactivat sau planul nu permite MCP
429Limită de rată depășită (5 cereri/s, rafală până la 20)

Exemple de utilizare

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

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 recurring 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ă așa:

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

Instrumentele de scriere și actualizare returnează răspunsuri minime, cu doar id, title și status. Pentru a obține detaliile complete (etichete, prioritate, termen limită etc.) după o scriere, fă un apel de citire de continuare precum get_tasks sau get_note.

Gestionarea tokenului

AcțiuneCum
Vezi tokenuliPhone Setări → Integrări → Agenți AI (sau web Setări → Agenți AI), atinge iconița de ochi
Copiază tokenulAtinge iconița de copiere de lângă token
RegenereazăAtinge Regenerează și confirmă. Tokenul vechi încetează să funcționeze imediat, iar orice sesiuni active se deconectează
Schimbă modulDoar Ultra - comută între Doar citire și Citire + scriere. Pe Pro modul este fixat la Citire + scriere
DezactiveazăAtinge Dezactivează și confirmă. Tokenul este șters și toate conexiunile se opresc. Poți reactiva mai târziu (va fi emis un token nou)

Ce îi poți cere agentului tău AI

Odată conectat, cere-i instrumentului tău AI lucruri precum:

Revizuiește-ți ziua:

  • "La ce am lucrat azi?"
  • "Arată-mi notele mele din această săptămână"
  • "Ce sarcini sunt restante?"

Gestionează sarcini:

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

Caută și analizează:

  • "Găsește toate notele despre strategia de marketing"
  • "Ce evenimente am săptămâna viitoare?"
  • "Rezumă rapoartele mele zilnice de săptămâna trecută"

Planifică din timp:

  • "Creează un eveniment: standup de echipă mâine la ora 10"
  • "Ce am în calendar săptămâna aceasta?"
  • "Arată-mi etichetele mele de top - pe ce petrec cel mai mult timp?"

Agentul AI are acces complet la notele, sarcinile, evenimentele și rapoartele tale. Poate citi, crea, actualiza și șterge date și poate răspunde la întrebări complexe combinând informații din mai multe instrumente.

Note importante

  • Două moduri de a crea note - create_note creează instantaneu o notă text simplă (fără analiză AI). process_note rulează fluxul AI complet (la fel ca înregistrarea în aplicație) - analizează textul, extrage sarcini și evenimente, generează etichete și embeddings. Folosește process_note când vrei ca TellDone să gândească în locul tău.
  • Fără sincronizare cu integrări - elementele create sau actualizate prin MCP nu declanșează automatizări prin webhook sau sincronizări de integrare (Todoist, Notion). Vor apărea în aplicațiile tale la următoarea sincronizare.
  • Căutarea semantică depinde de instrument - notele create cu process_note primesc embeddings și apar în căutarea semantică. Notele create cu create_note nu primesc embeddings, așa că apar doar în căutarea text.
  • Răspunsurile de scriere sunt minime - instrumentele de creare și actualizare returnează doar id, title și status. Pentru a obține toate câmpurile după o scriere, fă un apel de citire de continuare.
  • Filtrele de dată folosesc UTC - parametrii date_from/date_to sunt comparați ca marcaje temporale UTC. Pentru utilizatorii din fusuri orare non-UTC, datele de graniță pot include sau exclude elemente din zilele adiacente.
  • Limită de rată - 5 cereri pe secundă, cu rafale până la 20. Pentru operațiuni în masă, ritmează-ți cererile.

Securitate

  • Fiecare utilizator primește un token de conectare unic de 384 de biți
  • Tokenul tău este revocat instantaneu când dezactivezi MCP sau îl regenerezi
  • Toate datele sunt strict izolate la contul tău - agentul tău poate accesa doar propriile tale date
  • Fiecare cerere este delimitată la utilizatorul tău - nu există niciun mod prin care un agent să acceseze datele altui utilizator
  • Conexiunea folosește HTTPS cu limitare de rată (5 cereri/s, rafală până la 20)
  • Conexiunile OAuth folosesc PKCE cu coduri de autorizare de unică folosință și tokenuri de acces cu durată scurtă de viață - 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ă de conector open-source la github.com/exp78/telldone-mcp sau interoghează direct https://api.telldone.app/.well-known/oauth-protected-resource.

Confidențialitate și fluxul de date

Datele tale sunt transmise unui instrument AI conectat doar când îi ceri explicit să facă ceva - de exemplu, când îi ceri să-ți citească sau să-ți modifice notele. Instrumentul primește doar răspunsurile la apelurile specifice pe care le face, delimitate la permisiunile pe care le-ai aprobat. Tu ești la comandă: schimbă modul de citire/scriere al planului tău, îngustează scopurile OAuth pe care le aprobi la autentificare sau regenerează și dezactivează tokenul tău bearer, toate din Setări. Vezi Politica de confidențialitate pentru toate detaliile sau scrie-ne la support@telldone.app cu întrebări.

Depanare

SimptomCauză / remediu
Pagina de consimțământ OAuth spune "Wrong email or password"Folosește emailul și parola contului tău TellDone (cel cu care te autentifici în aplicație). Dacă contul tău are doar Apple sau Google Sign In și nicio parolă, folosește metoda cu token bearer în schimb.
Conectat, dar AI nu poate crea sau edita nimicPlanul sau modul tău este doar citire, sau conexiunii nu i s-au acordat scopuri de scriere - reconectează-te și aprobă-le, sau verifică-ți modul în Setări.
Eroare "Insufficient scope" de la un instrumentConexiunii OAuth nu i s-a acordat acel scop. Reconectează-te și aprobă permisiunea de care are nevoie instrumentul.
Instrumentele nu apar delocMCP nu este activat pe contul tău (Setări → Agenți AI), sau planul tău nu include MCP.
Clientul meu îmi permite doar să aleg dintr-o listă de conectori, iar TellDone nu e pe eaTellDone nu este încă în directorul de conectori al niciunui client - adaugă-l ca un conector personalizat cu adresa URL MCP, sau folosește metoda cu token bearer.

Vezi și