Przejdź do głównej zawartości

Dostęp MCP (agenci AI)

Co się ostatnio zmieniło

MCP jest teraz w pełni dostępny na iPhonie (oprócz aplikacji webowej). Ekran iPhone'a odzwierciedla ten z przeglądarki i zawiera te same snippety konfiguracyjne dla wszystkich obsługiwanych klientów AI.

Plan Pro i wyższe

Dostęp MCP wymaga planu Pro lub Ultra. Oba plany dostają pełny dostęp read + write (27 narzędzi) i mogą przełączyć się na tryb tylko do odczytu, jeśli wolisz.

MCP (Model Context Protocol) pozwala podłączyć asystentów programistycznych AI i narzędzia automatyzacji bezpośrednio do twoich danych TellDone. Po podłączeniu twój agent AI może czytać twoje notatki, zadania, wydarzenia, raporty, tagi i historię zmian - oraz tworzyć, aktualizować, usuwać i przywracać elementy. Łącznie jest 27 narzędzi: 10 do odczytu danych i 17 do zapisu.

Dostępne zarówno w aplikacji iPhone (Ustawienia → Integracje → Agenci AI), jak i w aplikacji webowej (Ustawienia → AI Agents).

Dwa sposoby połączenia

Klienta AI możesz uwierzytelnić na dwa sposoby - oba są w pełni obsługiwane:

  1. OAuth 2.1 (zalecane) - standardowy przepływ zgody "Zaloguj się przez TellDone". Tego używa interfejs konektorów w Claude Desktop oraz Claude.ai. Nie kopiujesz żadnych tokenów - logujesz się swoim kontem TellDone i zatwierdzasz uprawnienia, o które prosi klient.
  2. Token bearer - skopiuj swój osobisty token dostępu z Ustawień i wklej go do konfiguracji klienta. Najprostsze dla skryptów, narzędzi CLI i klientów, które nie mają wbudowanego przepływu OAuth.
KlientZalecane
Claude Desktop / CoworkOAuth - dodaj własny konektor z adresem MCP, a potem zaloguj się
Claude Code (CLI)Dowolne - claude mcp add przeprowadzi cię przez OAuth w przeglądarce, albo dodaj nagłówek Bearer dla metody tokenowej
Skrypty lub własny kodToken bearer - najprościej zautomatyzować
Klient, który pozwala wybierać tylko z katalogu gotowych konektorówNa razie użyj tokena bearer albo mostka mcp-remote - TellDone nie jest jeszcze w żadnym katalogu konektorów

Wymagania planów

PlanMCP
FreeZablokowane
BasicZablokowane
ProRead + Write (27 narzędzi) - można przełączyć na Read-only
UltraRead + Write (27 narzędzi) - można przełączyć na Read-only

Ekran w aplikacji

Ekran Agenci AI ma trzy stany w zależności od planu i tego, czy MCP jest włączony.

Zablokowane (Free i Basic)

Jeśli jesteś na planie Free lub Basic, ekran wyjaśnia, do czego służy MCP, i pokazuje przycisk Ulepsz. Naciśnięcie otwiera paywall, gdzie możesz przejść na Pro lub Ultra.

Wyłączone (Pro i Ultra, funkcja off)

Jeśli jesteś na Pro lub Ultra, ale jeszcze nie włączyłeś MCP, ekran pokazuje krótkie podsumowanie tego, co potrafi twój plan (liczba narzędzi, tryb dostępu, limity) oraz przycisk Włącz. Naciśnij, by wygenerować token połączenia i rozpocząć integrację.

Włączone

Po włączeniu ekran pokazuje wszystko, czego potrzebujesz, by podłączyć klienta AI:

  • Przełącznik trybu - na Ultra możesz przełączać między Read-only a Read + Write. Na Pro tryb jest stale ustawiony na Read + Write.
  • Wiersz Token dostępu z przełącznikiem oka, by pokazać lub ukryć token, oraz przyciskiem kopiowania.
  • Selektor konfiguracji z zakładkami Claude Code, Cursor, Windsurf i Inne. Pasujący snippet kodu pojawia się pod zakładkami - po prostu skopiuj i wklej do swojego klienta AI.
  • Przycisk Wygeneruj ponownie - rotuje token natychmiast i rozłącza wszystkie aktywne sesje korzystające ze starego.
  • Przycisk Wyłącz - wyłącza MCP i usuwa token. Możesz włączyć ponownie później, ale wydany zostanie nowy token.
wskazówka

Trzymaj swój token połączenia w tajemnicy. Każdy z tokenem może uzyskać dostęp do twoich danych TellDone. Użyj Wygeneruj ponownie, jeśli kiedykolwiek podejrzewasz, że token wyciekł.

Jak włączyć

