Dostęp MCP (agenci AI)
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.
Dostęp MCP wymaga planu Pro lub Ultra. Oba plany dostają pełny dostęp read + write (20 narzędzi). Ultra ma wyższe limity i może też przełączyć się na tryb tylko do odczytu.
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 i raporty - oraz tworzyć, aktualizować i usuwać elementy. Łącznie jest 20 narzędzi: 9 do odczytu danych i 11 do zapisu.
Dostępne zarówno w aplikacji iPhone (Ustawienia → Integracje → Agenci AI), jak i w aplikacji webowej (Ustawienia → AI Agents).
Wymagania planów
| Plan | MCP |
|---|---|
| Free | Zablokowane |
| Basic | Zablokowane |
| Pro | Read + Write (20 narzędzi) |
| Ultra | Read + Write (20 narzędzi, wyższe limity) - można też 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.
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:
- Naciśnij Włącz.
- Wybierz tryb dostępu (tylko Ultra - Pro zawsze ma Read + Write).
- Pokaż i skopiuj token za pomocą ikon oka i kopiowania.
- Wybierz narzędzie w sekcji Setup (Claude Code, Cursor, Windsurf lub Inne).
- Wklej snippet do konfiguracji klienta AI.
Podłączanie narzędzia AI
Cztery zakładki w selektorze Setup w aplikacji (Claude Code, Cursor, Windsurf, Inne) odpowiadają sekcjom poniżej. Zastąp YOUR_TOKEN tokenem ze swoich ustawień we wszystkich przykładach.
Claude Code
Uruchom to polecenie w terminalu:
claude mcp add telldone --transport http \
https://api.telldone.app/mcp/user/mcp \
--header "Authorization: Bearer YOUR_TOKEN"
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.
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.
Co możesz robić
Narzędzia odczytu (9) - Pro i Ultra
| Narzędzie | Co robi |
|---|---|
| get_notes | Lista notatek z filtrami (tagi, zakres dat, wyszukiwanie tekstu) |
| get_note | Pojedyncza notatka z podrzędnymi zadaniami, wydarzeniami i pełnym transkryptem |
| get_notes_full | Wiele notatek z osadzonymi zadaniami i wydarzeniami w jednym wywołaniu |
| get_tasks | Lista zadań filtrowana według statusu (to-do, done, all), tagów lub dat |
| get_events | Lista wydarzeń kalendarzowych, filtruj po zakresie dat |
| get_reports | Czytaj raporty dzienne, tygodniowe, miesięczne i roczne (pełny markdown) |
| get_tags | Zobacz wszystkie tagi posortowane według użycia |
| get_profile | Zobacz dane konta i statystyki użycia |
| search | Wyszukuj w notatkach, zadaniach i wydarzeniach (tekstowe + semantyczne dla notatek) |
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 (11) - Pro i Ultra
| Narzędzie | Co robi |
|---|---|
| process_note | Pełny pipeline AI - wyślij tekst lub audio, otrzymaj notatkę z zadaniami, wydarzeniami i tagami |
| create_note | Dodaj zwykłą notatkę tekstową (bez analizy AI) |
| create_task | Dodaj zadanie z priorytetem, terminem, przypomnieniem i tagami |
| create_event | Dodaj wydarzenie kalendarzowe z datą, godziną, lokalizacją, przypomnieniami, uczestnikami i powtarzaniem |
| update_note | Zmień tytuł, podsumowanie, typ, tagi, priorytet lub status notatki |
| update_task | Zmień tytuł, opis, priorytet, termin, przypomnienie, tagi lub status zadania |
| complete_task | Oznacz zadanie jako zrobione |
| update_event | Zmień szczegóły wydarzenia, czas, lokalizację, przypomnienia, uczestników, powtarzanie, tagi lub status |
| delete_note | Usuń notatkę i wszystkie powiązane zadania i wydarzenia |
| delete_task | Usuń zadanie |
| delete_event | Usuń wydarzenie |
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.
| Parametr | Typ | Domyślnie | Opis |
|---|---|---|---|
limit | int | 20 | Liczba notatek do zwrócenia (max 50) |
offset | int | 0 | Pomiń tyle notatek (do paginacji, max 10000) |
tags | string | - | Filtruj po tagach, rozdzielone przecinkami (dopasowuje dowolny) |
search | string | - | Wyszukiwanie tekstu w tytule i podsumowaniu |
date_from | string | - | Data początkowa, YYYY-MM-DD (włącznie) |
date_to | string | - | Data końcowa, YYYY-MM-DD (wyłącznie) |
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.
| Parametr | Typ | Opis |
|---|---|---|
note_id | string | UUID notatki |
Zwraca: notatkę z title, summary, transcript, type, tags, priority, status, metadata, created_at, plus tablicami tasks[] i events[].
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[].
| Parametr | Typ | Domyślnie | Opis |
|---|---|---|---|
limit | int | 10 | Liczba notatek (max 20) |
offset | int | 0 | Pomiń tyle notatek |
tags | string | - | Filtruj po tagach |
date_from | string | - | Data początkowa, YYYY-MM-DD |
date_to | string | - | Data końcowa, YYYY-MM-DD |
get_tasks
Lista zadań z filtrowaniem.
| Parametr | Typ | Domyślnie | Opis |
|---|---|---|---|
status | string | "todo" | Filtr: todo, done lub all |
limit | int | 30 | Liczba zadań (max 100) |
offset | int | 0 | Pomiń tyle zadań |
tags | string | - | Filtruj po tagach, rozdzielone przecinkami |
date_from | string | - | Data początkowa, YYYY-MM-DD - filtruje po terminie (deadline); zadania bez terminu są wykluczone |
date_to | string | - | 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, completed_at, completed_by, source, created_at.
get_events
Lista wydarzeń kalendarzowych z filtrem zakresu dat.
| Parametr | Typ | Domyślnie | Opis |
|---|---|---|---|
limit | int | 30 | Liczba wydarzeń (max 100) |
offset | int | 0 | Pomiń tyle wydarzeń |
date_from | string | - | Data początkowa, YYYY-MM-DD (filtruje po czasie startu wydarzenia) |
date_to | string | - | Data końcowa, YYYY-MM-DD |
Zwraca: listę wydarzeń z id, title, description, status, start_at, end_at, location, is_all_day, tags, created_at.
get_events nie zwraca attendees, reminder_minutes ani recurrence_rule. Można je zapisywać przez create_event/update_event, ale nie są dołączane do wyjścia listy. Jeśli ich potrzebujesz, pobierz nadrzędną notatkę przez get_note.
get_reports
Pobierz wygenerowane przez AI raporty z pełną treścią markdown.
| Parametr | Typ | Domyślnie | Opis |
|---|---|---|---|
report_type | string | "daily" | Typ: daily, weekly, monthly lub yearly |
limit | int | 5 | Liczba raportów (max 10) |
Zwraca: listę raportów z id, type, period_start, period_end, content_md, created_at.
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ń).
search
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).
| Parametr | Typ | Domyślnie | Opis |
|---|---|---|---|
query | string | wymagane | Tekst wyszukiwania (max 500 znaków) |
limit | int | 20 | Maks. wyników na typ (max 20) |
semantic | bool | true | Włą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.
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().
| Parametr | Typ | Opis |
|---|---|---|
text | string | Tekst do analizy (pomija transkrypcję, jeśli nie ma audio) |
audio_base64 | string | Plik audio zakodowany base64 (do 50MB, wyzwala transkrypcję) |
audio_format | string | m4a, ogg, wav, mp3, aac lub webm (domyślnie: m4a) |
parent_task_id | string | UUID zadania, do którego to jest uzupełnienie |
parent_note_id | string | UUID notatki, do której to jest uzupełnienie |
parent_event_id | string | UUID 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.
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.
| Parametr | Typ | Limit | Opis |
|---|---|---|---|
title | string | 200 znaków | Wymagane |
summary | string | 1000 znaków | Opcjonalne. Krótka zapowiedź (1-3 zdania). Trafia do promptów raportów, więc trzymaj zwięźle |
transcript | string | zależy od planu | Opcjonalne. 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 |
type | string | - | Opcjonalne. task, idea, info (domyślnie), status, meeting, event lub reflection |
tags | string | 20 tagów | Rozdzielone przecinkami, opcjonalne |
create_task (Pro i Ultra)
Utwórz nowe zadanie.
| Parametr | Typ | Limit | Opis |
|---|---|---|---|
title | string | 200 znaków | Wymagane |
description | string | 2000 znaków | Opcjonalne |
priority | string | - | low, medium (domyślnie) lub high |
deadline | string | - | YYYY-MM-DD, opcjonalne |
reminder_at | string | - | Datetime ISO 8601 (np. 2026-04-15T09:00:00Z), opcjonalne |
tags | string | 20 tagów | Rozdzielone przecinkami, opcjonalne |
note_id | string | - | UUID, by powiązać zadanie z nadrzędną notatką, opcjonalne |
create_event (Pro i Ultra)
Utwórz wydarzenie kalendarzowe.
| Parametr | Typ | Limit | Opis |
|---|---|---|---|
title | string | 200 znaków | Wymagane |
start_at | string | - | Datetime ISO 8601, wymagane |
end_at | string | - | Datetime ISO 8601 (domyślnie: start + 1 godzina) |
description | string | 2000 znaków | Opcjonalne |
location | string | 200 znaków | Opcjonalne |
is_all_day | bool | - | Domyślnie: false |
tags | string | 20 tagów | Rozdzielone przecinkami, opcjonalne |
reminder_minutes | string | - | Minuty przed wydarzeniem rozdzielone przecinkami (np. 15,60), opcjonalne |
attendees | string | - | Imiona lub e-maile rozdzielone przecinkami, opcjonalne |
recurrence_rule | string | - | Ciąg RRULE (np. FREQ=WEEKLY;BYDAY=MO,WE,FR), opcjonalne |
note_id | string | - | 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.
| Parametr | Typ | Opis |
|---|---|---|
note_id | string | Wymagane, UUID notatki |
title | string | Nowy tytuł (max 200 znaków) |
summary | string | Nowe podsumowanie (max 1000 znaków, podaj spację " ", by wyczyścić) |
transcript | string | Nowy transkrypt (limit zależny od planu, podaj spację " ", by wyczyścić) |
type | string | task, idea, info, status, meeting, event lub reflection |
tags | string | Tagi rozdzielone przecinkami (zastępują wszystkie istniejące, max 20) |
priority | string | low, medium lub high |
status | string | active lub archived |
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.
| Parametr | Typ | Opis |
|---|---|---|
task_id | string | Wymagane, UUID zadania |
title | string | Nowy tytuł |
description | string | Nowy opis (podaj spację " ", by wyczyścić) |
priority | string | low, medium lub high |
deadline | string | YYYY-MM-DD (podaj spację, by wyczyścić) |
status | string | todo lub done |
tags | string | Tagi rozdzielone przecinkami (zastępują wszystkie istniejące, max 20) |
reminder_at | string | Datetime 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.
| Parametr | Typ | Opis |
|---|---|---|
task_id | string | Wymagane, 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.
| Parametr | Typ | Opis |
|---|---|---|
event_id | string | Wymagane, UUID wydarzenia |
title | string | Nowy tytuł |
description | string | Nowy opis (podaj spację, by wyczyścić) |
start_at | string | Nowy czas początku (ISO 8601) |
end_at | string | Nowy czas końca (ISO 8601) |
location | string | Nowa lokalizacja (podaj spację, by wyczyścić) |
status | string | confirmed, tentative lub cancelled |
tags | string | Tagi rozdzielone przecinkami (zastępują wszystkie istniejące, max 20) |
is_all_day | string | "true" lub "false" |
reminder_minutes | string | Minuty przed wydarzeniem rozdzielone przecinkami (np. 15,60) |
attendees | string | Imiona lub e-maile rozdzielone przecinkami |
recurrence_rule | string | Ciąg RRULE (podaj spację, by wyczyścić) |
delete_note (Pro i Ultra)
Usuń notatkę. Usuwa też wszystkie zadania i wydarzenia utworzone z tej notatki.
| Parametr | Typ | Opis |
|---|---|---|
note_id | string | Wymagane, UUID notatki |
delete_task (Pro i Ultra)
Usuń zadanie.
| Parametr | Typ | Opis |
|---|---|---|
task_id | string | Wymagane, UUID zadania |
delete_event (Pro i Ultra)
Usuń wydarzenie.
| Parametr | Typ | Opis |
|---|---|---|
event_id | string | Wymagane, UUID wydarzenia |
Limity wejścia
| Pole | Maks. długość | Używane w |
|---|---|---|
| title | 200 znaków | create/update notatki, zadania, wydarzenia |
| description | 2 000 znaków | create/update zadania, wydarzenia |
| summary | 1 000 znaków (twardy) | create/update notatki. Trafia do promptów raportów, krótkie z uwagi na koszt tokenów |
| transcript | zależnie od planu: Free 2 000 / Basic 8 000 / Pro 20 000 / Ultra 50 000 | create/update notatki. Długi tekst, nie w raportach |
| location | 200 znaków | create/update wydarzenia |
| tags | 20 tagów | create/update notatki, zadania, wydarzenia |
| zapytanie wyszukiwania | 500 znaków | search |
| audio_base64 (po dekodowaniu) | 50 MB | process_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łąd | Kiedy |
|---|---|
"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:
| Kod | Znaczenie |
|---|---|
| 401 | Nieprawidłowy lub brak tokena Bearer |
| 403 | MCP wyłączone albo plan nie pozwala na MCP |
| 429 | Przekroczono limit (5 req/s) |
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\"}"}]
}
}
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
| Akcja | Jak |
|---|---|
| Pokaż token | iPhone Ustawienia → Integracje → Agenci AI (lub web Ustawienia → AI Agents), naciśnij ikonę oka |
| Skopiuj token | Naciśnij ikonę kopiowania obok tokena |
| Wygeneruj ponownie | Naciśnij Wygeneruj ponownie i potwierdź. Stary token przestaje działać natychmiast, a aktywne sesje zostają rozłączone |
| Zmień tryb | Tylko Ultra - przełączaj między Read-only a Read + Write. Na Pro tryb jest stale ustawiony na Read + Write |
| Wyłącz | Naciś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_notetworzy zwykłą notatkę tekstową natychmiast (bez analizy AI).process_noteuruchamia pełny pipeline AI (taki sam jak nagrywanie w aplikacji) - analizuje tekst, wyodrębnia zadania i wydarzenia, generuje tagi i embeddingi. Użyjprocess_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_notedostają embeddingi i pojawiają się w wyszukiwaniu semantycznym. Notatki utworzone przezcreate_notenie dostają embeddingów, więc pojawiają się tylko w wyszukiwaniu tekstowym. - Odpowiedzi zapisu są minimalne - narzędzia create i update zwracają tylko
id,titleistatus. Aby uzyskać wszystkie pola po zapisie, wykonaj kolejne wywołanie odczytu. - Filtry dat używają UTC - parametry
date_from/date_tosą 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ę. 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)
Zobacz też
- Automatyzacje webhookami - automatyczne wysyłanie danych do usług zewnętrznych
- Todoist - dedykowana dwukierunkowa synchronizacja zadań
- Notion - dedykowana integracja Notion