SeaMeet MCP

Conecta agentes de IA a grabaciones de reuniones de SeaMeet, transcripciones, resúmenes, capturas de pantalla y controles de grabación.

Documentación

@seameet/mcp

El servidor MCP de SeaMeet — permite que los agentes de IA graben, transcriban y exploten tus reuniones. Una sola instalación funciona tanto si tienes la aplicación de escritorio como si no, en Claude Code, Claude Desktop, Codex, Antigravity, Cursor, OpenCode, GitHub Copilot CLI, Windsurf y cualquier cliente MCP.

Elige automáticamente el backend más completo disponible y expone la unión de ambos:

  • Modo escritorio — cuando la aplicación de escritorio de SeaMeet está en ejecución, los agentes obtienen el conjunto completo de herramientas de grabación (iniciar/detener grabaciones, capturas de pantalla, transcripción en vivo, artefactos de IA, búsqueda). Sin autenticación; nada sale de tu máquina.
  • Modo nube — cuando la aplicación no está presente, los agentes leen tu biblioteca sincronizada (grabaciones, transcripciones, resúmenes), suben un archivo local de audio/video para transcribirlo y gestionan webhooks a través de la red. Autorizado iniciando sesión en la aplicación web — sin copiar/pegar claves, funciona en una terminal sin interfaz gráfica.

tools/list devuelve el superconjunto de lo que esté disponible; llama a seameet_status en cualquier momento para ver el/los modo(s) actual(es).

¿Usas Claude o ChatGPT en una aplicación de chat? No necesitas este paquete. Añade el conector alojado de SeaMeet — https://mcp.seameet.ai/mcp — e inicia sesión con tu cuenta de SeaMeet. Sin instalación, sin clave API. Consulta Conector alojado.

Lo que puedes hacer

🎙️ Grabar y capturar (modo escritorio)

  • Iniciar una grabación — micrófono, pantalla, o pantalla + audio del sistema — seameet_start_recording
  • Detener — seameet_stop_recording · pausar/reanudar solo audio — seameet_pause_recording / seameet_resume_recording
  • Verificar el estado de la grabación — seameet_recording_status · leer la transcripción en vivo durante la grabación — seameet_get_live_transcript
  • Tomar una captura de pantalla a través de SeaMeet — seameet_take_screenshot

📚 Trabajar con grabaciones (escritorio = archivos locales · nube = biblioteca sincronizada)

  • Listar grabaciones y capturas de pantalla — seameet_list_recordings · explorar archivos en el directorio de guardado — seameet_list_files · configuración de la aplicación — seameet_get_settings
  • Leer artefactos generados (resumen, transcripción, SRT, capítulos, elementos de acción, decisiones clave, OCR/descripción de capturas) — seameet_get_artifact
  • Buscar en el texto de los artefactos — seameet_search_text
  • Obtener el manifiesto del paquete de recursos de una grabación — seameet_get_asset_bundle
  • Renombrar un archivo — seameet_rename_file · guardar un nuevo artefacto — seameet_save_artifact · regenerar un resumen a partir de una plantilla — seameet_regenerate_summary · listar plantillas — seameet_list_templates