MCP możesz skonfigurować z każdej platformy:

  • iPhone: Ustawienia → Integracje → Agenci AI (MCP)
  • Web: app.telldone.app → Ustawienia → AI Agents

Kroki:

  1. Naciśnij Włącz.
  2. Wybierz tryb dostępu (tylko Ultra - Pro zawsze ma Read + Write).
  3. Pokaż i skopiuj token za pomocą ikon oka i kopiowania.
  4. Wybierz narzędzie w sekcji Setup (Claude Code, Cursor, Windsurf lub Inne).
  5. Wklej snippet do konfiguracji klienta AI.

Podłączanie przez OAuth

OAuth to zalecana droga dla Claude Desktop, Claude.ai, Cowork i Claude Code - logujesz się swoim kontem TellDone, zamiast przenosić token z miejsca na miejsce.

Adres MCP dla OAuth: https://api.telldone.app/mcp/user (bez końcówki /mcp - to inny adres, używany tylko w metodzie z tokenem bearer poniżej)

Claude Desktop / Cowork

  1. W kliencie wybierz Add custom connector.
  2. Podaj adres serwera: https://api.telldone.app/mcp/user
  3. Klient otworzy stronę zgody TellDone w twojej przeglądarce. Zobaczysz, która aplikacja prosi o dostęp, o jakie dokładnie uprawnienia jej chodzi, oraz formularz logowania.
  4. Zaloguj się e-mailem i hasłem konta TellDone, a potem kliknij Allow.
  5. Klient automatycznie otrzyma token dostępu i połączy się - nie musisz nic kopiować.
notatka

Logowanie na stronie zgody odbywa się e-mailem i hasłem konta TellDone. Jeśli twoje konto ma tylko logowanie przez Apple lub Google (bez ustawionego hasła), na razie skorzystaj z metody z tokenem bearer poniżej.

Claude Code

OAuth (otwiera logowanie w przeglądarce):

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

Claude Code sam wykrywa przepływ OAuth, ale nie zaloguje cię przy pierwszym wywołaniu - uruchom /mcp w Claude Code i wybierz Authenticate, by otworzyć logowanie w przeglądarce. Potem token dostępu będzie odświeżany automatycznie - nic nie musisz pilnować.

Token bearer (bez przeglądarki, dobre dla konfiguracji headless):

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

Swój YOUR_TOKEN znajdziesz w aplikacji: Ustawienia → Integracje → Agenci AI → skopiuj token (zobacz Jak włączyć powyżej).

Podłączanie przez token bearer

Dla klientów bez wbudowanej obsługi OAuth - Cursor, Windsurf i innych - wklej swój osobisty token dostępu bezpośrednio do konfiguracji klienta. Zastąp YOUR_TOKEN tokenem ze swoich ustawień we wszystkich przykładach poniżej.

Cursor

Dodaj do .cursor/mcp.json:

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

Windsurf

Dodaj do .codeium/windsurf/mcp_config.json:

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

Inne

Użyj tych snippetów dla klientów, których selektor w aplikacji grupuje pod Inne.

Codex

Dodaj do 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

Inni klienci MCP

Każde narzędzie obsługujące MCP po HTTP może się połączyć. Użyj endpointa https://api.telldone.app/mcp/user/mcp z nagłówkiem autoryzacji Bearer YOUR_TOKEN.

Alternatywny nagłówek auth

Jeśli twój klient lub proxy rezerwuje nagłówek Authorization (np. niektóre bramki w stylu Smithery), wyślij token w X-MCP-Token: YOUR_TOKEN. Oba nagłówki działają; jeśli oba są obecne, wygrywa Authorization.

Testowanie połączenia

Możesz sprawdzić, czy twój token działa, prostym poleceniem cURL:

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

Pomyślna odpowiedź wymienia wszystkie dostępne narzędzia.

Uprawnienia (scopes)

Połączenia OAuth mają przypisane uprawnienia (scopes) - podczas logowania widzisz dokładnie, o co prosi klient, i zatwierdzasz to wprost.

ScopePozwala aplikacji...
notes:readCzytać twoje notatki, wyszukiwać, otwierać pełne szczegóły notatki
notes:writeTworzyć, edytować i usuwać notatki (oraz uruchamiać pipeline notatek głosowych)
tasks:read / tasks:writeCzytać / tworzyć, edytować, ukończać i usuwać zadania
events:read / events:writeCzytać / tworzyć, edytować i usuwać wydarzenia
reports:readCzytać twoje raporty dzienne, tygodniowe, miesięczne i roczne
tags:read / tags:writeWyświetlać twoje tagi / tworzyć i zmieniać nazwy tagów
profile:readCzytać dane twojego profilu i subskrypcji
offline_accessPozostać połączonym, gdy cię nie ma (wydaje token odświeżania, więc nie musisz logować się co sesję)

