Ir al contenido

Referencia de herramientas MCP

El servidor MCP de Becoming expone 20 herramientas — 12 para leer tu biblioteca y áreas de interés, y 8 para tomar acción: agregar subrayados y fuentes a tu biblioteca y actuar en La Academia — además de varios recursos para clientes de IA compatibles con MCP.

Las herramientas de lectura necesitan el permiso :read correspondiente. Las de escritura necesitan el permiso :write correspondiente y requieren que el cliente confirme cada acción (mira Herramientas de escritura más abajo).

Si aún no has conectado un cliente, mira Conectar un cliente MCP.

Busca subrayados en la biblioteca del usuario usando recuperación de texto completo, semántica (vectorial) o híbrida. Híbrida es el modo por defecto y combina ambas señales mediante fusión por rango recíproco; vuelve a texto completo cuando no hay un embedding disponible para la consulta.

Permiso requerido: highlights:read

Entradas:

CampoTipoNotas
querystring (requerido)Texto de búsqueda.
modefulltext | semantic | hybridPor defecto hybrid.
source_idintegerLimitar a subrayados de una fuente.
limitinteger (1–50)Tamaño de página. Por defecto 10.
cursorstringValor meta.next_cursor de la respuesta anterior.

Devuelve: subrayados que coinciden con contenido, ubicación, metadata de la fuente, conteo de notas y metadata de paginación.

Lista las fuentes en la biblioteca del usuario.

Permiso requerido: sources:read

Entradas:

CampoTipoNotas
qstringBúsqueda opcional por título/autor.
typeBook | Article | Video | PodcastFiltro opcional.
limitinteger (1–50)Tamaño de página. Por defecto 20.
cursorstringValor meta.next_cursor de la respuesta anterior.

Devuelve: fuentes con título, tipo, autor, URL de portada y conteos de subrayados por fuente.

Obtiene una fuente individual y los subrayados que el usuario tiene asociados.

Permiso requerido: sources:read

Entradas:

CampoTipoNotas
idinteger (requerido)Id de la fuente.

Devuelve: metadata de la fuente más los subrayados del usuario para esa fuente.

Obtiene un subrayado individual con la metadata de su fuente.

Permiso requerido: highlights:read

Entradas:

CampoTipoNotas
idinteger (requerido)Id del subrayado.

Devuelve: contenido del subrayado, ubicación, metadata de la fuente y el conteo de notas del usuario para ese subrayado.

Consulta el estado de una importación iniciada por add_source. Las importaciones corren en segundo plano; cuando una termina, confirma la nueva fuente con list_sources.

Permiso requerido: sources:read

Entradas:

CampoTipoNotas
idinteger (requerido)El import_id que devolvió add_source.

Devuelve: el estado de la importación (pending | processing | completed | failed), sus conteos de resultado y el motivo de falla cuando falló.

Ten en cuenta que, si a un video se le acabaron los créditos, el barrido nocturno lo retoma como una importación nueva: el import_id original conserva para siempre su resultado de créditos agotados, así que volver a consultarlo reporta un video truncado mucho después de que ya se subrayó el resto. En su lugar, sigue el highlights_count de la fuente con list_sources o get_source: sube a medida que el barrido va procesando fragmentos. Ninguno de los dos es un indicador de finalización, así que espera un conteo que sube, no un estado terminal.

Estas herramientas leen tus datos de La Academia. get_academy_status no necesita permiso — un cliente puede llamarla para comprobar si las herramientas de áreas de interés y prácticas están disponibles antes de usarlas.

HerramientaPropósitoEntradasPermiso requerido
get_academy_statusComprobar el acceso a La Academia y la disponibilidad de áreas de interés y prácticasNingunaNinguno
list_themesListar las áreas de interés del usuario, activas y pasadasNingunathemes:read
get_theme_timelineObtener una semana de la línea de tiempo de prácticas de un área de interés, alrededor de una fechatheme_id (requerido); date (fecha ISO opcional, por defecto hoy)themes:read
get_theme_generationConsultar el estado y resultado de una generación de área de interésid (requerido)themes:read
list_theme_practicesListar las prácticas de un área de interéstheme_id (requerido)practices:read
get_today_practicesObtener las prácticas de hoyNingunapractices:read
get_practice_reflectionLeer una reflexión guardada de una prácticapractice_id (requerido)reflections:read

Las herramientas de escritura modifican datos en tu biblioteca, así que llevan una protección adicional. Cada una requiere el permiso :write correspondiente, y el cliente debe enviar confirm: true junto con una breve cadena user_intent que describa lo que pediste. Si falta cualquiera de los dos, la llamada se rechaza — nada se escribe por accidente.

add_highlights y add_source funcionan en cualquier plan; las herramientas de escritura de áreas de interés, prácticas y reflexiones están disponibles solo en La Academia.

