Acceso MCP (agentes de IA)
MCP ya está totalmente disponible en iPhone (además de la app web). La pantalla del iPhone refleja la de la web e incluye los mismos snippets de configuración para todos los clientes de IA compatibles.
El acceso MCP requiere un plan Pro o Ultra. Ambos planes tienen acceso completo de lectura + escritura (20 herramientas). Ultra tiene cuotas más altas y además puede cambiar al modo de solo lectura.
MCP (Model Context Protocol) te permite conectar asistentes de IA y herramientas de automatización directamente a tus datos de TellDone. Una vez conectado, tu agente de IA puede leer tus notas, tareas, eventos e informes, y crear, actualizar y eliminar elementos. Hay 20 herramientas en total: 9 para lectura y 11 para escritura.
Disponible tanto en la app de iPhone (Ajustes → Integrations → AI Agents) como en la app web (Ajustes → AI Agents).
Requisitos de plan
| Plan | MCP |
|---|---|
| Free | Bloqueado |
| Basic | Bloqueado |
| Pro | Lectura + escritura (20 herramientas) |
| Ultra | Lectura + escritura (20 herramientas, cuotas más altas) - también puede pasar al modo solo lectura |
La pantalla en la app
La pantalla AI Agents tiene tres estados según tu plan y si MCP está activado.
Bloqueado (Free y Basic)
Si estás en el plan Free o Basic, la pantalla explica qué hace MCP y muestra un botón Upgrade. Al pulsarlo se abre el paywall donde puedes pasar a Pro o Ultra.
Desactivado (Pro y Ultra, función apagada)
Si estás en Pro o Ultra pero aún no has activado MCP, la pantalla muestra un resumen breve de lo que tu plan permite (número de herramientas, modo de acceso, cuotas) y un botón Enable. Púlsalo para generar tu token de conexión y empezar la integración.
Activado
Una vez activado, la pantalla muestra todo lo necesario para conectar un cliente de IA:
- Selector de modo: en Ultra puedes alternar entre Solo lectura y Lectura + escritura. En Pro el modo es fijo en Lectura + escritura.
- Fila de Access Token con un botón de ojo para mostrar u ocultar el token y un botón para copiarlo.
- Selector de configuración con pestañas para Claude Code, Cursor, Windsurf y Other. El snippet correspondiente aparece bajo las pestañas, listo para copiar y pegar en tu cliente de IA.
- Botón Regenerate: rota el token al instante y desconecta cualquier sesión activa que lo estuviera usando.
- Botón Disable: apaga MCP y elimina el token. Puedes reactivarlo más tarde, pero se emitirá un token nuevo.
Mantén tu token de conexión en privado. Cualquiera que lo tenga puede acceder a tus datos de TellDone. Usa Regenerate si sospechas que el token se ha filtrado.
Cómo activar
Puedes configurar MCP desde cualquier plataforma:
- iPhone: Ajustes → Integrations → AI Agents (MCP)
- Web: app.telldone.app → Ajustes → AI Agents
Pasos:
- Pulsa Enable.
- Elige tu modo de acceso (solo en Ultra; en Pro siempre es Lectura + escritura).
- Muestra y copia tu token con los iconos de ojo y copiar.
- Elige tu herramienta en la sección Setup (Claude Code, Cursor, Windsurf u Other).
- Pega el snippet en la configuración de tu cliente de IA.
Conectar tu herramienta de IA
Las cuatro pestañas del selector Setup dentro de la app (Claude Code, Cursor, Windsurf, Other) coinciden con las secciones de abajo. Sustituye YOUR_TOKEN por el token de tus ajustes en todos los ejemplos.
Claude Code
Ejecuta este comando en tu terminal:
claude mcp add telldone --transport http \
https://api.telldone.app/mcp/user/mcp \
--header "Authorization: Bearer YOUR_TOKEN"
Cursor
Añade a .cursor/mcp.json:
{
"mcpServers": {
"telldone": {
"url": "https://api.telldone.app/mcp/user/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
Windsurf
Añade a .codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"telldone": {
"serverUrl": "https://api.telldone.app/mcp/user/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
Other
Usa estos snippets para los clientes que el selector dentro de la app agrupa bajo Other.
Codex
Añade 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
Otros clientes MCP
Cualquier herramienta que admita MCP sobre HTTP puede conectarse. Usa el endpoint https://api.telldone.app/mcp/user/mcp con un encabezado de autorización Bearer YOUR_TOKEN.
Si tu cliente o proxy reserva el encabezado Authorization (por ejemplo, algunas pasarelas tipo Smithery), envía el token en X-MCP-Token: YOUR_TOKEN en su lugar. Ambos encabezados funcionan; si ambos están presentes, gana Authorization.
Probar tu conexión
Puedes verificar que tu token funciona con un 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 respuesta exitosa lista todas las herramientas disponibles.
Qué puedes hacer
Herramientas de lectura (9): Pro y Ultra
| Herramienta | Qué hace |
|---|---|
| get_notes | Listar notas con filtros (etiquetas, rango de fechas, búsqueda de texto) |
| get_note | Ver una nota individual con sus tareas, eventos y transcripción completa |
| get_notes_full | Obtener varias notas con tareas y eventos incluidos en una sola llamada |
| get_tasks | Listar tareas filtradas por estado (pendientes, completadas, todas), etiquetas o fechas |
| get_events | Listar eventos del calendario, filtrar por rango de fechas |
| get_reports | Leer informes diarios, semanales, mensuales y anuales (markdown completo) |
| get_tags | Ver todas tus etiquetas ordenadas por uso |
| get_profile | Ver información de tu cuenta y estadísticas de uso |
| search | Buscar en notas, tareas y eventos (texto + búsqueda semántica para notas) |
La herramienta search admite búsqueda semántica para notas: encuentra resultados por significado, no solo por palabras clave. Por ejemplo, buscar "reuniones sobre presupuesto" encontrará notas sobre discusiones financieras aunque no contengan la palabra "presupuesto".
Herramientas de escritura (11): Pro y Ultra
| Herramienta | Qué hace |
|---|---|
| process_note | Análisis completo con IA: envía texto o audio y obtienes una nota con tareas, eventos y etiquetas |
| create_note | Añadir una nota de texto plano (sin análisis de IA) |
| create_task | Añadir una tarea con prioridad, fecha límite, recordatorio y etiquetas |
| create_event | Añadir un evento de calendario con fecha, hora, ubicación, recordatorios, asistentes y recurrencia |
| update_note | Cambiar título, resumen, tipo, etiquetas, prioridad o estado de una nota |
| update_task | Cambiar título, descripción, prioridad, fecha límite, recordatorio, etiquetas o estado de una tarea |
| complete_task | Marcar una tarea como completada |
| update_event | Cambiar detalles, hora, ubicación, recordatorios, asistentes, recurrencia, etiquetas o estado de un evento |
| delete_note | Eliminar una nota y todas sus tareas y eventos vinculados |
| delete_task | Eliminar una tarea |
| delete_event | Eliminar un evento |
Todas las operaciones de escritura y eliminación aparecen al instante en tus dispositivos conectados (teléfono, app web) por sincronización en tiempo real.
Referencia de herramientas
get_notes
Lista notas con filtrado opcional. Los filtros de fecha usan recorded_at (cuando grabaste la nota de voz), no created_at.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
limit | int | 20 | Número de notas a devolver (máx. 50) |
offset | int | 0 | Omitir este número de notas (para paginación, máx. 10000) |
tags | string | - | Filtrar por etiquetas, separadas por comas (coincide con cualquiera) |
search | string | - | Búsqueda de texto en título y resumen |
date_from | string | - | Fecha de inicio, YYYY-MM-DD (inclusiva) |
date_to | string | - | Fecha de fin, YYYY-MM-DD (exclusiva) |
Devuelve: lista de notas con id, title, summary, type, tags, priority, status, recorded_at, created_at.
get_note
Obtiene una nota individual con su transcripción completa y todas las tareas y eventos vinculados.
| Parámetro | Tipo | Descripción |
|---|---|---|
note_id | string | El UUID de la nota |
Devuelve: nota con title, summary, transcript, type, tags, priority, status, metadata, created_at, más los arrays tasks[] y events[].
get_notes_full
Obtiene varias notas con sus tareas y eventos en una sola llamada. Mismos filtros que get_notes, pero cada nota incluye tasks[] y events[] incorporados.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
limit | int | 10 | Número de notas (máx. 20) |
offset | int | 0 | Omitir este número de notas |
tags | string | - | Filtrar por etiquetas |
date_from | string | - | Fecha de inicio, YYYY-MM-DD |
date_to | string | - | Fecha de fin, YYYY-MM-DD |
get_tasks
Lista tareas con filtrado.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
status | string | "todo" | Filtro: todo, done o all |
limit | int | 30 | Número de tareas (máx. 100) |
offset | int | 0 | Omitir este número de tareas |
tags | string | - | Filtrar por etiquetas, separadas por comas |
date_from | string | - | Fecha de inicio, YYYY-MM-DD (filtra por fecha límite; las tareas sin fecha límite se excluyen) |
date_to | string | - | Fecha de fin, YYYY-MM-DD (filtra por fecha límite; las tareas sin fecha límite se excluyen) |
Devuelve: lista de tareas con id, title, description, status, priority, tags, deadline, reminder_at, completed_at, completed_by, source, created_at.
get_events
Lista eventos del calendario con filtrado por rango de fechas.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
limit | int | 30 | Número de eventos (máx. 100) |
offset | int | 0 | Omitir este número de eventos |
date_from | string | - | Fecha de inicio, YYYY-MM-DD (filtra por hora de inicio del evento) |
date_to | string | - | Fecha de fin, YYYY-MM-DD |
Devuelve: lista de eventos con id, title, description, status, start_at, end_at, location, is_all_day, tags, created_at.
get_events no devuelve attendees, reminder_minutes ni recurrence_rule. Estos campos se pueden escribir con create_event/update_event pero no se incluyen en la salida de la lista. Si los necesitas, consulta la nota padre con get_note.
get_reports
Obtiene tus informes generados por IA con contenido completo en markdown.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
report_type | string | "daily" | Tipo: daily, weekly, monthly o yearly |
limit | int | 5 | Número de informes (máx. 10) |
Devuelve: lista de informes con id, type, period_start, period_end, content_md, created_at.
Los informes mensuales pueden tener entre 3.000 y 5.000 palabras. Usa limit=1 si tu herramienta de IA tiene una ventana de contexto limitada.
get_tags
Obtiene todas tus etiquetas, ordenadas primero las fijadas, luego por cantidad de uso.
Sin parámetros. Devuelve hasta 100 etiquetas, cada una con tag, usage_count, is_pinned, is_manual.
get_profile
Obtiene la información de tu cuenta y estadísticas de uso.
Sin parámetros. Devuelve email, display_name, locale, transcription_locale, timezone, subscription, mcp_mode, created_at y stats (conteos de notas/tareas/eventos).
search
Busca en notas, tareas y eventos a la vez. Para notas, soporta tanto búsqueda de texto como búsqueda semántica (encuentra resultados por significado usando embeddings de IA).
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
query | string | obligatorio | Texto de búsqueda (máx. 500 caracteres) |
limit | int | 20 | Máx. resultados por tipo (máx. 20) |
semantic | bool | true | Activar búsqueda semántica para notas |
Devuelve resultados agrupados por tipo: notes[], tasks[], events[]. Cada resultado tiene id, type, title, detail, created_at.
Usa semantic=false para una búsqueda solo de texto más rápida.
process_note (Pro y Ultra)
Análisis completo con IA: funciona igual que grabar en la app. Envía texto o audio y TellDone lo transcribirá, lo analizará con IA y creará una nota estructurada con tareas, eventos, etiquetas y embeddings extraídos.
Esta herramienta es asíncrona: devuelve al instante un audio_id y procesa en segundo plano. Los resultados llegan por sincronización en tiempo real a tus dispositivos conectados, o puedes consultarlos con get_notes().
| Parámetro | Tipo | Descripción |
|---|---|---|
text | string | Texto para analizar (omite la transcripción si no se proporciona audio) |
audio_base64 | string | Archivo de audio codificado en Base64 (hasta 50MB, activa la transcripción) |
audio_format | string | m4a, ogg, wav, mp3, aac o webm (por defecto: m4a) |
parent_task_id | string | UUID de una tarea a la que esto es un seguimiento |
parent_note_id | string | UUID de una nota a la que esto es un seguimiento |
parent_event_id | string | UUID de un evento al que esto es un seguimiento |
Tienes que proporcionar text o audio_base64 (o ambos: el audio tiene prioridad para la transcripción).
Devuelve: {"audio_id": "...", "status": "processing", "mode": "text-only"} o "mode": "audio+stt" si se proporcionó audio.
process_note está sujeto a las cuotas de tu plan (subidas por día, notas por mes, longitud máxima de texto). Usa get_profile para consultar tu uso actual.
create_note (Pro y Ultra)
Crea una nota de texto plano al instante. No activa el análisis de IA: no se extraen tareas ni eventos. Para análisis completo con IA y extracción de tareas/eventos, usa process_note en su lugar.
| Parámetro | Tipo | Límite | Descripción |
|---|---|---|---|
title | string | 200 caracteres | Obligatorio |
summary | string | 1000 caracteres | Opcional. Resumen corto (1-3 frases). Se incluye en los prompts de informes, mantenlo conciso |
transcript | string | según plan | Opcional. Cuerpo largo que se muestra en el detalle de la nota. No se incluye en informes. Límites: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000 caracteres |
type | string | - | Opcional. task, idea, info (por defecto), status, meeting, event o reflection |
tags | string | 20 etiquetas | Separadas por comas, opcional |
create_task (Pro y Ultra)
Crea una nueva tarea.
| Parámetro | Tipo | Límite | Descripción |
|---|---|---|---|
title | string | 200 caracteres | Obligatorio |
description | string | 2000 caracteres | Opcional |
priority | string | - | low, medium (por defecto) o high |
deadline | string | - | YYYY-MM-DD, opcional |
reminder_at | string | - | Fecha y hora ISO 8601 (ej. 2026-04-15T09:00:00Z), opcional |
tags | string | 20 etiquetas | Separadas por comas, opcional |
note_id | string | - | UUID para vincular la tarea a una nota padre, opcional |
create_event (Pro y Ultra)
Crea un evento de calendario.
| Parámetro | Tipo | Límite | Descripción |
|---|---|---|---|
title | string | 200 caracteres | Obligatorio |
start_at | string | - | Fecha y hora ISO 8601, obligatorio |
end_at | string | - | Fecha y hora ISO 8601 (por defecto: inicio + 1 hora) |
description | string | 2000 caracteres | Opcional |
location | string | 200 caracteres | Opcional |
is_all_day | bool | - | Por defecto: false |
tags | string | 20 etiquetas | Separadas por comas, opcional |
reminder_minutes | string | - | Minutos antes del evento, separados por comas (ej. 15,60), opcional |
attendees | string | - | Nombres o correos separados por comas, opcional |
recurrence_rule | string | - | Cadena RRULE (ej. FREQ=WEEKLY;BYDAY=MO,WE,FR), opcional |
note_id | string | - | UUID para vincular el evento a una nota padre, opcional |
update_note (Pro y Ultra)
Actualiza uno o más campos de una nota existente. Solo se modifican los campos que proporciones.
| Parámetro | Tipo | Descripción |
|---|---|---|
note_id | string | Obligatorio, el UUID de la nota |
title | string | Nuevo título (máx. 200 caracteres) |
summary | string | Nuevo resumen (máx. 1000 caracteres, envía un espacio " " para borrar) |
transcript | string | Nueva transcripción (límite según plan, envía un espacio " " para borrar) |
type | string | task, idea, info, status, meeting, event o reflection |
tags | string | Etiquetas separadas por comas (reemplaza todas las existentes, máx. 20) |
priority | string | low, medium o high |
status | string | active o archived |
Para notas creadas por el flujo de voz, transcript es la salida original del reconocimiento de voz. Sobrescribirla reemplaza la fuente canónica: si quieres conservar el original, plantéate añadir al final en lugar de reemplazar.
update_task (Pro y Ultra)
Actualiza uno o más campos de una tarea existente. Solo se modifican los campos que proporciones.
| Parámetro | Tipo | Descripción |
|---|---|---|
task_id | string | Obligatorio, el UUID de la tarea |
title | string | Nuevo título |
description | string | Nueva descripción (envía un espacio " " para borrar) |
priority | string | low, medium o high |
deadline | string | YYYY-MM-DD (envía un espacio para borrar) |
status | string | todo o done |
tags | string | Etiquetas separadas por comas (reemplaza todas las existentes, máx. 20) |
reminder_at | string | Fecha y hora ISO 8601 (envía un espacio para borrar) |
Cambiar status a done también registra cuándo y cómo se completó la tarea.
complete_task (Pro y Ultra)
Atajo para marcar una tarea como completada.
| Parámetro | Tipo | Descripción |
|---|---|---|
task_id | string | Obligatorio, el UUID de la tarea |
Devuelve un error si la tarea no existe o ya está completada.
update_event (Pro y Ultra)
Actualiza uno o más campos de un evento existente. Solo se modifican los campos que proporciones.
| Parámetro | Tipo | Descripción |
|---|---|---|
event_id | string | Obligatorio, el UUID del evento |
title | string | Nuevo título |
description | string | Nueva descripción (envía un espacio para borrar) |
start_at | string | Nueva hora de inicio (ISO 8601) |
end_at | string | Nueva hora de fin (ISO 8601) |
location | string | Nueva ubicación (envía un espacio para borrar) |
status | string | confirmed, tentative o cancelled |
tags | string | Etiquetas separadas por comas (reemplaza todas las existentes, máx. 20) |
is_all_day | string | "true" o "false" |
reminder_minutes | string | Minutos antes del evento, separados por comas (ej. 15,60) |
attendees | string | Nombres o correos separados por comas |
recurrence_rule | string | Cadena RRULE (envía un espacio para borrar) |
delete_note (Pro y Ultra)
Elimina una nota. También elimina todas las tareas y eventos creados a partir de esta nota.
| Parámetro | Tipo | Descripción |
|---|---|---|
note_id | string | Obligatorio, el UUID de la nota |
delete_task (Pro y Ultra)
Elimina una tarea.
| Parámetro | Tipo | Descripción |
|---|---|---|
task_id | string | Obligatorio, el UUID de la tarea |
delete_event (Pro y Ultra)
Elimina un evento.
| Parámetro | Tipo | Descripción |
|---|---|---|
event_id | string | Obligatorio, el UUID del evento |
Límites de entrada
| Campo | Longitud máxima | Usado en |
|---|---|---|
| title | 200 caracteres | crear/actualizar nota, tarea, evento |
| description | 2.000 caracteres | crear/actualizar tarea, evento |
| summary | 1.000 caracteres (estricto) | crear/actualizar nota. Se incluye en los prompts de informes, se mantiene corto para controlar el coste de tokens |
| transcript | según plan: Free 2.000 / Basic 8.000 / Pro 20.000 / Ultra 50.000 | crear/actualizar nota. Cuerpo largo, no va en informes |
| location | 200 caracteres | crear/actualizar evento |
| tags | 20 etiquetas | crear/actualizar nota, tarea, evento |
| search query | 500 caracteres | search |
| audio_base64 (decodificado) | 50 MB | process_note |
Si excedes un límite, la herramienta devuelve un mensaje de error como "title too long (max 200 chars, got 250)".
Manejo de errores
Todas las herramientas devuelven JSON. Los errores usan este formato:
{"error": "description of what went wrong"}
Errores comunes:
| Error | Cuándo |
|---|---|
"MCP access is read-only..." | Se llamó a una herramienta de escritura con modo de solo lectura |
"Invalid note_id format" | Se pasó un string que no es UUID como ID |
"Note not found" | El ID no existe o pertenece a otro usuario |
"Task not found or already completed" | complete_task en una tarea inexistente o ya completada |
"title too long (max 200 chars, got N)" | Se excedió el límite de entrada |
"Too many tags (max 20)" | Se proporcionaron más de 20 etiquetas |
Errores HTTP:
| Código | Significado |
|---|---|
| 401 | Token Bearer inválido o faltante |
| 403 | MCP desactivado o el plan no permite MCP |
| 429 | Límite de velocidad excedido (5 req/s) |
Ejemplos de uso
Todos los ejemplos usan cURL con el protocolo MCP JSON-RPC. Sustituye YOUR_TOKEN por tu token de conexión.
Leer datos
# 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}}}'
Escribir datos (Pro y 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 respuesta exitosa se ve así:
{
"jsonrpc": "2.0",
"id": 10,
"result": {
"content": [{"type": "text", "text": "{\"id\":\"...\",\"title\":\"Review PR\",\"status\":\"todo\"}"}]
}
}
Las herramientas de escritura y actualización devuelven respuestas mínimas con solo id, title y status. Para obtener todos los detalles (etiquetas, prioridad, fecha límite, etc.) después de escribir, haz una llamada de lectura adicional como get_tasks o get_note.
Gestión del token
| Acción | Cómo |
|---|---|
| Ver token | Ajustes del iPhone → Integrations → AI Agents (o Ajustes web → AI Agents), pulsa el icono de ojo |
| Copiar token | Pulsa el icono de copiar junto al token |
| Regenerar | Pulsa Regenerate y confirma. El token anterior deja de funcionar al instante y cualquier sesión activa se desconecta |
| Cambiar modo | Solo Ultra: alterna entre Solo lectura y Lectura + escritura. En Pro el modo es fijo en Lectura + escritura |
| Desactivar | Pulsa Disable y confirma. El token se elimina y todas las conexiones se detienen. Puedes reactivarlo más tarde (se emitirá un token nuevo) |
Qué puedes pedirle a tu agente de IA
Una vez conectado, pídele a tu herramienta de IA cosas como:
Revisar tu día:
- "¿Qué hice hoy?"
- "Muéstrame mis notas de esta semana"
- "¿Qué tareas están atrasadas?"
Gestionar tareas:
- "Crea una tarea: revisar informe trimestral, prioridad alta, fecha límite viernes"
- "Marca la tarea de Figma como completada"
- "¿En qué tareas estoy trabajando?"
Buscar y analizar:
- "Encuentra todas las notas sobre la estrategia de marketing"
- "¿Qué eventos tengo la próxima semana?"
- "Resume mis informes diarios de la semana pasada"
Planificar:
- "Crea un evento: standup del equipo mañana a las 10am"
- "¿Qué tengo en mi calendario esta semana?"
- "Muéstrame mis etiquetas principales: ¿en qué paso más tiempo?"
El agente de IA tiene acceso completo a tus notas, tareas, eventos e informes. Puede leer, crear, actualizar y eliminar datos, y responder preguntas complejas combinando información de múltiples herramientas.
Notas importantes
- Dos formas de crear notas:
create_notecrea una nota de texto plano al instante (sin análisis de IA).process_noteejecuta el análisis completo con IA (igual que grabar en la app): analiza el texto, extrae tareas y eventos, y genera etiquetas y embeddings. Usaprocess_notecuando quieras que TellDone piense por ti. - Sin sincronización de integraciones: los elementos creados o actualizados por MCP no disparan webhooks ni sincronización de integraciones (Todoist, Notion). Aparecerán en tus apps en la próxima sincronización.
- La búsqueda semántica depende de la herramienta: las notas creadas con
process_noteobtienen embeddings y aparecen en la búsqueda semántica. Las notas creadas concreate_noteno obtienen embeddings, así que solo aparecen en la búsqueda de texto. - Las respuestas de escritura son mínimas: las herramientas de creación y actualización devuelven solo
id,titleystatus. Para obtener todos los campos tras escribir, haz una llamada de lectura adicional. - Los filtros de fecha usan UTC: los parámetros
date_from/date_tose comparan como marcas de tiempo UTC. Para personas en zonas horarias no UTC, las fechas límite pueden incluir o excluir elementos de días adyacentes. - Límite de velocidad: 5 solicitudes por segundo. Para operaciones masivas, espacia tus solicitudes.
Seguridad
- Cada usuario recibe un token de conexión único de 384 bits
- Tu token se revoca al instante al desactivar MCP o regenerarlo
- Todos los datos están aislados estrictamente a tu cuenta: tu agente solo puede acceder a tus propios datos
- Cada solicitud está vinculada a tu usuario: no hay forma de que un agente acceda a datos de otra persona
- La conexión usa HTTPS con límite de velocidad (5 req/s)
Ver también
- Automatizaciones con webhooks: enviar datos a servicios externos automáticamente
- Todoist: sincronización bidireccional dedicada de tareas
- Notion: integración dedicada con Notion