Scopes to górna granica, a nie gwarancja - połączenie z samym notes:read nie wywoła narzędzia zapisu, cokolwiek byś mu kazał. Twój plan to druga bramka, nałożona na scopes.

Połączenia z tokenem bearer nie mają osobnych scopes - rządzi nimi wyłącznie tryb read/write z twojego planu.

Co możesz robić

Narzędzia odczytu (10) - Pro i Ultra

NarzędzieCo robi
get_notesLista notatek z filtrami (tagi, zakres dat, wyszukiwanie tekstu)
get_notePojedyncza notatka z podrzędnymi zadaniami, wydarzeniami i pełnym transkryptem
get_notes_fullWiele notatek z osadzonymi zadaniami i wydarzeniami w jednym wywołaniu
get_tasksLista zadań filtrowana według statusu (to-do, done, all), tagów lub dat
get_eventsLista wydarzeń kalendarzowych, filtruj po zakresie dat
get_reportsCzytaj raporty dzienne, tygodniowe, miesięczne i roczne (pełny markdown)
get_tagsZobacz wszystkie tagi posortowane według użycia
get_profileZobacz dane konta i statystyki użycia
searchWyszukuj w notatkach, zadaniach i wydarzeniach (tekstowe + semantyczne dla notatek)
get_change_logZobacz historię zmian notatki, zadania lub wydarzenia oraz to, czy każda edycja została cofnięta
wskazówka

Narzędzie search obsługuje wyszukiwanie semantyczne notatek - znajduje wyniki według znaczenia, nie tylko po słowach kluczowych. Na przykład wyszukiwanie "spotkania o budżecie" znajdzie notatki o dyskusjach finansowych, nawet jeśli nie zawierają słowa "budżet".

Narzędzia zapisu (17) - Pro i Ultra

NarzędzieCo robi
process_notePełny pipeline AI - wyślij tekst lub audio, otrzymaj notatkę z zadaniami, wydarzeniami i tagami
create_noteDodaj zwykłą notatkę tekstową (bez analizy AI)
create_taskDodaj zadanie z priorytetem, terminem, przypomnieniem i tagami
create_eventDodaj wydarzenie kalendarzowe z datą, godziną, lokalizacją, przypomnieniami, uczestnikami i powtarzaniem
update_noteZmień tytuł, podsumowanie, typ, tagi, priorytet lub status notatki
update_taskZmień tytuł, opis, priorytet, termin, przypomnienie, tagi lub status zadania
complete_taskOznacz zadanie jako zrobione
update_eventZmień szczegóły wydarzenia, czas, lokalizację, przypomnienia, uczestników, powtarzanie, tagi lub status
delete_noteUsuń notatkę i wszystkie powiązane zadania i wydarzenia
delete_taskUsuń zadanie
delete_eventUsuń wydarzenie
undo_change_log_entryCofnij pojedynczą śledzoną edycję - zrobioną przez AI lub twoją własną - przywracając poprzednią wartość pola
restore_entityPrzywróć usuniętą lub zarchiwizowaną notatkę, zadanie lub wydarzenie
create_tagUtwórz nowy tag albo zamień automatycznie zasugerowany tag na stały
set_tag_pinnedPrzypnij lub odepnij tag, żeby sortował się na górze
delete_tagUsuń tag (można go przywrócić przez restore_tag)
restore_tagPrzywróć usunięty tag

Wszystkie operacje zapisu i usunięcia pojawiają się natychmiast na podłączonych urządzeniach (telefon, aplikacja webowa) przez synchronizację w czasie rzeczywistym.

Referencja narzędzi

get_notes

Lista notatek z opcjonalnym filtrowaniem. Filtry dat używają recorded_at (kiedy nagrałeś notatkę głosową), nie created_at.

ParametrTypDomyślnieOpis
limitint20Liczba notatek do zwrócenia (max 50)
offsetint0Pomiń tyle notatek (do paginacji, max 10000)
tagsstring-Filtruj po tagach, rozdzielone przecinkami (dopasowuje dowolny)
searchstring-Wyszukiwanie tekstu w tytule i podsumowaniu
date_fromstring-Data początkowa, YYYY-MM-DD (włącznie)
date_tostring-Data końcowa, YYYY-MM-DD (wyłącznie)
standalone_onlyboolfalseGdy true, ukrywa notatki uzupełniające (notatki powiązane z nadrzędną notatką, zadaniem lub wydarzeniem) i zwraca tylko samodzielne notatki

Zwraca: listę notatek z id, title, summary, type, tags, priority, status, recorded_at, created_at.

get_note