☁️ Biblioteca en la nube (modo nube)

  • Listar grabaciones sincronizadas recientes, incluyendo archivos que transcribiste en app.seameet.ai — seameet_list_recent_recordings · obtener el resumen, la transcripción con etiquetas de hablante (paginada para grabaciones largas) y capítulos, además de elementos de acción y decisiones clave donde el resumen los haya producido; la transcripción también viene como el mismo archivo SRT o VTT que descarga app.seameet.ai — seameet_get_recording · una sección (resumen, elementos de acción, decisiones, capítulos) de hasta 10 grabaciones a la vez — seameet_get_recordings
  • Transcribir un archivo desde este equipo — sube un archivo local de audio o video (mp3, m4a, mp4, mov, wav, flac, ogg, oga, opus, webm, aac, amr, spx; hasta 512 MB y 5 horas) e inicia una transcripción con etiquetas de hablante; devuelve un assetId de inmediato e indica al agente cuándo consultar seameet_get_recording — seameet_transcribe_file (se ejecuta en este cliente local, por lo que funciona en Claude Code, Codex, Cursor y Claude Desktop, pero no desde claude.ai en la web; usa tu asignación de transcripción)
  • Obtener una URL temporal de transmisión/descarga de medios — seameet_get_media_url
  • Buscar tus grabaciones y las compartidas contigo — seameet_search_recordings (los fragmentos completos requieren Sync Pro)
  • Memoria de reuniones — encontrar personas, organizaciones y temas — seameet_search_memory · leer una página de Memoria con las reuniones que cita — seameet_get_memory_page
  • Ponerse al día en 2–5 grabaciones relacionadas, de la más antigua a la más reciente, con citas — seameet_whats_changed
  • Renombrar hablantes — seameet_rename_speakers · regenerar el resumen de una grabación — seameet_regenerate_recording_summary · renombrar una grabación — seameet_rename_recording
  • Mover hasta 20 grabaciones a la Papelera (restaurables durante 30 días) — seameet_trash_recordings · restaurarlas — seameet_restore_recordings · listar la Papelera — seameet_list_recent_recordings con trashed: true (la eliminación definitiva permanece en app.seameet.ai)
  • Verificar el uso de almacenamiento — seameet_get_usage · cómo grabar con la aplicación de escritorio — seameet_desktop_recording_help
  • Gestionar webhooks salientes (entregas firmadas en ai.ready / recording.synced; crear uno requiere Sync Pro) — seameet_create_webhook · seameet_list_webhooks · seameet_update_webhook · seameet_delete_webhook

🔌 Conexión (cualquier modo)

  • Qué modos están conectados — seameet_status · desconectar la nube / cambiar de cuenta — seameet_logout

Eso son 17 herramientas de escritorio + 19 herramientas de nube (obtenidas en vivo, por lo que las nuevas versiones aparecen automáticamente), más 3 herramientas que se ejecutan en este cliente (seameet_status, seameet_logout, seameet_transcribe_file). Una herramienta que el backend actual no puede atender devuelve un error claro y estructurado en lugar de fallar silenciosamente.

Conector alojado (sin instalación)

SeaMeet también ejecuta un servidor MCP alojado en https://mcp.seameet.ai/mcp. Añádelo a Claude o ChatGPT como conector e inicia sesión con tu cuenta de SeaMeet (OAuth): sin Node.js, sin npx, sin clave API que copiar. Cualquier cuenta verificada de SeaMeet funciona, incluida la gratuita; Sync Pro desbloquea fragmentos de búsqueda completos, páginas completas de Memoria de reuniones y webhooks.

¿Cuál debería usar?

Conector alojado@seameet/mcp (este paquete)
Instalaciónninguna, añadir una URLnpx -y @seameet/mcp
Funciona enClaude (web, escritorio, móvil), ChatGPT (web, escritorio), Claude Code, cualquier cliente que hable MCP remoto con OAuthClaude Code, Claude Desktop, Codex, Cursor, Antigravity, OpenCode, Copilot CLI, cualquier cliente MCP stdio
Tu biblioteca en la nube (grabaciones, transcripciones, búsqueda, Memoria, webhooks)✓ 19 herramientas✓ las mismas 19, retransmitidas
Grabar, capturar pantalla, transcripción en vivo desde la aplicación de escritorio—✓ 17 herramientas de escritorio
Transcribir un archivo en este equipo—✓ seameet_transcribe_file

En resumen: aplicaciones de chat y uso solo en la nube → el conector alojado. Un agente de codificación en la misma máquina que la aplicación de escritorio de SeaMeet, o subiendo archivos locales → este paquete.

