Saltar al contenido principal

Agentes IA (MCP)

Disponible en todos los planes

MCP funciona en todos los planes. Free y Basic tienen acceso de solo lectura a las 10 herramientas de lectura (Free está limitado a 100 solicitudes al día). Pro y Ultra tienen acceso completo de lectura y escritura (27 herramientas) y pueden cambiar al modo de solo lectura si lo prefieren.

MCP (Model Context Protocol) te permite conectar asistentes de IA como ChatGPT y Claude, asistentes de programación y herramientas de automatización directamente con tus datos de TellDone. Una vez conectado, tu asistente puede leer tus notas, tareas, eventos, informes, etiquetas e historial de cambios. Con Pro o superior, también puede crear, actualizar, eliminar y restaurar elementos. Hay 27 herramientas: 10 de lectura (todos los planes) y 17 de escritura (Pro o superior).

En el iPhone, Ajustes > Integraciones > Agentes IA (MCP) abre la pantalla de configuración de MCP con tu token de acceso oculto por defecto:

Ajustes de Agentes IA en el iPhone con el token oculto

Y en la web:

Ajustes de Agentes IA en la web con el token de acceso oculto

Dos formas de conectar​

Hay dos formas de conectar un cliente de IA:

  1. Iniciar sesión con TellDone (OAuth) (recomendada): inicias sesión con tu cuenta de TellDone y apruebas lo que pide la app. ChatGPT y Claude usan este método, y no hay ningún token que copiar.
  2. Token Bearer: copia tu token de acceso desde Ajustes y pégalo en la configuración de tu cliente. Es lo más sencillo para scripts, herramientas de línea de comandos y clientes que no tienen un flujo OAuth integrado.
ClienteRecomendado
ChatGPT (chatgpt.com o la app de escritorio de ChatGPT, no la app móvil)OAuth: añade un servidor MCP personalizado con la URL de MCP y luego inicia sesión
Claude (sitio web, Desktop, app para iPhone) / CoworkOAuth: añade un conector personalizado con la URL de MCP y luego inicia sesión
Claude Code (CLI)Token Bearer por ahora: añade el encabezado Authorization con tu token
Scripts o tu propio códigoToken Bearer: lo más sencillo de automatizar
Un cliente que solo permite elegir entre un directorio de conectores publicadosAñade TellDone como conector personalizado con la URL de MCP, o usa un token Bearer. TellDone todavía no está en ningún directorio de conectores

Requisitos del plan​

PlanMCP
FreeSolo lectura (10 herramientas de lectura), 100 solicitudes al día
BasicSolo lectura (10 herramientas de lectura), sin límite diario
ProLectura y escritura (27 herramientas): puede cambiar al modo de solo lectura
UltraLectura y escritura (27 herramientas): puede cambiar al modo de solo lectura

El límite de 100 solicitudes al día de Free cuenta solo las llamadas a herramientas. Conectar, iniciar sesión y listar las herramientas no cuentan. El día sigue la zona horaria guardada en tu cuenta y se restablece a medianoche. Cuando llegas al límite, tu asistente recibe un mensaje que lo indica. Las herramientas de escritura se rechazan en Free y Basic. Con un token de acceso, responden que la conexión es de solo lectura y que crear y editar requiere Pro o superior. Con inicio de sesión (OAuth), la mayoría responde "Insufficient scope", porque las conexiones de Free y Basic nunca reciben permisos de escritura.

La pantalla de la app​

Abre Ajustes > Integraciones y, en la sección Agentes IA, toca Agentes IA (MCP). La pantalla dice "Deja que ChatGPT, Claude y otros asistentes de IA trabajen con tus notas, tareas y eventos de TellDone." y muestra tu plan:

  • Free: "Tu plan: acceso de solo lectura, 100 solicitudes al día. Escribir viene con Pro."
  • Basic: "Tu plan: acceso de solo lectura"
  • Pro y Ultra: "Tu plan: acceso de lectura y escritura"

Mientras MCP está desactivado, toca Activar para encenderlo.

Una vez activado, la pantalla muestra:

  • Modo de acceso (Pro y Ultra): elige Solo lectura o Lectura y escritura cuando quieras.
  • Conectar un asistente: pasos para ChatGPT, Claude y Otro asistente. Inicias sesión en TellDone dentro del asistente, así que no hace falta ningún token.
  • Aplicaciones conectadas: los asistentes que has conectado, cada uno con un botón Desconectar. Se queda vacía hasta la primera conexión.
  • Para desarrolladores (plegada por defecto): el campo Token de acceso (oculto, con Mostrar / Ocultar y Copiar), Regenerar token y un selector Claude Code / Cursor / Otro con texto ya preparado y su propio botón Copiar. Claude Code te da el comando claude mcp add, Cursor te da el JSON para .cursor/mcp.json y Otro lista la dirección del servidor, la opción de inicio de sesión con OAuth y el encabezado Authorization: Bearer. Mientras el token está oculto, los fragmentos muestran YOUR_TOKEN. Toca Mostrar y contendrán tu token real.