Pobierz pojedynczą notatkę z pełnym transkryptem i wszystkimi powiązanymi zadaniami i wydarzeniami.

ParametrTypOpis
note_idstringUUID notatki

Zwraca: notatkę z title, summary, transcript, type, tags, priority, status, metadata, created_at, plus tablicami tasks[] i events[].

Zwraca też transcript_speakers (wypowiedzi transkryptu z etykietami mówców, dla spotkań z kilkoma mówcami - w przeciwnym razie null), speaker_count (null, chyba że nagranie zostało podzielone według mówców) oraz parent_note_id/parent_task_id/parent_event_id (ustawiane, gdy ta notatka jest edycją-uzupełnieniem innego elementu). Każdy wpis tasks[]/events[] zawiera też reminders_at/recurrence_rule (zadania) lub reminder_minutes/attendees/recurrence_rule (wydarzenia).

get_notes_full

Pobierz wiele notatek z ich zadaniami i wydarzeniami w jednym wywołaniu. Te same filtry co get_notes, ale każda notatka zawiera osadzone tablice tasks[] i events[].

ParametrTypDomyślnieOpis
limitint10Liczba notatek (max 20)
offsetint0Pomiń tyle notatek
tagsstring-Filtruj po tagach
date_fromstring-Data początkowa, YYYY-MM-DD
date_tostring-Data końcowa, YYYY-MM-DD
standalone_onlyboolfalseGdy true, ukrywa notatki uzupełniające (notatki powiązane z nadrzędną notatką, zadaniem lub wydarzeniem) i zwraca tylko samodzielne notatki

get_tasks

Lista zadań z filtrowaniem.

ParametrTypDomyślnieOpis
statusstring"todo"Filtr: todo, done lub all
limitint30Liczba zadań (max 100)
offsetint0Pomiń tyle zadań
tagsstring-Filtruj po tagach, rozdzielone przecinkami
date_fromstring-Data początkowa, YYYY-MM-DD - filtruje po terminie (deadline); zadania bez terminu są wykluczone
date_tostring-Data końcowa, YYYY-MM-DD - filtruje po terminie (deadline); zadania bez terminu są wykluczone

Zwraca: listę zadań z id, title, description, status, priority, tags, deadline, reminder_at, reminders_at, completed_at, completed_by, source, created_at. reminder_at odzwierciedla pierwszy wpis reminders_at dla zgodności wstecznej - użyj reminders_at, aby zobaczyć wszystkie przypomnienia zadania.

get_events

Lista wydarzeń kalendarzowych z filtrem zakresu dat.

ParametrTypDomyślnieOpis
limitint30Liczba wydarzeń (max 100)
offsetint0Pomiń tyle wydarzeń
date_fromstring-Data początkowa, YYYY-MM-DD (filtruje po czasie startu wydarzenia)
date_tostring-Data końcowa, YYYY-MM-DD

Zwraca: listę wydarzeń z id, title, description, status, start_at, end_at, location, is_all_day, tags, note_id, reminder_minutes, attendees, recurrence_rule, created_at.

get_reports

Pobierz wygenerowane przez AI raporty z pełną treścią markdown.

ParametrTypDomyślnieOpis
report_typestring"daily"Typ: daily, weekly, monthly lub yearly
limitint5Liczba raportów (max 10)

Zwraca: listę raportów z id, type, period_start, period_end, content_md, created_at.

notatka

Raporty miesięczne mogą mieć 3 000-5 000 słów. Użyj limit=1, jeśli twoje narzędzie AI ma ciasne okno kontekstu.

get_tags

Pobierz wszystkie tagi posortowane najpierw przypięte, potem według liczby użyć.

Bez parametrów. Zwraca do 100 tagów, każdy z tag, usage_count, is_pinned, is_manual.

get_profile

Pobierz dane konta i statystyki użycia.

Bez parametrów. Zwraca email, display_name, locale, transcription_locale, timezone, subscription, mcp_mode, created_at i stats (liczby notatek/zadań/wydarzeń).

Wyszukuj w notatkach, zadaniach i wydarzeniach jednocześnie. Dla notatek obsługuje zarówno wyszukiwanie tekstowe, jak i semantyczne (znajduje wyniki według znaczenia za pomocą embeddingów AI).

ParametrTypDomyślnieOpis
querystringwymaganeTekst wyszukiwania (max 500 znaków)
limitint20Maks. wyników na typ (max 20)
semanticbooltrueWłącz wyszukiwanie semantyczne dla notatek

Zwraca wyniki pogrupowane po typie: notes[], tasks[], events[]. Każdy wynik ma id, type, title, detail, created_at.

Ustaw semantic=false dla szybszego wyszukiwania tylko tekstowego.

get_change_log