Añadirlo:

  • Claude en la web — abre claude.ai/new#customize/connectors/yours (o Configuración → Conectores) → Añadir conector personalizado → nombre SeaMeet, URL https://mcp.seameet.ai/mcp → Añadir → Conectar → inicia sesión en app.seameet.ai → Permitir. Un conector añadido en claude.ai también aparece en las aplicaciones de escritorio y móvil de Claude.
  • Aplicación de escritorio de Claude — Configuración → Conectores → Añadir conector personalizado, misma URL, mismo inicio de sesión.
  • ChatGPT en la web — abre chatgpt.com/plugins → añade un servidor MCP con la URL anterior → Autenticar → inicia sesión → Permitir.
  • Aplicación de escritorio de ChatGPT — Plugins → MCP → añade un servidor, transporte Streamable HTTP, la URL anterior, campos de token/encabezado vacíos → Autenticar (sin necesidad de reiniciar). Tu navegador abre app.seameet.ai/connect → inicia sesión → Permitir. La página de consentimiento indica que esta aplicación termina de iniciar sesión en tu propio equipo (una dirección local 127.0.0.1); eso es esperado para aplicaciones de escritorio.
  • Claude Code — claude mcp add --transport http seameet https://mcp.seameet.ai/mcp, luego ejecuta /mcp para iniciar sesión. (Debería funcionar; aún no verificado de extremo a extremo.)

Claude solicita acceso de lectura; la aplicación de escritorio de ChatGPT también solicita escritura. Las herramientas de solo lectura llevan readOnlyHint, por lo que los clientes que lo respetan pueden distinguirlas de las herramientas de escritura.

Herramientas alojadas (19):

HerramientaAccesoQué hace
seameet_list_recent_recordingslecturaTus grabaciones sincronizadas más recientes
seameet_get_recordinglecturaEl resumen de una grabación, transcripción (también como SRT o VTT), notas, capítulos y más
seameet_get_recordingslecturaUna sección de hasta 10 grabaciones a la vez, p. ej., los elementos de acción de esta semana
seameet_search_recordingslecturaBúsqueda de texto completo en tus grabaciones y las compartidas contigo (los fragmentos requieren Sync Pro)
seameet_search_memorylecturaEncontrar personas, organizaciones y temas en Memoria de reuniones
seameet_get_memory_pagelecturaUna página de Memoria de reuniones con las reuniones que cita
seameet_whats_changedlecturaPonerse al día en 2–5 grabaciones relacionadas, de la más antigua a la más reciente, con citas
seameet_get_media_urllecturaUn enlace temporal de transmisión/descarga para una grabación
seameet_get_usagelecturaAlmacenamiento utilizado frente a tu cuota
seameet_desktop_recording_helplecturaCómo grabar con la aplicación de escritorio de SeaMeet
seameet_list_webhookslecturaTus webhooks, su estado de entrega y secreto de firma
seameet_rename_speakersescrituraRenombrar los hablantes en una transcripción
seameet_regenerate_recording_summaryescrituraRegenerar el resumen de una grabación
seameet_rename_recordingescrituraRenombrar una grabación
seameet_trash_recordingsescrituraMover hasta 20 grabaciones a la Papelera (restaurables durante 30 días)
seameet_restore_recordingsescrituraRestaurar grabaciones desde la Papelera
seameet_create_webhookescrituraCrear un webhook (Sync Pro)
seameet_update_webhookescrituraCambiar un webhook
seameet_delete_webhookescrituraEliminar un webhook

Desconectar: abre app.seameet.ai/connectors (menú de perfil → Conectar con Claude/ChatGPT), haz clic en Desconectar junto a la aplicación y luego elimina el conector en la aplicación.

Instalación

Cada cliente ejecuta el mismo comando — npx -y @seameet/mcp — solo cambia el formato de configuración. Recetas completas por herramienta: INSTALL.md (duplicado en app.seameet.ai/mcp/install.md).

Deja que tu agente lo haga — ¿ya estás dentro de un agente de codificación? Pega:

Instala el servidor MCP de SeaMeet — obtén https://raw.githubusercontent.com/seameet-ai/seameet-mcp/main/INSTALL.md, aplica la sección para la herramienta en la que estés ejecutándote y dime cómo recargar.

O elige tu herramienta:

HerramientaInstalación más rápida
Claude Codeclaude mcp add seameet -- npx -y @seameet/mcp
Codex CLI / IDEcodex mcp add seameet -- npx -y @seameet/mcp
GitHub Copilot CLIcopilot mcp add seameet -- npx -y @seameet/mcp
CursorAñadir a Cursor (un clic)
Claude Desktoppaquete .mcpb de un clic — ver abajo
Antigravity · OpenCode · cualquier otrover INSTALL.md