La web tiene los mismos controles con otra disposición, sin la sección plegada para desarrolladores: la dirección OAuth con un botón Copiar, los controles de tu token, Aplicaciones conectadas con Desconectar y Configuración manual con token Bearer con seis clientes a elegir (Claude Code, Cursor, Windsurf, Codex, OpenClaw y cURL). En la web, los fragmentos siempre contienen tu token real, incluso con el campo del token oculto, así que trátalos como si fueran el propio token.

  • Documentación: un enlace a esta página.
  • Desactivar: apaga MCP. Lo confirmas con "Esto revocará el acceso de todas las herramientas de IA conectadas." Tu token se elimina y todas las conexiones se detienen. Si vuelves a activar MCP, recibes un token nuevo y las apps conectadas con inicio de sesión (OAuth) vuelven a funcionar sin iniciar sesión otra vez. Para quitar una app definitivamente, toca Desconectar en Aplicaciones conectadas.
consejo

Mantén tu token de acceso en privado. Cualquiera que tenga el token puede acceder a tus datos de TellDone. Toca Regenerar token si alguna vez sospechas que se ha filtrado.

Cómo activarlo​

Puedes configurar MCP desde cualquiera de las dos plataformas:

  • iPhone: Ajustes > Integraciones > Agentes IA (MCP)
  • Web: app.telldone.app > Ajustes > Integraciones > Agentes IA (MCP)

Pasos:

  1. Toca Activar.
  2. En Pro y Ultra, elige tu modo de acceso (Solo lectura o Lectura y escritura). Free y Basic son de solo lectura.
  3. Para conectar ChatGPT o Claude, tócalo en Conectar un asistente y sigue los pasos (más abajo). No hace falta ningún token.
  4. Para un cliente de programación en el iPhone, abre Para desarrolladores, toca Mostrar, elige Claude Code, Cursor u Otro y toca Copiar debajo del fragmento. Si copias antes de tocar Mostrar, el fragmento lleva YOUR_TOKEN en lugar de tu token. En la web, elige tu cliente en Configuración manual con token Bearer y copia el fragmento; ya contiene tu token.
  5. Pega el fragmento en tu cliente o en su archivo de configuración.

Conectar con OAuth​

OAuth es el camino recomendado para ChatGPT, Claude y Cowork: inicias sesión con tu cuenta de TellDone en lugar de copiar un token.

URL de MCP para OAuth: https://api.telldone.app/mcp/user

El mismo servidor también responde en https://api.telldone.app/mcp/user/mcp, y las dos direcciones aceptan un token Bearer. Para el inicio de sesión con OAuth, usa la primera.

ChatGPT​

Puedes añadir un servidor MCP personalizado en chatgpt.com o en la app de escritorio de ChatGPT. La app móvil de ChatGPT no puede añadir conectores personalizados, y la app de TellDone lo explica así: "La aplicación de ChatGPT solo añade conectores de su catálogo." Toca Enviar los pasos a mi ordenador en TellDone para recibir las instrucciones en un ordenador. Una vez añadido allí, TellDone también está disponible en la app móvil de ChatGPT.