Cada herramienta de escritura recibe confirm: true y user_intent además de las entradas específicas que se indican abajo.

HerramientaPropósitoEntradasPermiso requerido
add_highlightsGuardar hasta 20 pasajes como subrayados — en una fuente existente de tu biblioteca, o en un libro o artículo encontrado o creado a partir de metadatossource_id o source (type Book | Article; title; author requerido para libros; url requerida para artículos; language opcional); highlights (arreglo de content con location y timestamp_seconds opcionales)highlights:write
add_sourceAgregar una fuente sin subrayados — un enlace (los videos de YouTube importan su transcripción; otras páginas se descargan y guardan como artículos legibles) o un librourl o book (title + author, language opcional). Asíncrona: consulta el import_id devuelto con get_importsources:write
start_theme_generationIniciar la generación de una nueva área de interés desde tu biblioteca, un subrayado o una intenciónintent (opcional, máx. 280 caracteres); seed_highlight_id (opcional)themes:write
generate_theme_practicesGenerar las prácticas diarias de un área de interéstheme_id (requerido); context (work | personal | both, requerido); mix (act | reflect | balanced, requerido)practices:write
complete_themeFinalizar un área de interéstheme_id (requerido)themes:write
complete_practiceMarcar una práctica como hechapractice_id (requerido)practices:write
skip_practiceOmitir una prácticapractice_id (requerido)practices:write
log_practice_reflectionGuardar una reflexión de una práctica de reflexiónpractice_id (requerido); body (requerido, no vacío)reflections:write

Dos de estas herramientas gastan créditos de IA de la misma asignación que usan las apps:

  • add_source con un url: Becoming trae la página y la lee por ti, lo que cuesta 1 crédito para una página web, o 1 por cada ~15 minutos de transcripción en un video de YouTube. Agregar un libro no cuesta nada.
  • start_theme_generation: 66 créditos desde toda tu biblioteca, o 10 desde un seed_highlight_id o un intent. Las prácticas van incluidas, así que generate_theme_practices no cuesta nada aparte.

Todo lo demás de esta lista, incluido add_highlights, es gratis. Sin créditos, add_source igual guarda la fuente; lo único que espera es el subrayado.

Los recursos son URIs estables que un cliente MCP puede leer cuando los necesita. Becoming expone tanto URIs de colección (que devuelven una lista) como plantillas por elemento.

URIDevuelvePermiso
becoming://highlightsColección de subrayados recienteshighlights:read
becoming://highlights/{id}Un subrayado individualhighlights:read
becoming://sourcesColección de fuentessources:read
becoming://sources/{id}Una fuente con sus subrayadossources:read
becoming://notesColección de notasnotes:read
becoming://notes/{id}Una nota individualnotes:read

Hay once permisos disponibles; los otorgas en la pantalla de autorización al conectar un cliente. get_academy_status no necesita permiso.

PermisoPermite
highlights:readsearch_highlights, get_highlight, recursos de subrayados
highlights:writeadd_highlights
sources:readlist_sources, get_source, get_import, recursos de fuentes
sources:writeadd_source
notes:readColección de notas y recursos por nota
themes:readlist_themes, get_theme_timeline, get_theme_generation
themes:writestart_theme_generation, complete_theme
practices:readlist_theme_practices, get_today_practices
practices:writegenerate_theme_practices, complete_practice, skip_practice
reflections:readget_practice_reflection
reflections:writelog_practice_reflection

Otorgar menos permisos está bien — las herramientas o recursos que requieran permisos no otorgados simplemente devolverán un error de permiso. Los permisos de escritura de áreas de interés, prácticas y reflexiones aplican en La Academia; highlights:write y sources:write funcionan en cualquier plan.

El servidor MCP usa códigos de error estándar de JSON-RPC para fallos a nivel de protocolo y errores en el resultado de la herramienta para fallos a nivel de aplicación. Códigos relevantes:

CódigoSignificado
-32001Autenticación requerida (token inválido, expirado o revocado).
-32002Permiso insuficiente o suscripción requerida.
-32003Recurso no encontrado.
-32004Límite de tasa alcanzado; espera y reintenta.
-32010Se requiere una suscripción a La Academia para esta herramienta.
-32011Entrada inválida — por ejemplo, una herramienta de escritura llamada sin confirm: true y user_intent, o un fallo de validación.
-32099Fallo inesperado del backend; reintenta más tarde.

Hay límites de tasa por conexión. La mayoría de los clientes manejan la espera automáticamente.

search_highlights y list_sources usan paginación basada en cursor. Pasa el valor meta.next_cursor de la respuesta anterior como entrada cursor en la siguiente llamada. Continúa hasta que next_cursor sea null.