Saltar al contenido principal

Acceso MCP (agentes de IA)

Plan Pro y superior

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.

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.

Requisitos de plan

FunciónFreeBasicProUltra
Acceso MCP--Lectura + escritura (20 herramientas)Lectura + escritura (20 herramientas, cuotas más altas)

Cómo activar

MCP actualmente se configura solo en la app web en app.telldone.app (aún no disponible en la app de iOS):

  1. Ve a Settings > Integrations > AI Agents (MCP)
  2. Haz clic en Enable
  3. Elige tu modo de acceso:
    • Solo lectura - el agente puede ver tus datos pero no modificarlos
    • Lectura + escritura - el agente también puede crear, actualizar y eliminar elementos
  4. Copia tu token de conexión - lo necesitarás para conectar tu herramienta de IA
consejo

Mantén tu token de conexión en privado. Cualquiera que lo tenga puede acceder a tus datos de TellDone. Puedes regenerarlo en cualquier momento desde la misma página de ajustes.

Conectar tu herramienta de IA

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

Agrega a .cursor/mcp.json:

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

Windsurf

Agrega a .codeium/windsurf/mcp_config.json:

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

Codex

Agrega 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 soporte MCP sobre HTTP puede conectarse. Usa el endpoint https://api.telldone.app/mcp/user/mcp con un encabezado de autorización Bearer YOUR_TOKEN.

Reemplaza YOUR_TOKEN con el token de tus ajustes en todos los ejemplos anteriores.

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

HerramientaQué hace
get_notesListar notas con filtros (etiquetas, rango de fechas, búsqueda de texto)
get_noteVer una nota individual con sus tareas, eventos y transcripción completa
get_notes_fullObtener varias notas con tareas y eventos incluidos en una sola llamada
get_tasksListar tareas filtradas por estado (pendientes, completadas, todas), etiquetas o fechas
get_eventsListar eventos del calendario, filtrar por rango de fechas
get_reportsLeer informes diarios, semanales, mensuales y anuales (markdown completo)
get_tagsVer todas tus etiquetas ordenadas por uso
get_profileVer información de tu cuenta y estadísticas de uso
searchBuscar en notas, tareas y eventos (texto + búsqueda semántica para notas)
consejo

La herramienta search soporta 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

HerramientaQué hace
process_noteAnálisis completo con IA - envía texto o audio, obtiene una nota con tareas, eventos y etiquetas
create_noteAgregar una nota de texto plano (sin análisis de IA)
create_taskAgregar una tarea con prioridad, fecha límite, recordatorio y etiquetas
create_eventAgregar un evento de calendario con fecha, hora, ubicación, recordatorios, asistentes y recurrencia
update_noteCambiar título, resumen, tipo, etiquetas, prioridad o estado de una nota
update_taskCambiar título, descripción, prioridad, fecha límite, recordatorio, etiquetas o estado de una tarea
complete_taskMarcar una tarea como completada
update_eventCambiar detalles, hora, ubicación, recordatorios, asistentes, recurrencia, etiquetas o estado de un evento
delete_noteEliminar una nota y todas sus tareas y eventos vinculados
delete_taskEliminar una tarea
delete_eventEliminar un evento

Todas las operaciones de escritura y eliminación aparecen instantáneamente en tus dispositivos conectados (teléfono, app web) mediante 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ámetroTipoPor defectoDescripción
limitint20Número de notas a devolver (máx. 50)
offsetint0Omitir este número de notas (para paginación, máx. 10000)
tagsstring-Filtrar por etiquetas, separadas por comas (coincide con cualquiera)
searchstring-Búsqueda de texto en título y resumen
date_fromstring-Fecha de inicio, YYYY-MM-DD (inclusiva)
date_tostring-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ámetroTipoDescripción
note_idstringEl 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ámetroTipoPor defectoDescripción
limitint10Número de notas (máx. 20)
offsetint0Omitir este número de notas
tagsstring-Filtrar por etiquetas
date_fromstring-Fecha de inicio, YYYY-MM-DD
date_tostring-Fecha de fin, YYYY-MM-DD