Los pasos en la app:

  1. En un ordenador, abre chatgpt.com/plugins, haz clic en Add y elige Add custom MCP server.
  2. Ponle el nombre TellDone, pega la dirección de abajo (https://api.telldone.app/mcp/user) y elige OAuth.
  3. Confirma e instálalo, luego inicia sesión en TellDone y permite el acceso.

Consulta la guía de OpenAI sobre servidores MCP personalizados si cambian los nombres de los menús.

Claude (sitio web, Desktop, app para iPhone) / Cowork​

Los pasos en la app:

  1. En Claude, abre Customize → Connectors y toca Add custom connector.
  2. Pega la dirección de abajo (https://api.telldone.app/mcp/user).
  3. Inicia sesión en TellDone y permite el acceso.

Cuando inicias sesión, la página de consentimiento de TellDone muestra qué app pide acceso y los permisos exactos que quiere. Inicia sesión con tu correo y tu contraseña de TellDone y haz clic en Permitir acceso, o toca Iniciar sesión con Apple o Iniciar sesión con Google, que aprueba el acceso en el mismo paso. Claude se conecta solo: no hay ningún token que copiar.

Si cambian los nombres de los menús, consulta la guía de Anthropic sobre añadir un conector personalizado.

Conectar con un token Bearer​

Para Claude Code, Cursor y otros clientes sin inicio de sesión OAuth integrado, pega tu token de acceso directamente en la configuración del cliente. En todos los ejemplos de abajo, sustituye YOUR_TOKEN por el token de tus ajustes.

Claude Code (token Bearer)​

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

No hace falta que lo escribas tú: en Ajustes > Integraciones > Agentes IA (MCP) > Para desarrolladores, toca Mostrar, elige Claude Code y toca Copiar. El comando copiado ya contiene tu token.

Cursor​

Añádelo a .cursor/mcp.json (o cópialo desde Para desarrolladores > Cursor después de tocar Mostrar):

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

Otros clientes​

Ajustes para otros clientes MCP:

Codex​

Añádelo 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.

Encabezado de autenticación alternativo

Si tu cliente o proxy reserva el encabezado Authorization (por ejemplo, algunas pasarelas al estilo Smithery), envía el token en X-MCP-Token: YOUR_TOKEN. Los dos encabezados funcionan; si están los dos, gana Authorization.

Probar tu conexión​

Puedes comprobar que tu token funciona con un sencillo 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 correcta lista todas las herramientas disponibles.

Permisos (scopes)​

Las conexiones OAuth tienen alcance limitado: durante el inicio de sesión ves exactamente qué pide el cliente y lo apruebas de forma explícita.

ScopePermite a la app...
notes:readLeer tus notas y abrir los detalles completos de una nota (la herramienta de búsqueda también necesita tasks:read y events:read)
notes:writeCrear, editar y eliminar notas (process_note también necesita tasks:write y events:write)
tasks:read / tasks:writeLeer / crear, editar, completar y eliminar tareas
events:read / events:writeLeer / crear, editar y eliminar eventos
reports:readLeer tus informes diarios, semanales, mensuales y anuales
tags:read / tags:writeListar tus etiquetas / crear, fijar, eliminar y restaurar etiquetas
profile:readLeer la información de tu cuenta y tu suscripción
offline_accessMantener la sesión iniciada (emite un token de actualización para que no tengas que iniciar sesión otra vez en cada sesión)

Los scopes limitan lo que puede hacer una conexión: una conexión que solo tiene notes:read no puede llamar a una herramienta de escritura. Tu plan impone un segundo límite además de ese.

Las conexiones con token Bearer no tienen scopes individuales: solo las regula el modo de lectura y escritura de tu plan.

Qué puedes hacer​

Herramientas de lectura (10): todos los planes​

HerramientaQué hace
get_notesLista notas con filtros (etiquetas, rango de fechas, búsqueda de texto)
get_noteMuestra una sola nota con sus tareas y eventos hijos y la transcripción completa
get_notes_fullObtiene varias notas con tareas y eventos incluidos en una sola llamada
get_tasksLista tareas filtradas por estado (por hacer, hechas, todas), etiquetas o fechas
get_eventsLista eventos de calendario y filtra por rango de fechas
get_reportsLee tus informes diarios, semanales, mensuales y anuales (markdown completo)
get_tagsMuestra todas tus etiquetas ordenadas por uso
get_profileMuestra la información de tu cuenta y cuántas notas, tareas y eventos tienes
searchBusca en notas, tareas y eventos (texto y búsqueda semántica para notas)
get_change_logMuestra el historial de ediciones de una nota, tarea o evento, y si cada edición se ha deshecho
consejo

La herramienta search admite búsqueda semántica para notas: encuentra resultados por significado, no solo por palabras clave. Por ejemplo, si buscas "reuniones sobre presupuesto", encontrará notas sobre conversaciones financieras aunque no contengan la palabra "presupuesto".

Herramientas de escritura (17): Pro y Ultra​

HerramientaQué hace
process_noteProceso completo de IA: envía texto o audio y recibe una nota con tareas, eventos y etiquetas
create_noteAñade una nota de texto simple (sin análisis de IA)
create_taskAñade una tarea con prioridad, fecha límite, recordatorio y etiquetas
create_eventAñade un evento de calendario con fecha, hora, ubicación, recordatorios, asistentes y regla de repetición
update_noteCambia el título, el resumen, el tipo, las etiquetas, la prioridad o el estado de una nota
update_taskCambia el título, la descripción, la prioridad, la fecha límite, el recordatorio, las etiquetas o el estado de una tarea
complete_taskMarca una tarea como hecha
update_eventCambia los detalles, la hora, la ubicación, los recordatorios, los asistentes, la regla de repetición, las etiquetas o el estado de un evento
delete_noteElimina una nota. Sus tareas y eventos se conservan
delete_taskElimina una tarea
delete_eventElimina un evento
undo_change_log_entryDeshace una sola edición registrada (hecha por la IA o por ti) y restaura el valor anterior del campo
restore_entityRecupera una nota o tarea eliminada o archivada, o un evento eliminado o cancelado
create_tagCrea una etiqueta nueva, o convierte una etiqueta sugerida automáticamente en permanente
set_tag_pinnedFija o desfija una etiqueta para que aparezca arriba
delete_tagQuita una etiqueta (se puede restaurar con restore_tag)
restore_tagRecupera una etiqueta eliminada

Todas las operaciones de escritura y eliminación aparecen al instante en tus dispositivos conectados (teléfono, app web).

Referencia de herramientas​

get_notes​

List notes with optional filtering. Date filters use recorded_at (when you recorded the voice note), or created_at for a note that has none.

ParameterTypeDefaultDescription
limitint20Number of notes to return (max 50)
offsetint0Skip this many notes (for pagination, max 10000)
tagsstring-Filter by tags, comma-separated (matches any)
searchstring-Text search on title and summary
date_fromstring-Start date, YYYY-MM-DD (inclusive)
date_tostring-End date, YYYY-MM-DD (exclusive)
standalone_onlyboolfalseWhen true, hides follow-up notes (notes attached to a parent note/task/event) and returns only standalone notes

Returns: list of notes with id, title, summary, type, tags, priority, status, recorded_at, created_at.

get_note​

Get a single note with its full transcript and all linked tasks and events.

ParameterTypeDescription
note_idstringThe note's UUID

Returns: note with title, summary, transcript, type, tags, priority, status, metadata, created_at, plus tasks[] and events[] arrays.

Also returns transcript_speakers (speaker-labeled transcript turns, for meetings with several speakers - null otherwise), speaker_count (null unless the recording was split by speaker), and parent_note_id/parent_task_id/parent_event_id (set when this note is a follow-up edit of another item). Each tasks[]/events[] entry also includes reminders_at/recurrence_rule (tasks) or reminder_minutes/attendees/recurrence_rule (events).

get_notes_full​

Get multiple notes with their tasks and events in a single call. Same filters as get_notes except search, and each note includes embedded tasks[] and events[].

ParameterTypeDefaultDescription
limitint10Number of notes (max 20)
offsetint0Skip this many notes
tagsstring-Filter by tags
date_fromstring-Start date, YYYY-MM-DD
date_tostring-End date, YYYY-MM-DD
standalone_onlyboolfalseWhen true, hides follow-up notes (notes attached to a parent note/task/event) and returns only standalone notes

get_tasks​

List tasks with filtering.

ParameterTypeDefaultDescription
statusstring"todo"Filter: todo, done, or all
limitint30Number of tasks (max 100)
offsetint0Skip this many tasks
tagsstring-Filter by tags, comma-separated
date_fromstring-Start date, YYYY-MM-DD (filters by deadline; tasks without a deadline are excluded)
date_tostring-End date, YYYY-MM-DD (filters by deadline; tasks without a deadline are excluded)

Returns: list of tasks with id, title, description, status, priority, tags, deadline, reminder_at, reminders_at, completed_at, completed_by, source, created_at. reminder_at mirrors the first entry of reminders_at for backward compatibility - use reminders_at to see all of a task's reminders.

get_events​

List calendar events with date range filtering.

ParameterTypeDefaultDescription
limitint30Number of events (max 100)
offsetint0Skip this many events
date_fromstring-First day, YYYY-MM-DD, in your own time zone (inclusive). Events that overlap the range are included, so a multi-day event shows on every day it covers
date_tostring-Last day, YYYY-MM-DD, in your own time zone (inclusive)

Returns: list of events with id, title, description, status, start_at, end_at, location, is_all_day, tags, note_id, reminder_minutes, attendees, recurrence_rule, created_at.

get_reports​

Get your AI-generated reports with full markdown content.

ParameterTypeDefaultDescription
report_typestring"daily"Type: daily, weekly, monthly, or yearly
limitint5Number of reports (max 10)

Returns: list of reports with id, type, period_start, period_end, content_md, created_at.

nota

Monthly reports are long (often well over 1,000 words). Use limit=1 if your AI tool has a tight context window.

get_tags​

Get all your tags, sorted by pinned first, then by usage count.

No parameters. Returns up to 100 tags, each with tag, usage_count, is_pinned, is_manual.

get_profile​

Get your account info and how many notes, tasks and events you have.

No parameters. Returns email, display_name, locale, transcription_locale, timezone, subscription, mcp_mode, created_at, and stats (note/task/event counts).

Search across notes, tasks, and events at once. For notes, supports both text search and semantic search (finds results by meaning using AI embeddings).

ParameterTypeDefaultDescription
querystringrequiredSearch text (max 500 characters)
limitint20Max results per type (max 20)
semanticbooltrueEnable semantic search for notes

Returns results grouped by type: notes[], tasks[], events[]. Each result has id, type, title, detail, created_at.

Set semantic=false for faster text-only search.

get_change_log​

See the edit history of a note, task, or event - every AI-made follow-up edit and every manual edit you made yourself, newest first.

ParameterTypeDefaultDescription
entitystringrequirednotes, tasks, or events
entity_idstringrequiredThe item's UUID
include_manualboolfalseAlso include your own manual edits, not just AI-made ones

Returns: list of change entries with id (use this as entry_id for undo), field_name, old_value, new_value, source (follow_up, smart_context, correction_sync for a name fix TellDone carried across a note, or manual), origin_note_id, edited_at, and reverted_at (set once undone).

process_note (Pro and Ultra)​

Full AI pipeline - works the same as recording in the app. Send text or audio, and TellDone will transcribe, analyze with AI, and create a structured note with extracted tasks, events, tags, and embeddings.

This tool is asynchronous: it returns immediately with an audio_id and processes in the background. Results arrive via real-time sync to your connected devices, or you can poll with get_notes().

ParameterTypeDescription
textstringRequired. Text to analyze. If it is not empty, it is used as the transcript and any audio you send is not transcribed; send "" to have the audio transcribed. Limit when no audio is sent: Pro 20,000 / Ultra 50,000 characters
audio_base64stringBase64-encoded audio file. The whole request is limited to 10 MB, so the audio itself can be about 7 MB. It is transcribed only when text is empty
audio_formatstringm4a, ogg, wav, mp3, aac, or webm (default: m4a)
parent_task_idstringUUID of a task this is a follow-up to
parent_note_idstringUUID of a note this is a follow-up to
parent_event_idstringUUID of an event this is a follow-up to

Always send text. To have TellDone transcribe audio, send audio_base64 with text set to an empty string (""). If text is not empty, TellDone uses it as the transcript and does not transcribe the audio. Set at most one of the three parent IDs.

Returns: {"audio_id": "...", "status": "processing", "mode": "text-only"} or "mode": "audio+stt" if audio was provided.

nota

process_note is subject to your plan's quotas (uploads per day, notes per month, max text length). get_profile shows only how many notes, tasks and events you have, not your limits. Check your usage in the app under Settings > Usage.

create_note (Pro and Ultra)​

Create a plain text note instantly. Does not trigger AI analysis - no tasks or events are extracted. Use process_note when you want TellDone to find tasks and events for you.

ParameterTypeLimitDescription
titlestring200 charsRequired
summarystring1000 charsOptional. Short teaser (1-3 sentences). Used in your reports, so keep it short
transcriptstringplan-basedOptional. Long-form body shown in the note detail. Not included in reports. Limits: Pro 20,000 / Ultra 50,000 chars
typestring-Optional. task, idea, info (default), status, meeting, event, or reflection
tagsstring20 tagsComma-separated, optional
suppress_external_syncboolean-Optional, default false. Set true for imported or bulk items: the item is then not sent to your connected apps or automations

create_task (Pro and Ultra)​

Create a new task. The task is also created in your connected Todoist, Notion or Microsoft To Do, and your automations receive task.created. This does not happen when you pass suppress_external_sync: true.

ParameterTypeLimitDescription
titlestring200 charsRequired
descriptionstring2000 charsOptional
prioritystring-low, medium (default), or high
deadlinestring-YYYY-MM-DD, optional
reminder_atstring-ISO 8601 datetime (for example 2026-04-15T09:00:00Z), optional
tagsstring20 tagsComma-separated, optional
note_idstring-UUID to link task to a parent note, optional
suppress_external_syncboolean-Optional, default false. Set true for imported or bulk items: the item is then not sent to your connected apps or automations

create_event (Pro and Ultra)​

Create a calendar event. The event is also created in your connected Notion, and your automations receive calendar_event.created. This does not happen when you pass suppress_external_sync: true.

ParameterTypeLimitDescription
titlestring200 charsRequired
start_atstring-ISO 8601 datetime, required
end_atstring-ISO 8601 datetime (default: start + 1 hour; for an all-day event, one day)
descriptionstring2000 charsOptional
locationstring200 charsOptional
is_all_daybool-Default: false
tagsstring20 tagsComma-separated, optional
reminder_minutesstring-Comma-separated minutes before event (for example 15,60), optional
attendeesstring-Comma-separated names or emails, optional
recurrence_rulestring-RRULE string (for example FREQ=WEEKLY;BYDAY=MO,WE,FR), optional. Rules more frequent than hourly, or that can never happen, are refused
note_idstring-UUID to link event to a parent note, optional
suppress_external_syncboolean-Optional, default false. Set true for imported or bulk items: the item is then not sent to your connected apps or automations

update_note (Pro and Ultra)​

Update one or more fields on an existing note. Only fields you provide are changed. This works exactly like editing the note in the app: its title, summary, tags and type reach its Notion page, your automations receive note.updated, and the edit appears in the history, where it can be undone. A transcript change is saved and sent to Notion too, but is not in the history.

ParameterTypeDescription
note_idstringRequired, the note's UUID
titlestringNew title (max 200 chars)
summarystringNew summary (max 1000 chars, pass a space " " to clear)
transcriptstringNew transcript (plan-based limit, pass a space " " to clear)
typestringtask, idea, info, status, meeting, event, or reflection
tagsstringComma-separated tags (replaces all existing tags, max 20)
prioritystringlow, medium, or high
statusstringactive or archived
precaucion

For notes created by the voice pipeline, transcript is the original speech-to-text output. Overwriting it replaces your original words. To keep them, add to the transcript instead of replacing it.

update_task (Pro and Ultra)​

Update one or more fields on an existing task. Only fields you provide are changed. This works exactly like editing the task in the app: the change reaches its copies in Todoist, Notion and Microsoft To Do, your automations receive task.updated, and the edit appears in the task's history, where it can be undone. Setting status to done completes it like complete_task. A deadline can be a date or a full date and time (its date is used). Each tag can be up to 50 characters.

ParameterTypeDescription
task_idstringRequired, the task's UUID
titlestringNew title
descriptionstringNew description (pass a space " " to clear)
prioritystringlow, medium, or high
deadlinestringYYYY-MM-DD. This tool can't clear a deadline; clear it in the app
statusstringtodo or done
tagsstringComma-separated tags (replaces all existing tags, max 20)
reminder_atstringISO 8601 datetime (pass a space to clear)

Setting status to done also records when and how the task was completed.

complete_task (Pro and Ultra)​

Shortcut to mark a task as done.

ParameterTypeDescription
task_idstringRequired, the task's UUID

Returns an error if the task doesn't exist or is already completed.

update_event (Pro and Ultra)​

Update one or more fields on an existing event. Only fields you provide are changed. This works exactly like editing the event in the app: the change reaches its Notion page, your automations receive calendar_event.updated, and the edit appears in the history, where it can be undone.

ParameterTypeDescription
event_idstringRequired, the event's UUID
titlestringNew title
descriptionstringNew description (pass a space to clear)
start_atstringNew start time (ISO 8601)
end_atstringNew end time (ISO 8601)
locationstringNew location (pass a space to clear)
statusstringconfirmed, tentative, or cancelled
tagsstringComma-separated tags (replaces all existing tags, max 20)
is_all_daystring"true" or "false"
reminder_minutesstringComma-separated minutes before event (for example 15,60, pass a space to clear)
attendeesstringComma-separated names or emails (pass a space to clear)
recurrence_rulestringRRULE string (pass a space to clear)

delete_note (Pro and Ultra)​

Delete a note. Only the note is deleted: its tasks and events stay. This works exactly like deleting it in the app: your automations receive note.deleted. A copy of the note in Notion is not removed (the app does not remove it either).

ParameterTypeDescription
note_idstringRequired, the note's UUID

delete_task (Pro and Ultra)​

Delete a task. This works exactly like deleting it in the app: its copies in Todoist, Notion and Microsoft To Do are deleted too, and your automations receive task.deleted. Bring it back with restore_entity.

ParameterTypeDescription
task_idstringRequired, the task's UUID

delete_event (Pro and Ultra)​

Delete an event. This works exactly like deleting it in the app: your automations receive calendar_event.deleted. The event's page in Notion is not removed (the app does not remove it either).

ParameterTypeDescription
event_idstringRequired, the event's UUID

undo_change_log_entry (Pro and Ultra)​

Undo a single tracked edit - restores the field to its value before that edit, whether the edit was made by the AI (from a follow-up recording) or by you directly.

ParameterTypeDescription
entitystringRequired, notes, tasks, or events
entity_idstringRequired, the item's UUID
entry_idstringRequired, the change entry's id from get_change_log

Returns: {"entry_id", "entity_type", "entity_id", "field_name", "restored_value", "reverted_at"}. Undoing the same entry twice returns an error - it's already undone.

restore_entity (Pro and Ultra)​

Bring back a deleted or archived note or task, or a deleted or canceled event.

ParameterTypeDescription
entitystringRequired, notes, tasks, or events
entity_idstringRequired, the item's UUID

Returns: the restored item as JSON.

create_tag (Pro and Ultra)​

Create a new tag, or turn an existing auto-suggested tag into a permanent one.

ParameterTypeDescription
tagstringRequired, 1-50 characters (stored lowercase)
categorystringOptional

set_tag_pinned (Pro and Ultra)​

Pin or unpin a tag so it sorts to the top of your tag list.

ParameterTypeDescription
tagstringRequired
pinnedboolRequired

Tags containing a / character can't be pinned.

delete_tag (Pro and Ultra)​

Remove a tag. Can be brought back with restore_tag.

ParameterTypeDescription
tagstringRequired

restore_tag (Pro and Ultra)​

Bring back a deleted tag.

ParameterTypeDescription
tagstringRequired

Límites de entrada​

FieldMax lengthUsed in
title200 characterscreate/update note, task, event
description2,000 characterscreate/update task, event
summary1,000 characters (hard)create/update note. Used in your reports, so keep it short
transcriptplan-based: Pro 20,000 / Ultra 50,000create/update note. Long-form body, not in reports
textplan-based: Pro 20,000 / Ultra 50,000 (when no audio is sent)process_note
location200 characterscreate/update event
tags20 tagscreate/update note, task, event
search query500 characterssearch
audio_base64about 7 MB of audio (the whole request is limited to 10 MB)process_note

Si superas un límite, la herramienta devuelve un mensaje de error como "title too long (max 200 chars, got 250)".

Gestión de errores​

La mayoría de las herramientas devuelven los errores como JSON:

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

Los errores de plan, de scope y de límite de entrada llegan como un error de herramienta con el mismo mensaje.

Errores comunes:

ErrorWhen
"This TellDone connection is read-only. Creating and editing needs the Pro or Ultra plan."Write tool called in read-only mode (Free and Basic, or Pro and Ultra switched to read-only)
"Daily limit reached: the Free plan includes 100 TellDone requests a day..."Free plan used up its 100 requests for the day
"Daily limit reached (N/M today)"You created as many items through AI assistants today as your plan allows (process_note, create_note, create_task and create_event each count)
"Notes limit reached (X/Y this month)"Your plan's monthly note limit is used up
"Invalid note_id format"Non-UUID string passed as ID
"Note not found"ID doesn't exist or belongs to another user
"Task not found or already completed"complete_task on non-existent or already done task
"title too long (max 200 chars, got N)"Input limit exceeded
"Too many tags (max 20)"More than 20 tags provided

Errores a nivel HTTP:

CodeMeaning
401Invalid, revoked or deleted token (disabling MCP deletes your token, and regenerating replaces it)
429Rate limit exceeded (5 req/s, burst up to 20)

En Free, llegar al límite de 100 solicitudes al día se notifica como un mensaje de error de la herramienta (no como un código HTTP) y se restablece a medianoche en la zona horaria guardada en tu cuenta.

Ejemplos de uso​

Todos los ejemplos usan cURL con el protocolo JSON-RPC de MCP. Sustituye YOUR_TOKEN por tu token de acceso.

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 repeating 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 correcta se ve así:

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

Las herramientas de escritura y actualización devuelven respuestas cortas, sobre todo id, title y status. Las de eliminación devuelven id y deleted. Para obtener todos los detalles (etiquetas, prioridad, fecha límite, etc.) después de escribir, haz una llamada de lectura posterior como get_tasks o get_note.

Gestión del token​

AcciónCómo
Ver el tokenEn el iPhone: Ajustes > Integraciones > Agentes IA (MCP) > Para desarrolladores (o en la web, Ajustes > Integraciones > Agentes IA (MCP)), toca Mostrar
Copiar el tokenToca Copiar junto al token
RegenerarToca Regenerar token y confirma. El token anterior deja de funcionar de inmediato. Los asistentes conectados con inicio de sesión OAuth no se ven afectados; desconéctalos en Aplicaciones conectadas
Cambiar el modoPro y Ultra: elige Solo lectura o Lectura y escritura. Free y Basic son siempre de solo lectura
DesactivarToca Desactivar y confirma ("Esto revocará el acceso de todas las herramientas de IA conectadas."). Tu token se elimina y todas las conexiones se detienen. Si vuelves a activar MCP, recibes un token nuevo y las apps conectadas con inicio de sesión (OAuth) vuelven a funcionar sin iniciar sesión otra vez. Para quitar una app definitivamente, toca Desconectar en Aplicaciones conectadas

Qué puedes pedirle a tu agente de IA​

Una vez conectado, pídele a tu herramienta de IA cosas como:

Repasar tu día:

  • "¿En qué trabajé hoy?"
  • "Muéstrame mis notas de esta semana"
  • "¿Qué tareas están atrasadas?"

Gestionar tareas:

  • "Crea una tarea: revisar el informe trimestral, prioridad alta, fecha límite el viernes"
  • "Marca la tarea de Figma como hecha"
  • "¿En qué tareas estoy trabajando?"

Buscar y analizar:

  • "Encuentra todas las notas sobre la estrategia de marketing"
  • "¿Qué eventos tengo la semana que viene?"
  • "Resume mis informes diarios de la semana pasada"

Planificar:

  • "Crea un evento: reunión de equipo mañana a las 10"
  • "¿Qué tengo en el calendario esta semana?"
  • "Muéstrame mis etiquetas principales: ¿en qué dedico más tiempo?"

Tu asistente puede leer tus notas, tareas, eventos e informes, y responder preguntas complejas combinando información de varias herramientas. En Pro y Ultra con Lectura y escritura activada, también puede crearlos, actualizarlos y eliminarlos.

Conviene saber​

  • Integraciones y automatizaciones: process_note funciona como una grabación, así que su nota, sus tareas y sus eventos van a tus integraciones conectadas y a tus automatizaciones con webhooks. Los elementos que creas, editas o eliminas con las demás herramientas de escritura se comportan exactamente igual que en la app: llegan a tus integraciones conectadas (los eventos y los cambios en notas solo llegan a Notion) y a tus automatizaciones. Restaurar una tarea con restore_entity, o deshacer su finalización con undo_change_log_entry, también la reabre en las integraciones con las que estaba sincronizada.
  • Cambios hechos por un asistente de IA: en el historial del elemento aparecen marcados como hechos por un asistente. No se usan para enseñar al reconocimiento de voz de TellDone ni se copian a los demás elementos de la nota. Los cambios hechos a través de un asistente comparten el límite de la app de 30 cambios por minuto.
  • Búsqueda semántica: las notas creadas con process_note o create_note tienen embeddings, así que aparecen en la búsqueda semántica tras un breve retraso.
  • Filtros de fecha: en las notas, las fechas son días UTC. En los eventos, las fechas son tus propios días locales, y se incluye un evento que se solapa con el rango. En las tareas, el filtro es la fecha límite.

Seguridad​

  • Cada usuario recibe un token de acceso único de 384 bits
  • Tu token se revoca al instante cuando desactivas MCP o lo regeneras
  • Cada solicitud está limitada a tu cuenta, así que tu agente solo puede acceder a tus propios datos
  • La conexión usa HTTPS con límite de frecuencia (5 solicitudes/s, ráfagas de hasta 20)
  • Las conexiones OAuth usan PKCE con códigos de autorización de un solo uso y tokens de acceso de corta duración: puedes revocar una conexión en cualquier momento desde la app

Para un análisis técnico en profundidad (endpoints de descubrimiento, duración de los tokens, el flujo OAuth completo), consulta nuestra referencia del conector de código abierto en github.com/exp78/telldone-mcp, o consulta directamente https://api.telldone.app/.well-known/oauth-protected-resource.

Privacidad y flujo de datos​

Una herramienta de IA conectada recibe tus datos solo cuando llama a TellDone, normalmente porque le has preguntado algo. Recibe únicamente las respuestas a esas llamadas, dentro de los permisos que aprobaste. Para limitar el acceso, cambia a Solo lectura, desconecta la app en Aplicaciones conectadas, o regenera o desactiva tu token de acceso en Ajustes. Consulta la Política de privacidad para ver todos los detalles, o escribe a support@telldone.app si tienes dudas.

Solución de problemas​

SíntomaCausa / solución
La página de consentimiento de OAuth dice "Wrong email or password"Usa el correo y la contraseña con los que inicias sesión en la app, o elige Iniciar sesión con Apple / Iniciar sesión con Google en la misma página.
Está conectado, pero la IA no puede crear ni editar nadaTu plan es Free o Basic (solo lectura), tu modo es de solo lectura, o la conexión no tiene permisos de escritura. Si te conectaste antes de mejorar de plan, desconecta la app en Aplicaciones conectadas y vuelve a conectarla. Puedes comprobar tu modo en Ajustes.
Error "Insufficient scope" de una herramientaLa conexión no tiene ese permiso. En Free y Basic nunca se conceden permisos de escritura, así que crear y editar requiere Pro o Ultra. Si te conectaste antes de mejorar de plan, desconecta la app en Aplicaciones conectadas y vuelve a conectarla.
El fragmento copiado dice YOUR_TOKEN y el cliente no puede conectarseLo copiaste con el token oculto. En Para desarrolladores, toca Mostrar y copia el fragmento de nuevo.
Las herramientas no aparecenMCP no está activado en tu cuenta (Ajustes > Integraciones > Agentes IA (MCP) > Activar).
"Daily limit reached"Dos límites usan este mensaje. "Daily limit reached: the Free plan includes 100 TellDone requests a day" es el límite de solicitudes de Free. "Daily limit reached (N/M today)" significa que hoy has creado tantos elementos con asistentes de IA como permite tu plan: process_note, create_note, create_task y create_event cuentan cada uno, también en Pro y Ultra. Los dos se restablecen a medianoche en la zona horaria guardada en tu cuenta.
Mi cliente solo me deja elegir de una lista de conectores y TellDone no estáTellDone todavía no está en el directorio de conectores de ningún cliente: añádelo como conector personalizado con la URL de MCP, o usa el método del token Bearer.

Ver también​