Zobacz historię zmian notatki, zadania lub wydarzenia - każdą edycję wykonaną przez AI z uzupełnienia oraz każdą ręczną edycję, którą sam wprowadziłeś, od najnowszej.

ParametrTypDomyślnieOpis
entitystringwymaganenotes, tasks lub events
entity_idstringwymaganeUUID elementu
include_manualboolfalseDołącz też twoje ręczne edycje, nie tylko te zrobione przez AI

Zwraca: listę wpisów zmian z id (użyj go jako entry_id do cofnięcia), field_name, old_value, new_value, source (follow_up, smart_context lub manual), origin_note_id, edited_at oraz reverted_at (ustawiane po cofnięciu).

process_note (Pro i Ultra)

Pełny pipeline AI - działa tak samo jak nagrywanie w aplikacji. Wyślij tekst lub audio, a TellDone zrobi transkrypcję, analizę AI i utworzy uporządkowaną notatkę z wyodrębnionymi zadaniami, wydarzeniami, tagami i embeddingami.

To narzędzie jest asynchroniczne: zwraca natychmiast audio_id i przetwarza w tle. Wyniki przychodzą przez synchronizację w czasie rzeczywistym na podłączone urządzenia, lub możesz odpytywać przez get_notes().

ParametrTypOpis
textstringTekst do analizy (pomija transkrypcję, jeśli nie ma audio)
audio_base64stringPlik audio zakodowany base64 (do 50MB, wyzwala transkrypcję)
audio_formatstringm4a, ogg, wav, mp3, aac lub webm (domyślnie: m4a)
parent_task_idstringUUID zadania, do którego to jest uzupełnienie
parent_note_idstringUUID notatki, do której to jest uzupełnienie
parent_event_idstringUUID wydarzenia, do którego to jest uzupełnienie

Musisz podać text lub audio_base64 (lub oba - audio ma priorytet do transkrypcji).

Zwraca: {"audio_id": "...", "status": "processing", "mode": "text-only"} lub "mode": "audio+stt", jeśli podano audio.

notatka

process_note podlega limitom twojego planu (uploady na dzień, notatki na miesiąc, maks. długość tekstu). Użyj get_profile, by sprawdzić bieżące użycie.

create_note (Pro i Ultra)

Utwórz zwykłą notatkę tekstową natychmiast. Nie wyzwala analizy AI - nie wyodrębnia zadań ani wydarzeń. Aby uzyskać pełną analizę AI z wyodrębnianiem zadań/wydarzeń, użyj zamiast tego process_note.

ParametrTypLimitOpis
titlestring200 znakówWymagane
summarystring1000 znakówOpcjonalne. Krótka zapowiedź (1-3 zdania). Trafia do promptów raportów, więc trzymaj zwięźle
transcriptstringzależy od planuOpcjonalne. Długi tekst pokazany w szczegółach notatki. Nie trafia do raportów. Limity: Free 2 000 / Basic 8 000 / Pro 20 000 / Ultra 50 000 znaków
typestring-Opcjonalne. task, idea, info (domyślnie), status, meeting, event lub reflection
tagsstring20 tagówRozdzielone przecinkami, opcjonalne

create_task (Pro i Ultra)

Utwórz nowe zadanie.

ParametrTypLimitOpis
titlestring200 znakówWymagane
descriptionstring2000 znakówOpcjonalne
prioritystring-low, medium (domyślnie) lub high
deadlinestring-YYYY-MM-DD, opcjonalne
reminder_atstring-Datetime ISO 8601 (np. 2026-04-15T09:00:00Z), opcjonalne
tagsstring20 tagówRozdzielone przecinkami, opcjonalne
note_idstring-UUID, by powiązać zadanie z nadrzędną notatką, opcjonalne

create_event (Pro i Ultra)

Utwórz wydarzenie kalendarzowe.

ParametrTypLimitOpis
titlestring200 znakówWymagane
start_atstring-Datetime ISO 8601, wymagane
end_atstring-Datetime ISO 8601 (domyślnie: start + 1 godzina)
descriptionstring2000 znakówOpcjonalne
locationstring200 znakówOpcjonalne
is_all_daybool-Domyślnie: false
tagsstring20 tagówRozdzielone przecinkami, opcjonalne
reminder_minutesstring-Minuty przed wydarzeniem rozdzielone przecinkami (np. 15,60), opcjonalne
attendeesstring-Imiona lub e-maile rozdzielone przecinkami, opcjonalne
recurrence_rulestring-Ciąg RRULE (np. FREQ=WEEKLY;BYDAY=MO,WE,FR), opcjonalne
note_idstring-UUID, by powiązać wydarzenie z nadrzędną notatką, opcjonalne

update_note (Pro i Ultra)

