Accesso MCP (AI agents)
MCP è ora pienamente disponibile su iPhone (oltre alla web app). La schermata su iPhone rispecchia quella web e include gli stessi snippet di setup per tutti i client AI supportati.
L'accesso MCP richiede un piano Pro o Ultra. Entrambi i piani ottengono accesso completo read + write (20 strumenti). Ultra ha quote più alte e può anche passare alla modalità solo lettura.
MCP (Model Context Protocol) ti permette di collegare assistenti AI per il coding e strumenti di automazione direttamente ai tuoi dati TellDone. Una volta connesso, il tuo AI agent può leggere note, attività, eventi e report - e creare, aggiornare ed eliminare elementi. Ci sono 20 strumenti in totale: 9 per leggere i dati e 11 per scrivere.
Disponibile sia nell'app per iPhone (Impostazioni → Integrazioni → AI Agents) sia nella web app (Impostazioni → AI Agents).
Requisiti del piano
| Piano | MCP |
|---|---|
| Free | Bloccato |
| Basic | Bloccato |
| Pro | Read + Write (20 strumenti) |
| Ultra | Read + Write (20 strumenti, quote più alte) - può anche passare alla modalità Read-only |
La schermata in-app
La schermata AI Agents ha tre stati a seconda del tuo piano e del fatto che MCP sia attivato.
Bloccato (Free e Basic)
Se sei sul piano Free o Basic, la schermata spiega cosa fa MCP e mostra un pulsante Aggiorna. Toccandolo si apre il paywall dove puoi passare a Pro o Ultra.
Disattivato (Pro e Ultra, funzionalità spenta)
Se sei su Pro o Ultra ma non hai ancora attivato MCP, la schermata mostra un breve riepilogo di cosa può fare il tuo piano (numero di strumenti, modalità di accesso, quote) e un pulsante Attiva. Toccalo per generare il tuo token di connessione e avviare l'integrazione.
Attivato
Una volta attivato, la schermata mostra tutto ciò che ti serve per collegare un client AI:
- Toggle modalità - su Ultra puoi passare tra Read-only e Read + Write. Su Pro la modalità è fissa a Read + Write.
- Riga Access Token con un toggle a forma di occhio per mostrare o nascondere il token e un pulsante di copia.
- Selettore di setup con tab per Claude Code, Cursor, Windsurf e Other. Lo snippet di codice corrispondente appare sotto i tab: basta copiarlo e incollarlo nel tuo client AI.
- Pulsante Rigenera - ruota immediatamente il token e disconnette eventuali sessioni attive che usano quello vecchio.
- Pulsante Disattiva - spegne MCP ed elimina il token. Puoi riattivarlo più tardi, ma verrà emesso un nuovo token.
Tieni privato il tuo token di connessione. Chiunque abbia il token può accedere ai tuoi dati TellDone. Usa Rigenera se sospetti che il token sia trapelato.
Come attivare
Puoi configurare MCP da entrambe le piattaforme:
- iPhone: Impostazioni → Integrazioni → AI Agents (MCP)
- Web: app.telldone.app → Impostazioni → AI Agents
Passaggi:
- Tocca Attiva.
- Scegli la modalità di accesso (solo Ultra: su Pro è sempre Read + Write).
- Mostra e copia il tuo token usando le icone occhio e copia.
- Scegli il tuo strumento nella sezione Setup (Claude Code, Cursor, Windsurf o Other).
- Incolla lo snippet nella configurazione del tuo client AI.
Collegare il tuo strumento AI
I quattro tab nel selettore in-app Setup (Claude Code, Cursor, Windsurf, Other) corrispondono alle sezioni qui sotto. Sostituisci YOUR_TOKEN con il token dalle tue impostazioni in tutti gli esempi.
Claude Code
Esegui questo comando nel terminale:
claude mcp add telldone --transport http \
https://api.telldone.app/mcp/user/mcp \
--header "Authorization: Bearer YOUR_TOKEN"
Cursor
Aggiungi a .cursor/mcp.json:
{
"mcpServers": {
"telldone": {
"url": "https://api.telldone.app/mcp/user/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
Windsurf
Aggiungi a .codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"telldone": {
"serverUrl": "https://api.telldone.app/mcp/user/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
Other
Usa questi snippet per i client che il selettore in-app raggruppa sotto Other.
Codex
Aggiungi a 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
Altri client MCP
Qualsiasi strumento che supporta MCP via HTTP può connettersi. Usa l'endpoint https://api.telldone.app/mcp/user/mcp con un header di autorizzazione Bearer YOUR_TOKEN.
Se il tuo client o proxy riserva l'header Authorization (ad esempio, alcuni gateway in stile Smithery), invia il token in X-MCP-Token: YOUR_TOKEN. Funzionano entrambi gli header; se sono entrambi presenti, vince Authorization.
Testare la connessione
Puoi verificare che il token funzioni con un semplice comando 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}'
Una risposta riuscita elenca tutti gli strumenti disponibili.
Cosa puoi fare
Strumenti di lettura (9) - Pro e Ultra
| Strumento | Cosa fa |
|---|---|
| get_notes | Elenca le note con filtri (tag, intervallo di date, ricerca testuale) |
| get_note | Visualizza una singola nota con le sue attività ed eventi figli e la trascrizione completa |
| get_notes_full | Ottieni più note con attività ed eventi incorporati in una sola chiamata |
| get_tasks | Elenca le attività filtrate per stato (to-do, done, all), tag o date |
| get_events | Elenca gli eventi del calendario, filtra per intervallo di date |
| get_reports | Leggi i tuoi report giornalieri, settimanali, mensili e annuali (markdown completo) |
| get_tags | Visualizza tutti i tuoi tag ordinati per uso |
| get_profile | Vedi le info dell'account e le statistiche d'uso |
| search | Cerca tra note, attività ed eventi (ricerca testuale + semantica per le note) |
Lo strumento search supporta la ricerca semantica per le note: trova risultati per significato, non solo per parole chiave. Ad esempio, cercare "riunioni sul budget" trova note su discussioni finanziarie anche se non contengono la parola "budget".
Strumenti di scrittura (11) - Pro e Ultra
| Strumento | Cosa fa |
|---|---|
| process_note | Pipeline AI completa: invia testo o audio, ricevi una nota con attività, eventi e tag |
| create_note | Aggiungi una nota di testo semplice (nessuna analisi AI) |
| create_task | Aggiungi un'attività con priorità, scadenza, promemoria e tag |
| create_event | Aggiungi un evento del calendario con data, ora, luogo, promemoria, partecipanti e ricorrenza |
| update_note | Cambia titolo, riepilogo, tipo, tag, priorità o stato della nota |
| update_task | Cambia titolo, descrizione, priorità, scadenza, promemoria, tag o stato dell'attività |
| complete_task | Segna un'attività come fatta |
| update_event | Cambia dettagli, ora, luogo, promemoria, partecipanti, ricorrenza, tag o stato dell'evento |
| delete_note | Elimina una nota e tutte le sue attività ed eventi collegati |
| delete_task | Elimina un'attività |
| delete_event | Elimina un evento |
Tutte le operazioni di scrittura ed eliminazione appaiono istantaneamente sui tuoi dispositivi connessi (telefono, web app) tramite sincronizzazione in tempo reale.
Riferimento degli strumenti
get_notes
Elenca le note con filtraggio opzionale. I filtri di data usano recorded_at (quando hai registrato la nota vocale), non created_at.
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
limit | int | 20 | Numero di note da restituire (max 50) |
offset | int | 0 | Salta questo numero di note (per la paginazione, max 10000) |
tags | string | - | Filtra per tag, separati da virgola (corrisponde a uno qualsiasi) |
search | string | - | Ricerca testuale su titolo e riepilogo |
date_from | string | - | Data di inizio, YYYY-MM-DD (inclusiva) |
date_to | string | - | Data di fine, YYYY-MM-DD (esclusiva) |
Restituisce: elenco di note con id, title, summary, type, tags, priority, status, recorded_at, created_at.
get_note
Ottieni una singola nota con la trascrizione completa e tutte le attività ed eventi collegati.
| Parametro | Tipo | Descrizione |
|---|---|---|
note_id | string | L'UUID della nota |
Restituisce: nota con title, summary, transcript, type, tags, priority, status, metadata, created_at, più gli array tasks[] ed events[].
get_notes_full
Ottieni più note con le loro attività ed eventi in una sola chiamata. Stessi filtri di get_notes, ma ogni nota include tasks[] ed events[] incorporati.
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
limit | int | 10 | Numero di note (max 20) |
offset | int | 0 | Salta questo numero di note |
tags | string | - | Filtra per tag |
date_from | string | - | Data di inizio, YYYY-MM-DD |
date_to | string | - | Data di fine, YYYY-MM-DD |
get_tasks
Elenca le attività con filtraggio.
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
status | string | "todo" | Filtro: todo, done o all |
limit | int | 30 | Numero di attività (max 100) |
offset | int | 0 | Salta questo numero di attività |
tags | string | - | Filtra per tag, separati da virgola |
date_from | string | - | Data di inizio, YYYY-MM-DD (filtra per scadenza; le attività senza scadenza sono escluse) |
date_to | string | - | Data di fine, YYYY-MM-DD (filtra per scadenza; le attività senza scadenza sono escluse) |
Restituisce: elenco di attività con id, title, description, status, priority, tags, deadline, reminder_at, completed_at, completed_by, source, created_at.
get_events
Elenca gli eventi del calendario con filtraggio per intervallo di date.
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
limit | int | 30 | Numero di eventi (max 100) |
offset | int | 0 | Salta questo numero di eventi |
date_from | string | - | Data di inizio, YYYY-MM-DD (filtra per ora di inizio dell'evento) |
date_to | string | - | Data di fine, YYYY-MM-DD |
Restituisce: elenco di eventi con id, title, description, status, start_at, end_at, location, is_all_day, tags, created_at.
get_events non restituisce attendees, reminder_minutes o recurrence_rule. Sono scrivibili via create_event/update_event ma non inclusi nell'output dell'elenco. Se ti servono, recupera la nota padre con get_note.
get_reports
Ottieni i tuoi report generati dall'AI con il contenuto markdown completo.
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
report_type | string | "daily" | Tipo: daily, weekly, monthly o yearly |
limit | int | 5 | Numero di report (max 10) |
Restituisce: elenco di report con id, type, period_start, period_end, content_md, created_at.
I report mensili possono essere lunghi 3.000-5.000 parole. Usa limit=1 se il tuo strumento AI ha una finestra di contesto stretta.
get_tags
Ottieni tutti i tuoi tag, ordinati prima per quelli fissati, poi per conteggio d'uso.
Nessun parametro. Restituisce fino a 100 tag, ciascuno con tag, usage_count, is_pinned, is_manual.
get_profile
Ottieni le info del tuo account e le statistiche d'uso.
Nessun parametro. Restituisce email, display_name, locale, transcription_locale, timezone, subscription, mcp_mode, created_at e stats (conteggio note/attività/eventi).
search
Cerca tra note, attività ed eventi tutti insieme. Per le note supporta sia la ricerca testuale sia la ricerca semantica (trova risultati per significato usando embedding AI).
| Parametro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
query | string | obbligatorio | Testo di ricerca (max 500 caratteri) |
limit | int | 20 | Risultati massimi per tipo (max 20) |
semantic | bool | true | Attiva la ricerca semantica per le note |
Restituisce risultati raggruppati per tipo: notes[], tasks[], events[]. Ogni risultato ha id, type, title, detail, created_at.
Imposta semantic=false per una ricerca solo testuale più veloce.
process_note (Pro e Ultra)
Pipeline AI completa: funziona come la registrazione nell'app. Invia testo o audio e TellDone trascriverà, analizzerà con l'AI e creerà una nota strutturata con attività, eventi, tag ed embedding estratti.
Questo strumento è asincrono: restituisce subito un audio_id ed elabora in background. I risultati arrivano via sincronizzazione in tempo reale ai tuoi dispositivi connessi, oppure puoi fare polling con get_notes().
| Parametro | Tipo | Descrizione |
|---|---|---|
text | string | Testo da analizzare (salta la trascrizione se non viene fornito audio) |
audio_base64 | string | File audio codificato in Base64 (fino a 50 MB, attiva la trascrizione) |
audio_format | string | m4a, ogg, wav, mp3, aac o webm (default: m4a) |
parent_task_id | string | UUID di un'attività di cui questo è un follow-up |
parent_note_id | string | UUID di una nota di cui questo è un follow-up |
parent_event_id | string | UUID di un evento di cui questo è un follow-up |
Devi fornire o text o audio_base64 (o entrambi: l'audio ha la priorità per la trascrizione).
Restituisce: {"audio_id": "...", "status": "processing", "mode": "text-only"} oppure "mode": "audio+stt" se è stato fornito audio.
process_note è soggetto alle quote del tuo piano (upload al giorno, note al mese, lunghezza massima del testo). Usa get_profile per controllare l'utilizzo attuale.
create_note (Pro e Ultra)
Crea una nota di testo semplice all'istante. Non attiva l'analisi AI: nessuna attività o evento viene estratto. Per l'analisi AI completa con estrazione di attività/eventi, usa invece process_note.
| Parametro | Tipo | Limite | Descrizione |
|---|---|---|---|
title | string | 200 caratteri | Obbligatorio |
summary | string | 1000 caratteri | Opzionale. Breve teaser (1-3 frasi). Incluso nei prompt dei report, quindi tienilo conciso |
transcript | string | per piano | Opzionale. Corpo lungo mostrato nel dettaglio della nota. Non incluso nei report. Limiti: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000 caratteri |
type | string | - | Opzionale. task, idea, info (default), status, meeting, event o reflection |
tags | string | 20 tag | Separati da virgola, opzionale |
create_task (Pro e Ultra)
Crea una nuova attività.
| Parametro | Tipo | Limite | Descrizione |
|---|---|---|---|
title | string | 200 caratteri | Obbligatorio |
description | string | 2000 caratteri | Opzionale |
priority | string | - | low, medium (default) o high |
deadline | string | - | YYYY-MM-DD, opzionale |
reminder_at | string | - | Datetime ISO 8601 (es. 2026-04-15T09:00:00Z), opzionale |
tags | string | 20 tag | Separati da virgola, opzionale |
note_id | string | - | UUID per collegare l'attività a una nota padre, opzionale |
create_event (Pro e Ultra)
Crea un evento del calendario.
| Parametro | Tipo | Limite | Descrizione |
|---|---|---|---|
title | string | 200 caratteri | Obbligatorio |
start_at | string | - | Datetime ISO 8601, obbligatorio |
end_at | string | - | Datetime ISO 8601 (default: inizio + 1 ora) |
description | string | 2000 caratteri | Opzionale |
location | string | 200 caratteri | Opzionale |
is_all_day | bool | - | Default: false |
tags | string | 20 tag | Separati da virgola, opzionale |
reminder_minutes | string | - | Minuti prima dell'evento separati da virgola (es. 15,60), opzionale |
attendees | string | - | Nomi o email separati da virgola, opzionale |
recurrence_rule | string | - | Stringa RRULE (es. FREQ=WEEKLY;BYDAY=MO,WE,FR), opzionale |
note_id | string | - | UUID per collegare l'evento a una nota padre, opzionale |
update_note (Pro e Ultra)
Aggiorna uno o più campi di una nota esistente. Vengono cambiati solo i campi che fornisci.
| Parametro | Tipo | Descrizione |
|---|---|---|
note_id | string | Obbligatorio, l'UUID della nota |
title | string | Nuovo titolo (max 200 caratteri) |
summary | string | Nuovo riepilogo (max 1000 caratteri, passa uno spazio " " per cancellare) |
transcript | string | Nuova trascrizione (limite per piano, passa uno spazio " " per cancellare) |
type | string | task, idea, info, status, meeting, event o reflection |
tags | string | Tag separati da virgola (sostituisce tutti i tag esistenti, max 20) |
priority | string | low, medium o high |
status | string | active o archived |
Per le note create dalla pipeline vocale, transcript è l'output originale di speech-to-text. Sovrascriverlo sostituisce la fonte canonica: se vuoi preservare l'originale, è meglio aggiungere il testo in coda invece di sostituirlo.
update_task (Pro e Ultra)
Aggiorna uno o più campi di un'attività esistente. Vengono cambiati solo i campi che fornisci.
| Parametro | Tipo | Descrizione |
|---|---|---|
task_id | string | Obbligatorio, l'UUID dell'attività |
title | string | Nuovo titolo |
description | string | Nuova descrizione (passa uno spazio " " per cancellare) |
priority | string | low, medium o high |
deadline | string | YYYY-MM-DD (passa uno spazio per cancellare) |
status | string | todo o done |
tags | string | Tag separati da virgola (sostituisce tutti i tag esistenti, max 20) |
reminder_at | string | Datetime ISO 8601 (passa uno spazio per cancellare) |
Impostando status a done viene anche registrato quando e come l'attività è stata completata.
complete_task (Pro e Ultra)
Scorciatoia per segnare un'attività come fatta.
| Parametro | Tipo | Descrizione |
|---|---|---|
task_id | string | Obbligatorio, l'UUID dell'attività |
Restituisce un errore se l'attività non esiste o è già completata.
update_event (Pro e Ultra)
Aggiorna uno o più campi di un evento esistente. Vengono cambiati solo i campi che fornisci.
| Parametro | Tipo | Descrizione |
|---|---|---|
event_id | string | Obbligatorio, l'UUID dell'evento |
title | string | Nuovo titolo |
description | string | Nuova descrizione (passa uno spazio per cancellare) |
start_at | string | Nuova ora di inizio (ISO 8601) |
end_at | string | Nuova ora di fine (ISO 8601) |
location | string | Nuovo luogo (passa uno spazio per cancellare) |
status | string | confirmed, tentative o cancelled |
tags | string | Tag separati da virgola (sostituisce tutti i tag esistenti, max 20) |
is_all_day | string | "true" o "false" |
reminder_minutes | string | Minuti prima dell'evento separati da virgola (es. 15,60) |
attendees | string | Nomi o email separati da virgola |
recurrence_rule | string | Stringa RRULE (passa uno spazio per cancellare) |
delete_note (Pro e Ultra)
Elimina una nota. Questo elimina anche tutte le attività ed eventi creati da questa nota.
| Parametro | Tipo | Descrizione |
|---|---|---|
note_id | string | Obbligatorio, l'UUID della nota |
delete_task (Pro e Ultra)
Elimina un'attività.
| Parametro | Tipo | Descrizione |
|---|---|---|
task_id | string | Obbligatorio, l'UUID dell'attività |
delete_event (Pro e Ultra)
Elimina un evento.
| Parametro | Tipo | Descrizione |
|---|---|---|
event_id | string | Obbligatorio, l'UUID dell'evento |
Limiti di input
| Campo | Lunghezza massima | Usato in |
|---|---|---|
| title | 200 caratteri | create/update note, attività, evento |
| description | 2.000 caratteri | create/update attività, evento |
| summary | 1.000 caratteri (hard) | create/update note. Incluso nei prompt dei report, tenuto corto per controllare il costo dei token |
| transcript | per piano: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000 | create/update note. Corpo lungo, non nei report |
| location | 200 caratteri | create/update evento |
| tags | 20 tag | create/update note, attività, evento |
| query di ricerca | 500 caratteri | search |
| audio_base64 (decodificato) | 50 MB | process_note |
Se superi un limite, lo strumento restituisce un messaggio di errore tipo "title too long (max 200 chars, got 250)".
Gestione degli errori
Tutti gli strumenti restituiscono JSON. Gli errori usano questo formato:
{"error": "description of what went wrong"}
Errori comuni:
| Errore | Quando |
|---|---|
"MCP access is read-only..." | Strumento di scrittura chiamato in modalità read-only |
"Invalid note_id format" | Stringa non UUID passata come ID |
"Note not found" | L'ID non esiste o appartiene a un altro utente |
"Task not found or already completed" | complete_task su attività inesistente o già fatta |
"title too long (max 200 chars, got N)" | Limite di input superato |
"Too many tags (max 20)" | Più di 20 tag forniti |
Errori a livello HTTP:
| Codice | Significato |
|---|---|
| 401 | Bearer token non valido o mancante |
| 403 | MCP disattivato o piano che non consente MCP |
| 429 | Limite di velocità superato (5 req/s) |
Esempi d'uso
Tutti gli esempi usano cURL con il protocollo MCP JSON-RPC. Sostituisci YOUR_TOKEN con il tuo token di connessione.
Lettura dei dati
# 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}}}'
Scrittura dei dati (Pro e 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>"}}}'
Una risposta riuscita appare così:
{
"jsonrpc": "2.0",
"id": 10,
"result": {
"content": [{"type": "text", "text": "{\"id\":\"...\",\"title\":\"Review PR\",\"status\":\"todo\"}"}]
}
}
Gli strumenti di scrittura e aggiornamento restituiscono risposte minime con solo id, title e status. Per ottenere i dettagli completi (tag, priorità, scadenza, ecc.) dopo una scrittura, fai una chiamata di lettura di follow-up come get_tasks o get_note.
Gestione del token
| Azione | Come |
|---|---|
| Visualizza il token | iPhone Impostazioni → Integrazioni → AI Agents (o Web Impostazioni → AI Agents), tocca l'icona dell'occhio |
| Copia il token | Tocca l'icona di copia accanto al token |
| Rigenera | Tocca Rigenera e conferma. Il vecchio token smette di funzionare immediatamente e tutte le sessioni attive si disconnettono |
| Cambia modalità | Solo Ultra: passa tra Read-only e Read + Write. Su Pro la modalità è fissa a Read + Write |
| Disattiva | Tocca Disattiva e conferma. Il token viene eliminato e tutte le connessioni si fermano. Puoi riattivare più tardi (verrà emesso un nuovo token) |
Cosa puoi chiedere al tuo AI agent
Una volta connesso, chiedi al tuo strumento AI cose come:
Rivedi la tua giornata:
- "Su cosa ho lavorato oggi?"
- "Mostrami le mie note di questa settimana"
- "Quali attività sono in ritardo?"
Gestisci le attività:
- "Crea un'attività: rivedere il report trimestrale, alta priorità, scadenza venerdì"
- "Segna l'attività Figma come fatta"
- "Su quali attività sto lavorando?"
Cerca e analizza:
- "Trova tutte le note sulla strategia di marketing"
- "Quali eventi ho la prossima settimana?"
- "Riepiloga i miei report giornalieri della scorsa settimana"
Pianifica avanti:
- "Crea un evento: standup del team domani alle 10"
- "Cosa ho in calendario questa settimana?"
- "Mostrami i miei top tag: a cosa dedico più tempo?"
L'AI agent ha pieno accesso a note, attività, eventi e report. Può leggere, creare, aggiornare ed eliminare dati e rispondere a domande complesse combinando informazioni da più strumenti.
Note importanti
- Due modi per creare note -
create_notecrea una nota di testo semplice all'istante (nessuna analisi AI).process_noteesegue la pipeline AI completa (come la registrazione nell'app): analizza il testo, estrae attività ed eventi, genera tag ed embedding. Usaprocess_notequando vuoi che TellDone faccia il lavoro per te. - Niente sincronizzazione integrazioni - elementi creati o aggiornati via MCP non attivano automazioni webhook o sincronizzazioni di integrazione (Todoist, Notion). Appariranno nelle tue app alla prossima sincronizzazione.
- La ricerca semantica dipende dallo strumento - le note create con
process_noteottengono embedding e appaiono nella ricerca semantica. Le note create concreate_notenon ottengono embedding, quindi appaiono solo nella ricerca testuale. - Le risposte di scrittura sono minime - gli strumenti di create e update restituiscono solo
id,titleestatus. Per ottenere tutti i campi dopo una scrittura, fai una chiamata di lettura di follow-up. - I filtri di data usano UTC - i parametri
date_from/date_tosono confrontati come timestamp UTC. Per utenti in fusi orari diversi da UTC, le date di confine possono includere o escludere elementi dei giorni adiacenti. - Rate limit - 5 richieste al secondo. Per operazioni in massa, distribuisci le richieste.
Sicurezza
- Ogni utente riceve un token di connessione univoco a 384 bit
- Il tuo token viene revocato istantaneamente quando disattivi MCP o lo rigeneri
- Tutti i dati sono rigorosamente isolati al tuo account: il tuo agent può accedere solo ai tuoi dati
- Ogni richiesta è scoped al tuo utente: non c'è modo per un agent di accedere ai dati di un altro utente
- La connessione usa HTTPS con rate limiting (5 req/s)
Vedi anche
- Automazioni webhook - invia automaticamente i dati a servizi esterni
- Todoist - sincronizzazione bidirezionale dedicata delle attività
- Notion - integrazione Notion dedicata