El bloque genérico, aceptado por la mayoría de los clientes MCP:

{
  "mcpServers": {
    "seameet": { "command": "npx", "args": ["-y", "@seameet/mcp"] }
  }
}

Requisitos

  • Node.js ≥ 18.
  • Para el modo escritorio: la aplicación de escritorio de SeaMeet instalada y en ejecución — brew install --cask seameet-ai/tap/seameet (macOS) o winget install seameet (Windows). Necesita v3.2.0+; una aplicación en ejecución más antigua informa app_outdated.
  • El modo nube es opcional y no necesita aplicación — la primera llamada a una herramienta de nube inicia una autorización única (abajo).

Autorización en la nube (una sola vez, sin copiar/pegar claves)

El modo nube nunca se activa a menos que proporciones SEAMEET_API_KEY o completes el flujo de dispositivo. En la primera llamada a una herramienta de nube sin clave, el agente muestra un código corto + https://app.seameet.ai/link; lo abres (con sesión iniciada), haces clic en Autorizar, y se genera y almacena en caché una clave de lectura+escritura en ~/.seameet/credentials.json. Silencioso a partir de entonces; revócala en cualquier momento en Claves API de tu cuenta. Para desconectar o cambiar de cuenta, llama a seameet_logout (o rm ~/.seameet/credentials.json).

Transcribir archivos grandes

seameet_transcribe_file sube en partes de 8 MB y envía notificaciones de etapa (notifications/progress: leyendo el archivo, verificando tu asignación, cada parte comenzando y terminando, finalizando la subida, iniciando la transcripción), como máximo una por segundo. Los hosts que restablecen su tiempo de espera de herramienta en el progreso siguen esperando mientras las partes se mueven, pero una transferencia estancada no envía nada, y los hosts que no restablecen en el progreso pueden cortar una subida larga de cualquier manera: en Claude Code, aumenta el tiempo de espera de herramienta para archivos grandes, p. ej., MCP_TOOL_TIMEOUT=600000 claude (10 minutos). La transcripción en sí se ejecuta en la nube después de que la herramienta devuelve, por lo que solo cuenta la subida.

El archivo se abre una vez, antes de enviar nada, y cada parte se lee de ese archivo abierto. Si se reescribe, crece o se reemplaza en su ruta durante la subida, la subida se detiene con file_changed en lugar de enviar una mezcla de bytes antiguos y nuevos. Una grabación cuyo encabezado indica que dura más de 5 horas se rechaza antes de enviar nada.

Paquete de instalación con un clic para Claude Desktop

manifest.json es un manifiesto MCPB, por lo que el servidor se distribuye como una extensión de Claude Desktop con un solo clic:

npm install && npm run build:mcpb   # → dist/seameet.mcpb

Instálalo mediante Configuración → Extensiones → Avanzado → Instalar extensión… y elige dist/seameet.mcpb. Claude Desktop lo ejecuta con su propio Node.js, sin necesidad de terminal. (La aplicación de escritorio debe estar instalada y en ejecución para el modo de escritorio).

Plugin de Claude Code (añade una habilidad /seameet)

Este repositorio funciona también como un mercado de plugins de Claude Code. El plugin registra el servidor MCP y una habilidad /seameet que enseña los flujos de trabajo principales (grabar y transcribir, capturar un informe de error, extraer elementos de acción de reuniones):

claude plugin marketplace add seameet-ai/seameet-mcp
claude plugin install seameet@seameet

Pruébalo

Solo pregunta en lenguaje natural: el agente elige la herramienta adecuada (y el backend correcto). Algunos ejemplos para empezar:

Graba mi pantalla durante 2 minutos y luego dame la transcripción.

¿Cuáles fueron los elementos de acción de mi última reunión?

Toma una captura de pantalla y describe lo que aparece.

Transcribe ~/Downloads/interview.m4a