get_tasks

Lista tareas con filtrado.

ParámetroTipoPor defectoDescripción
statusstring"todo"Filtro: todo, done o all
limitint30Número de tareas (máx. 100)
offsetint0Omitir este número de tareas
tagsstring-Filtrar por etiquetas, separadas por comas
date_fromstring-Fecha de inicio, YYYY-MM-DD (por created_at)
date_tostring-Fecha de fin, YYYY-MM-DD

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ámetroTipoPor defectoDescripción
limitint30Número de eventos (máx. 100)
offsetint0Omitir este número de eventos
date_fromstring-Fecha de inicio, YYYY-MM-DD (filtra por hora de inicio del evento)
date_tostring-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_reports

Obtiene tus informes generados por IA con contenido completo en markdown.

ParámetroTipoPor defectoDescripción
report_typestring"daily"Tipo: daily, weekly, monthly o yearly
limitint5Número de informes (máx. 10)

Devuelve: lista de informes con id, type, period_start, period_end, content_md, created_at.

nota

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).

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ámetroTipoPor defectoDescripción
querystringobligatorioTexto de búsqueda (máx. 500 caracteres)
limitint20Máx. resultados por tipo (máx. 20)
semanticbooltrueActivar 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 transcribirá, analizará con IA y creará una nota estructurada con tareas, eventos, etiquetas y embeddings extraídos.

Esta herramienta es asíncrona: devuelve inmediatamente un audio_id y procesa en segundo plano. Los resultados llegan mediante sincronización en tiempo real a tus dispositivos conectados, o puedes consultar con get_notes().

ParámetroTipoDescripción
textstringTexto para analizar (omite la transcripción si no se proporciona audio)
audio_base64stringArchivo de audio codificado en Base64 (hasta 50MB, activa la transcripción)
audio_formatstringm4a, ogg, wav o mp3 (por defecto: m4a)
parent_task_idstringUUID de una tarea a la que esto es un seguimiento
parent_note_idstringUUID de una nota a la que esto es un seguimiento
parent_event_idstringUUID de un evento al que esto es un seguimiento

Debes 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.

nota

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 verificar 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ámetroTipoLímiteDescripción
titlestring200 caracteresObligatorio
summarystring1000 caracteresOpcional
tagsstring20 etiquetasSeparadas por comas, opcional

create_task (Pro y Ultra)

Crea una nueva tarea.

ParámetroTipoLímiteDescripción
titlestring200 caracteresObligatorio
descriptionstring2000 caracteresOpcional
prioritystring-low, medium (por defecto) o high
deadlinestring-YYYY-MM-DD, opcional
reminder_atstring-Fecha y hora ISO 8601 (ej. 2026-04-15T09:00:00Z), opcional
tagsstring20 etiquetasSeparadas por comas, opcional
note_idstring-UUID para vincular la tarea a una nota padre, opcional

create_event (Pro y Ultra)

Crea un evento de calendario.

ParámetroTipoLímiteDescripción
titlestring200 caracteresObligatorio
start_atstring-Fecha y hora ISO 8601, obligatorio
end_atstring-Fecha y hora ISO 8601 (por defecto: inicio + 1 hora)
descriptionstring2000 caracteresOpcional
locationstring200 caracteresOpcional
is_all_daybool-Por defecto: false
tagsstring20 etiquetasSeparadas por comas, opcional
reminder_minutesstring-Minutos antes del evento, separados por comas (ej. 15,60), opcional
attendeesstring-Nombres o correos separados por comas, opcional
recurrence_rulestring-Cadena RRULE (ej. FREQ=WEEKLY;BYDAY=MO,WE,FR), opcional
note_idstring-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. La transcripción no es editable (es la fuente de verdad del reconocimiento de voz).