Zaktualizuj jedno lub więcej pól w istniejącej notatce. Zmieniane są tylko pola, które podasz.

ParametrTypOpis
note_idstringWymagane, UUID notatki
titlestringNowy tytuł (max 200 znaków)
summarystringNowe podsumowanie (max 1000 znaków, podaj spację " ", by wyczyścić)
transcriptstringNowy transkrypt (limit zależny od planu, podaj spację " ", by wyczyścić)
typestringtask, idea, info, status, meeting, event lub reflection
tagsstringTagi rozdzielone przecinkami (zastępują wszystkie istniejące, max 20)
prioritystringlow, medium lub high
statusstringactive lub archived
uwaga

Dla notatek utworzonych przez pipeline głosowy transcript to oryginalne wyjście speech-to-text. Nadpisanie zastępuje kanoniczne źródło - rozważ dopisywanie do niego, jeśli chcesz zachować oryginał.

update_task (Pro i Ultra)

Zaktualizuj jedno lub więcej pól w istniejącym zadaniu. Zmieniane są tylko pola, które podasz.

ParametrTypOpis
task_idstringWymagane, UUID zadania
titlestringNowy tytuł
descriptionstringNowy opis (podaj spację " ", by wyczyścić)
prioritystringlow, medium lub high
deadlinestringYYYY-MM-DD (podaj spację, by wyczyścić)
statusstringtodo lub done
tagsstringTagi rozdzielone przecinkami (zastępują wszystkie istniejące, max 20)
reminder_atstringDatetime ISO 8601 (podaj spację, by wyczyścić)

Ustawienie status na done zapisuje też, kiedy i jak zadanie zostało ukończone.

complete_task (Pro i Ultra)

Skrót do oznaczenia zadania jako zrobione.

ParametrTypOpis
task_idstringWymagane, UUID zadania

Zwraca błąd, jeśli zadanie nie istnieje lub jest już ukończone.

update_event (Pro i Ultra)

Zaktualizuj jedno lub więcej pól w istniejącym wydarzeniu. Zmieniane są tylko pola, które podasz.

ParametrTypOpis
event_idstringWymagane, UUID wydarzenia
titlestringNowy tytuł
descriptionstringNowy opis (podaj spację, by wyczyścić)
start_atstringNowy czas początku (ISO 8601)
end_atstringNowy czas końca (ISO 8601)
locationstringNowa lokalizacja (podaj spację, by wyczyścić)
statusstringconfirmed, tentative lub cancelled
tagsstringTagi rozdzielone przecinkami (zastępują wszystkie istniejące, max 20)
is_all_daystring"true" lub "false"
reminder_minutesstringMinuty przed wydarzeniem rozdzielone przecinkami (np. 15,60)
attendeesstringImiona lub e-maile rozdzielone przecinkami
recurrence_rulestringCiąg RRULE (podaj spację, by wyczyścić)

delete_note (Pro i Ultra)

Usuń notatkę. Usuwa też wszystkie zadania i wydarzenia utworzone z tej notatki.

ParametrTypOpis
note_idstringWymagane, UUID notatki

delete_task (Pro i Ultra)

Usuń zadanie.

ParametrTypOpis
task_idstringWymagane, UUID zadania

delete_event (Pro i Ultra)

Usuń wydarzenie.

ParametrTypOpis
event_idstringWymagane, UUID wydarzenia

undo_change_log_entry (Pro i Ultra)

Cofnij pojedynczą śledzoną edycję - przywraca pole do wartości sprzed tej edycji, niezależnie od tego, czy zmianę wprowadziło AI (z nagrania-uzupełnienia), czy ty bezpośrednio.

ParametrTypOpis
entitystringWymagane, notes, tasks lub events
entity_idstringWymagane, UUID elementu
entry_idstringWymagane, id wpisu zmiany z get_change_log

Zwraca: {"entry_id", "entity_type", "entity_id", "field_name", "restored_value", "reverted_at"}. Cofnięcie tego samego wpisu drugi raz zwraca błąd - jest już cofnięty.

restore_entity (Pro i Ultra)

Przywróć usuniętą lub zarchiwizowaną notatkę, zadanie lub wydarzenie.

ParametrTypOpis
entitystringWymagane, notes, tasks lub events
entity_idstringWymagane, UUID elementu

Zwraca: przywrócony element w formacie JSON.

create_tag (Pro i Ultra)

Utwórz nowy tag albo zamień istniejący automatycznie zasugerowany tag na stały.

ParametrTypOpis
tagstringWymagane, 1-50 znaków (przechowywany małymi literami)
categorystringOpcjonalne

set_tag_pinned (Pro i Ultra)

Przypnij lub odepnij tag, żeby sortował się na górze twojej listy tagów.