Modo escritorio — una sesión de grabación completa (aplicación en ejecución)
  • "¿Cuáles son mis ajustes de SeaMeet? ¿Dónde guarda las grabaciones?"
  • "Lista mis plantillas de resumen."
  • "Lista mis grabaciones locales." · "Lista los archivos en mi carpeta de guardado de SeaMeet."
  • "¿Cuál es mi estado actual de grabación?"
  • "Empieza a grabar mi micrófono." (o: "graba toda mi pantalla")
  • "Comprueba el estado de la grabación ahora."
  • "Muéstrame la transcripción en vivo hasta ahora."
  • "Pausa la grabación." · "Reanúdala."
  • "Toma una captura de pantalla."
  • "Detén la grabación."
  • "Lista mis grabaciones de nuevo: la nueva debería estar arriba."
  • "Dame el resumen y la transcripción de esa grabación."
  • "Regenera su resumen usando una de mis plantillas."
  • "Busca en mis grabaciones la palabra ''."
  • "Renombra esa grabación a 'Prueba de modo dual MCP'."
  • "Obtén el paquete completo de recursos para ella."
  • "Guarda este texto como nota/recurso en esa grabación: ."
Modo nube — tu biblioteca sincronizada (sin necesidad de la aplicación)
  • "Lista mis 5 grabaciones de SeaMeet más recientes." · "¿Qué grabé en los últimos 7 días?"
  • "Dame el resumen de la grabación principal."
  • "Ahora muestra sus elementos de acción y decisiones clave."
  • "Obtén la transcripción completa con etiquetas de hablante y sus capítulos."
  • "Consigue un enlace de descarga/reproducción para el contenido multimedia de esa grabación."
  • "Busca en mis reuniones 'precios'." · "¿Qué sabe Meeting Memory sobre Acme?"
  • "¿Qué cambió en mis últimas tres reuniones diarias?"
  • "Transcribe ~/Downloads/interview.m4a" (lo sube y luego verifica hasta que la transcripción esté lista)
  • "¿Cuánto almacenamiento de SeaMeet estoy usando frente a mi cuota?"
  • "Crea un webhook a https://webhook.site/<your-id> que se active cuando los resultados de IA estén listos."
  • "Lista mis webhooks con su estado de entrega y secreto de firma."
  • "Actualiza ese webhook para que también se active en recording.synced."
  • "Elimina ese webhook."
  • "¿Cuál es mi estado de conexión con SeaMeet?"
  • "Desconecta mi cuenta en la nube de SeaMeet." (olvida la clave en caché; la siguiente llamada a la nube reautoriza)

Cómo funciona

Un proxy ligero stdio↔HTTP. La aplicación de escritorio de SeaMeet aloja un puente solo-localhost (127.0.0.1:3741, con respaldo en 3742/3743) autenticado con un secreto aleatorio por inicio; al arrancar, escribe las credenciales en $TMPDIR/seameet-mcp-bridge-<username>.json (modo 0600), que este servidor lee y utiliza como proxy (tools/list → GET /mcp-bridge/tools, tools/call → POST /mcp-bridge/call-tool). Nada sale de tu máquina en modo escritorio. El modo nube se comunica con el worker alojado de SeaMeet (el mismo servidor que el conector alojado) mediante HTTPS con tu clave emitida. Cada solicitud a la nube de SeaMeet lleva User-Agent: seameet-mcp/<version>.

Referencia completa de herramientas (para LLMs): seameet.ai/llms.txt — también disponible localmente en http://localhost:3741/llms.txt mientras la aplicación esté en ejecución.

Los errores son legibles por máquina

Los fallos de herramientas devuelven JSON estructurado sobre el que tu agente puede decidir:

{ "success": false, "error": { "code": "app_not_running", "tool": "seameet_start_recording",
  "message": "The SeaMeet desktop app is not running.",
  "install": { "macos": "brew install --cask seameet-ai/tap/seameet", "windows": "winget install seameet" },
  "hint": "Ask the user to install and launch it, then retry." } }
