Documentación

English

Referencia de MCP

Endpoint, autenticación, herramientas y errores del servidor MCP remoto de Mico.

El servidor MCP de Mico funciona en la nube de Mico y lee las reuniones que sincronizas. Habla el protocolo MCP 2025-03-26 sobre Streamable HTTP. Todas las herramientas son de solo lectura e idempotentes. Requiere un plan que incluya MCP (Flow), y el servidor comprueba el plan en cada petición. Para conectar un cliente, consulta MCP para agentes.

Endpoint

https://<project>.supabase.co/functions/v1/mcp

La URL exacta aparece en Ajustes → Desarrolladores → MCP.

  • Cada petición es un POST con un único mensaje JSON-RPC 2.0, y la respuesta es JSON. Los lotes no están soportados.
  • El servidor no guarda estado. No hay sesión, y GET (el canal de eventos opcional) devuelve 405.
  • Métodos soportados: initialize, ping, tools/list y tools/call. Las notificaciones se aceptan con 202 y sin cuerpo.
  • El servidor solo declara la capacidad tools. No tiene recursos ni prompts.

Autenticación

Envía Authorization: Bearer <token> con uno de estos tokens:

TokenOrigen
mico_pat_...Un token de acceso personal que creas en Ajustes → Desarrolladores → MCP. No caduca; funciona hasta que lo revocas.
mico_oat_...Un token de acceso OAuth emitido para un cliente como claude.ai. Dura una hora, y el cliente lo renueva.

Para los clientes OAuth, el servidor publica sus metadatos en /.well-known/oauth-protected-resource y /.well-known/oauth-authorization-server bajo la URL del endpoint. Admite el registro dinámico de clientes (/register), el flujo de código de autorización con PKCE S256 (/authorize y /token), clientes públicos sin secreto y el scope mico:read. Los tokens de renovación duran 30 días y rotan en cada uso.

En la página de autorización demuestras quién eres con un token de acceso personal. Revocar ese token revoca también todas las conexiones OAuth que autorizó.

Un token ausente, desconocido, caducado o revocado devuelve 401 con una cabecera WWW-Authenticate que apunta a los metadatos del recurso protegido.

Herramientas

Los valores de limit y offset fuera de rango se ajustan, no se rechazan.

list_meetings

ParámetroTipoPor defectoNotas
querystring—Subcadena del título o del ID de reunión, sin distinguir mayúsculas de minúsculas.
series_idstring—ID exacto de la serie recurrente.
limitinteger20Se ajusta a 1..200.
offsetinteger0Número de resultados que se omiten.

Devuelve meetings, de la más reciente a la más antigua, y pagination. pagination.total es null.

get_meeting

Acepta el string obligatorio meeting_id. Devuelve los metadatos de la reunión (id, title, kind, status, created_at, updated_at, started_at, ended_at, series_id, timezone, language), note, summaries, participants y action_items. Las palabras de la transcripción van aparte de forma intencionada.

Cada nota o resumen lleva su texto en markdown, como texto plano con una línea por párrafo o encabezado.

get_meeting_transcript

ParámetroTipoPor defectoNotas
meeting_idstringobligatorioUn ID de reunión de Mico devuelto.
offsetinteger0Offset en palabras.
limitinteger200Se ajusta a 1..500.

El resultado incluye meeting_id, text, words y pagination. pagination.total es el número de palabras de la transcripción, y pagination.next_offset es null en la última página. Si una reunión tiene texto de transcripción pero no tiempos por palabra, la primera página devuelve ese texto con la lista words vacía.

get_recurring_meeting_history

Acepta el string obligatorio meeting_id y los enteros opcionales limit y offset. El límite es 20 por defecto y se ajusta a 1..200; el offset es 0 por defecto. Devuelve meetings de la misma serie recurrente, de la más reciente a la más antigua, y pagination. Una reunión que no pertenece a ninguna serie devuelve una lista vacía.

search_meetings

ParámetroTipoPor defectoNotas
querystringobligatorioTexto que buscar en los títulos y resúmenes de las reuniones. No distingue mayúsculas de minúsculas.
limitinteger20Se ajusta a 1..200.
offsetinteger0Número de resultados que se omiten.

Devuelve meetings, de la más reciente a la más antigua, y pagination. pagination.total cuenta las coincidencias.

list_pending_action_items

Acepta los enteros opcionales limit (20 por defecto, ajustado a 1..200) y offset (0 por defecto). Devuelve action_items con estado todo o in_progress, del más reciente al más antiguo, cada uno con el meeting_id y el meeting_title de su reunión, y pagination.

search_shared_notes

ParámetroTipoPor defectoNotas
querystringobligatorioPalabras que deben aparecer todas en la nota.
limitinteger10Se ajusta a 1..20.

Busca en las notas que otras personas comparten contigo, incluido todo lo que se comparte con tus equipos. Devuelve results, cada uno con share_id, title, team, published_at y un snippet. Solo notas y resúmenes, nunca transcripciones.

get_shared_note

Acepta el string obligatorio share_id, tal como lo devuelve search_shared_notes. Devuelve share_id, title, team, published_at, text (hasta 12.000 caracteres) y truncated.

Resultados y errores

Cada herramienta devuelve un único elemento de contenido text que contiene JSON. Los resultados paginados incluyen un objeto pagination con offset, limit, returned, total y next_offset.

Una herramienta que no puede responder devuelve un resultado normal con isError: true y un mensaje error en el JSON. Eso incluye un argumento obligatorio que falta, una reunión que no existe o no es tuya (meeting 'ID' not found) y un fallo al leer los datos.

Los errores de protocolo usan códigos JSON-RPC:

CódigoSignificado
-32700El cuerpo no es JSON válido.
-32600Petición JSON-RPC no válida, o un lote.
-32601Método no soportado.
-32602Herramienta desconocida.

Los errores HTTP llegan en lugar de una respuesta JSON-RPC:

EstadoSignificado
401Token ausente, desconocido, caducado o revocado.
402Tu plan no incluye MCP. El code del cuerpo es feature_not_included o no_plan.
405La petición no es un POST.
503Mico no pudo verificar el token o el plan. Vuelve a intentarlo en un momento.