ParametrTypOpis
tagstringWymagane
pinnedboolWymagane

Tagów zawierających znak / nie można przypiąć.

delete_tag (Pro i Ultra)

Usuń tag. Można go przywrócić przez restore_tag.

ParametrTypOpis
tagstringWymagane

restore_tag (Pro i Ultra)

Przywróć usunięty tag.

ParametrTypOpis
tagstringWymagane

Limity wejścia

PoleMaks. długośćUżywane w
title200 znakówcreate/update notatki, zadania, wydarzenia
description2 000 znakówcreate/update zadania, wydarzenia
summary1 000 znaków (twardy)create/update notatki. Trafia do promptów raportów, krótkie z uwagi na koszt tokenów
transcriptzależnie od planu: Free 2 000 / Basic 8 000 / Pro 20 000 / Ultra 50 000create/update notatki. Długi tekst, nie w raportach
location200 znakówcreate/update wydarzenia
tags20 tagówcreate/update notatki, zadania, wydarzenia
zapytanie wyszukiwania500 znakówsearch
audio_base64 (po dekodowaniu)50 MBprocess_note

Jeśli przekroczysz limit, narzędzie zwraca komunikat błędu, np. "title too long (max 200 chars, got 250)".

Obsługa błędów

Wszystkie narzędzia zwracają JSON. Błędy mają taki format:

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

Częste błędy:

BłądKiedy
"MCP access is read-only..."Wywołano narzędzie zapisu w trybie tylko do odczytu
"Invalid note_id format"Przekazano ciąg, który nie jest UUID
"Note not found"ID nie istnieje albo należy do innego użytkownika
"Task not found or already completed"complete_task na nieistniejącym lub już zrobionym zadaniu
"title too long (max 200 chars, got N)"Przekroczono limit wejścia
"Too many tags (max 20)"Podano ponad 20 tagów

Błędy poziomu HTTP:

KodZnaczenie
401Nieprawidłowy lub brak tokena Bearer
403MCP wyłączone albo plan nie pozwala na MCP
429Przekroczono limit (5 req/s, burst do 20)

Przykłady użycia

Wszystkie przykłady używają cURL z protokołem MCP JSON-RPC. Zastąp YOUR_TOKEN swoim tokenem połączenia.

Odczyt danych

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