CódigoSignificado
app_not_runningLa aplicación de escritorio está cerrada: iníciala (el payload incluye comandos install y downloadUrl)
app_outdatedLa aplicación está en ejecución pero es demasiado antigua: actualízala a requiredVersion (no reinstales la misma versión)
auth_requiredLa herramienta de nube necesita autorización: el payload incluye un user_code y la URL /link
insufficient_scopeLa clave de API es de solo lectura: autoriza una clave de lectura y escritura
unsupported_type / too_large / empty_fileseameet_transcribe_file rechazó el archivo antes de subir nada (una longitud conocida superior a 5 horas es session_too_long, también antes de subir)
file_changedEl archivo cambió durante la subida; la subida se detuvo: vuelve a llamar una vez que el archivo termine de escribirse
insufficient_allowance / free_exhausted / import_cap_reached / daily_import_limit / queue_full / session_too_longNo hay suficiente asignación de transcripción o espacio en este momento: hint indica qué decirle al usuario
not_entitledEsta cuenta no puede transcribir archivos: revisa el plan en app.seameet.ai
disabledLa transcripción está desactivada para esta cuenta: contacta con soporte
upload_failedLa subida se detuvo; step indica dónde (upsert-asset, create, part <n>, complete) y la subida parcial se aborta (la entrada del recurso puede permanecer en tu biblioteca). cleanup: "failed" significa que el aborto en sí falló; SeaMeet limpia las subidas parciales obsoletas por su cuenta
upload_unknownLa subida se envió pero no se confirmó su finalización (caída de red en complete): abre webUrl para comprobarlo antes de volver a subir
service_unavailableSeaMeet no está disponible brevemente: reintenta en un minuto. Durante la subida, step indica dónde se detuvo; una vez completada la subida, el payload incluye webUrl para iniciar la transcripción allí
job_start_failedEl archivo está en la biblioteca (assetId, webUrl) pero la transcripción no pudo iniciarse: abre webUrl para iniciarla; no vuelvas a ejecutar la herramienta, ya que subiría un duplicado
upload_incompleteSeaMeet aún estaba terminando la subida después de un reintento: abre webUrl en un minuto para iniciar la transcripción
cancelledEl host canceló la llamada antes de que se enviara la solicitud de transcripción; la subida parcial se aborta y no se inicia ninguna transcripción
outcome_unknownLa solicitud de transcripción se envió pero no llegó respuesta (cancelación, tiempo de espera o caída de red): puede que haya comenzado, así que comprueba asset.transcriptionJob con seameet_get_recording antes de hacer cualquier otra cosa
app_not_readyLa aplicación se está iniciando: reintenta en unos segundos
invalid_requestFalta un parámetro obligatorio o no es válido: revisa el esquema de la herramienta
path_forbiddenfilePath debe estar dentro del directorio de guardado de SeaMeet
not_foundEl archivo o recurso no existe: descúbrelo primero con una herramienta de listado/búsqueda
timeoutLa aplicación no respondió a tiempo: comprueba el estado y reintenta una vez
unknown_toolIncluye sugerencias did_you_mean

Configuración (rara vez necesaria)

Variable de entornoPropósito
SEAMEET_API_KEYClave de API de nube (smk_…): omite el flujo de autorización del dispositivo
SEAMEET_MCP_CREDENTIALS_FILERuta explícita al archivo de credenciales del puente de escritorio
SEAMEET_BRIDGE_PORT + SEAMEET_BRIDGE_SECRETOmite por completo el archivo de credenciales del puente
SEAMEET_CLOUD_CREDENTIALS_FILEDónde se almacena en caché la clave de nube emitida (por defecto ~/.seameet/credentials.json)
SEAMEET_REMOTE_URL / SEAMEET_DEVICE_URLSobrescribe los endpoints de nube (por defecto: producción)
SEAMEET_SUPABASE_URL / SEAMEET_SUPABASE_ANON_KEY / SEAMEET_STT_PROXY_URL / SEAMEET_WEB_URLSobrescribe los endpoints a los que seameet_transcribe_file sube y enlaza (por defecto: producción)

Desarrollo

npm install
npm test             # wrapper tests (fake bridge + fake cloud) and upload tests (mocked fetch + temp files)
npm run build:mcpb   # validate manifest.json + pack the Claude Desktop extension

El lanzamiento está automatizado: consulta PUBLISHING.md.

Legal

Licencia

MIT © SeaMeet.ai