ParámetroTipoDescripción
note_idstringObligatorio, el UUID de la nota
titlestringNuevo título (máx. 200 caracteres)
summarystringNuevo resumen (máx. 1000 caracteres, envía un espacio " " para borrar)
typestringtask, idea, info, status, meeting, event o reflection
tagsstringEtiquetas separadas por comas (reemplaza todas las existentes, máx. 20)
prioritystringlow, medium o high
statusstringactive o archived

update_task (Pro y Ultra)

Actualiza uno o más campos de una tarea existente. Solo se modifican los campos que proporciones.

ParámetroTipoDescripción
task_idstringObligatorio, el UUID de la tarea
titlestringNuevo título
descriptionstringNueva descripción (envía un espacio " " para borrar)
prioritystringlow, medium o high
deadlinestringYYYY-MM-DD (envía un espacio para borrar)
statusstringtodo o done
tagsstringEtiquetas separadas por comas (reemplaza todas las existentes, máx. 20)
reminder_atstringFecha 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ámetroTipoDescripción
task_idstringObligatorio, 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ámetroTipoDescripción
event_idstringObligatorio, el UUID del evento
titlestringNuevo título
descriptionstringNueva descripción (envía un espacio para borrar)
start_atstringNueva hora de inicio (ISO 8601)
end_atstringNueva hora de fin (ISO 8601)
locationstringNueva ubicación (envía un espacio para borrar)
statusstringconfirmed, tentative o cancelled
tagsstringEtiquetas separadas por comas (reemplaza todas las existentes, máx. 20)
is_all_daystring"true" o "false"
reminder_minutesstringMinutos antes del evento, separados por comas (ej. 15,60)
attendeesstringNombres o correos separados por comas
recurrence_rulestringCadena 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ámetroTipoDescripción
note_idstringObligatorio, el UUID de la nota

delete_task (Pro y Ultra)

Elimina una tarea.

ParámetroTipoDescripción
task_idstringObligatorio, el UUID de la tarea

delete_event (Pro y Ultra)

Elimina un evento.

ParámetroTipoDescripción
event_idstringObligatorio, el UUID del evento

Límites de entrada

CampoLongitud máximaUsado en
title200 caracterescrear/actualizar nota, tarea, evento
description2,000 caracterescrear/actualizar tarea, evento
summary1,000 caracterescrear/actualizar nota
location200 caracterescrear/actualizar evento
tags20 etiquetascrear/actualizar nota, tarea, evento
search query500 caracteressearch

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:

ErrorCuá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ódigoSignificado
401Token Bearer inválido o faltante
403MCP desactivado o el plan no permite MCP
429Límite de velocidad excedido (5 req/s)

Ejemplos de uso

Todos los ejemplos usan cURL con el protocolo MCP JSON-RPC. Reemplaza YOUR_TOKEN con 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\"}"}]
}
}
nota

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ónCómo
Ver tokenSettings > Integrations > AI Agents > icono de ojo
Copiar tokenHaz clic en el icono de copiar junto al token
RegenerarHaz clic en "Regenerate" y confirma. El token anterior deja de funcionar inmediatamente
Cambiar modoAlterna entre Solo lectura y Lectura + escritura
DesactivarHaz clic en "Disable" y confirma. El token se elimina, todas las conexiones se detienen

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_note crea una nota de texto plano al instante (sin análisis de IA). process_note ejecuta el análisis completo con IA (igual que grabar en la app) - analiza el texto, extrae tareas y eventos, genera etiquetas y embeddings. Usa process_note cuando quieras que TellDone piense por ti.
  • Sin sincronización de integraciones - los elementos creados o actualizados vía MCP no activan 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_note obtienen embeddings y aparecen en la búsqueda semántica. Las notas creadas con create_note no obtienen embeddings, por lo 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, title y status. Para obtener todos los campos después de escribir, haz una llamada de lectura adicional.
  • Los filtros de fecha usan UTC - los parámetros date_from/date_to se comparan como marcas de tiempo UTC. Para usuarios 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 instantáneamente al desactivar MCP o regenerarlo
  • Todos los datos están estrictamente aislados 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 otro usuario
  • La conexión usa HTTPS con límite de velocidad (5 req/s)

Ver también