Zapis danych (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>"}}}'

Pomyślna odpowiedź wygląda tak:

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

Narzędzia zapisu i aktualizacji zwracają minimalne odpowiedzi tylko z id, title i status. Aby uzyskać pełne szczegóły (tagi, priorytet, termin itd.) po zapisie, wykonaj kolejne wywołanie odczytu, np. get_tasks lub get_note.

Zarządzanie tokenem

AkcjaJak
Pokaż tokeniPhone Ustawienia → Integracje → Agenci AI (lub web Ustawienia → AI Agents), naciśnij ikonę oka
Skopiuj tokenNaciśnij ikonę kopiowania obok tokena
Wygeneruj ponownieNaciśnij Wygeneruj ponownie i potwierdź. Stary token przestaje działać natychmiast, a aktywne sesje zostają rozłączone
Zmień trybTylko Ultra - przełączaj między Read-only a Read + Write. Na Pro tryb jest stale ustawiony na Read + Write
WyłączNaciśnij Wyłącz i potwierdź. Token zostaje usunięty, a wszystkie połączenia kończą się. Możesz włączyć ponownie później (zostanie wydany nowy token)

O co możesz pytać agenta AI

Po podłączeniu pytaj swoje narzędzie AI o rzeczy takie jak:

Przegląd dnia:

  • "Nad czym dziś pracowałem?"
  • "Pokaż moje notatki z tego tygodnia"
  • "Jakie zadania są zaległe?"

Zarządzanie zadaniami:

  • "Utwórz zadanie: przejrzyj raport kwartalny, wysoki priorytet, termin piątek"
  • "Oznacz zadanie Figma jako zrobione"
  • "Nad jakimi zadaniami pracuję?"

Wyszukiwanie i analiza:

  • "Znajdź wszystkie notatki o strategii marketingowej"
  • "Jakie wydarzenia mam w przyszłym tygodniu?"
  • "Podsumuj moje raporty dzienne z zeszłego tygodnia"

Planowanie:

  • "Utwórz wydarzenie: standup zespołu jutro o 10:00"
  • "Co mam w kalendarzu w tym tygodniu?"
  • "Pokaż moje najczęstsze tagi - na czym spędzam najwięcej czasu?"

Agent AI ma pełny dostęp do twoich notatek, zadań, wydarzeń i raportów. Może czytać, tworzyć, aktualizować i usuwać dane oraz odpowiadać na złożone pytania, łącząc informacje z wielu narzędzi.

Ważne uwagi

  • Dwa sposoby tworzenia notatek - create_note tworzy zwykłą notatkę tekstową natychmiast (bez analizy AI). process_note uruchamia pełny pipeline AI (taki sam jak nagrywanie w aplikacji) - analizuje tekst, wyodrębnia zadania i wydarzenia, generuje tagi i embeddingi. Użyj process_note, gdy chcesz, by TellDone myślał za ciebie.
  • Brak synchronizacji integracji - elementy utworzone lub zaktualizowane przez MCP nie wyzwalają automatyzacji webhooków ani synchronizacji integracji (Todoist, Notion). Pojawią się w aplikacjach przy następnej synchronizacji.
  • Wyszukiwanie semantyczne zależy od narzędzia - notatki utworzone przez process_note dostają embeddingi i pojawiają się w wyszukiwaniu semantycznym. Notatki utworzone przez create_note nie dostają embeddingów, więc pojawiają się tylko w wyszukiwaniu tekstowym.
  • Odpowiedzi zapisu są minimalne - narzędzia create i update zwracają tylko id, title i status. Aby uzyskać wszystkie pola po zapisie, wykonaj kolejne wywołanie odczytu.
  • Filtry dat używają UTC - parametry date_from/date_to są porównywane jako znaczniki UTC. Dla użytkowników w strefach innych niż UTC daty graniczne mogą obejmować lub wykluczać elementy z sąsiednich dni.
  • Limit zapytań - 5 zapytań na sekundę, z burstami do 20. Dla operacji masowych rozłóż zapytania w czasie.

Bezpieczeństwo

  • Każdy użytkownik dostaje unikalny 384-bitowy token połączenia
  • Twój token jest unieważniany natychmiast, gdy wyłączysz MCP lub wygenerujesz ponownie
  • Wszystkie dane są ściśle izolowane do twojego konta - twój agent może uzyskać dostęp tylko do twoich danych
  • Każde żądanie jest ograniczone do twojego użytkownika - agent nie ma żadnej możliwości dostępu do danych innego użytkownika
  • Połączenie używa HTTPS z limitem zapytań (5 req/s, burst do 20)
  • Połączenia OAuth używają PKCE z jednorazowymi kodami autoryzacyjnymi i krótko żyjącymi tokenami dostępu - połączenie możesz w każdej chwili unieważnić z poziomu aplikacji

Jeśli chcesz zajrzeć głębiej od strony technicznej - endpointy discovery, czasy życia tokenów, pełny przepływ OAuth - sprawdź naszą otwartoźródłową referencję konektora na github.com/exp78/telldone-mcp albo odpytaj bezpośrednio https://api.telldone.app/.well-known/oauth-protected-resource.

Prywatność i przepływ danych

Twoje dane trafiają do podłączonego narzędzia AI tylko wtedy, gdy wprost poprosisz je o wykonanie czegoś - na przykład gdy każesz mu odczytać albo zmienić twoje notatki. Narzędzie dostaje wyłącznie odpowiedzi na konkretne wywołania, które wykonuje, w granicach uprawnień, które zatwierdziłeś. Kontrola jest po twojej stronie: zmień tryb read/write w swoim planie, zawęź scopes OAuth zatwierdzane przy logowaniu albo wygeneruj ponownie lub wyłącz token bearer - wszystko z poziomu Ustawień. Pełne szczegóły znajdziesz w Polityce prywatności, a z pytaniami pisz na support@telldone.app.

Rozwiązywanie problemów

ObjawPrzyczyna / rozwiązanie
Strona zgody OAuth pokazuje "Wrong email or password"Użyj e-maila i hasła konta TellDone (tego, którym logujesz się do aplikacji). Jeśli twoje konto ma tylko logowanie przez Apple lub Google i nie ma hasła, skorzystaj zamiast tego z metody z tokenem bearer.
Połączenie działa, ale AI nie może nic utworzyć ani zmienićTwój plan lub tryb jest tylko do odczytu, albo połączenie nie dostało scopes zapisu - połącz ponownie i zatwierdź je, albo sprawdź tryb w Ustawieniach.
Narzędzie zwraca błąd "Insufficient scope"Połączenie OAuth nie dostało tego scope. Połącz ponownie i zatwierdź uprawnienie, którego narzędzie potrzebuje.
Narzędzia w ogóle się nie pojawiająMCP nie jest włączone na twoim koncie (Ustawienia → Agenci AI) albo twój plan nie obejmuje MCP.
Mój klient pozwala wybierać tylko z listy konektorów, a nie ma na niej TellDoneTellDone nie jest jeszcze w katalogu konektorów żadnego klienta - dodaj go jako własny konektor z adresem MCP albo użyj metody z tokenem bearer.

Zobacz też