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
assetIdde inmediato e indica al agente cuándo consultarseameet_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_recordingscontrashed: 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ón | ninguna, añadir una URL | npx -y @seameet/mcp |
| Funciona en | Claude (web, escritorio, móvil), ChatGPT (web, escritorio), Claude Code, cualquier cliente que hable MCP remoto con OAuth | Claude 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, URLhttps://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/mcppara 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):
| Herramienta | Acceso | Qué hace |
|---|---|---|
seameet_list_recent_recordings | lectura | Tus grabaciones sincronizadas más recientes |
seameet_get_recording | lectura | El resumen de una grabación, transcripción (también como SRT o VTT), notas, capítulos y más |
seameet_get_recordings | lectura | Una sección de hasta 10 grabaciones a la vez, p. ej., los elementos de acción de esta semana |
seameet_search_recordings | lectura | Búsqueda de texto completo en tus grabaciones y las compartidas contigo (los fragmentos requieren Sync Pro) |
seameet_search_memory | lectura | Encontrar personas, organizaciones y temas en Memoria de reuniones |
seameet_get_memory_page | lectura | Una página de Memoria de reuniones con las reuniones que cita |
seameet_whats_changed | lectura | Ponerse al día en 2–5 grabaciones relacionadas, de la más antigua a la más reciente, con citas |
seameet_get_media_url | lectura | Un enlace temporal de transmisión/descarga para una grabación |
seameet_get_usage | lectura | Almacenamiento utilizado frente a tu cuota |
seameet_desktop_recording_help | lectura | Cómo grabar con la aplicación de escritorio de SeaMeet |
seameet_list_webhooks | lectura | Tus webhooks, su estado de entrega y secreto de firma |
seameet_rename_speakers | escritura | Renombrar los hablantes en una transcripción |
seameet_regenerate_recording_summary | escritura | Regenerar el resumen de una grabación |
seameet_rename_recording | escritura | Renombrar una grabación |
seameet_trash_recordings | escritura | Mover hasta 20 grabaciones a la Papelera (restaurables durante 30 días) |
seameet_restore_recordings | escritura | Restaurar grabaciones desde la Papelera |
seameet_create_webhook | escritura | Crear un webhook (Sync Pro) |
seameet_update_webhook | escritura | Cambiar un webhook |
seameet_delete_webhook | escritura | Eliminar 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:
| Herramienta | Instalación más rápida |
|---|---|
| Claude Code | claude mcp add seameet -- npx -y @seameet/mcp |
| Codex CLI / IDE | codex mcp add seameet -- npx -y @seameet/mcp |
| GitHub Copilot CLI | copilot mcp add seameet -- npx -y @seameet/mcp |
| Cursor | Añadir a Cursor (un clic) |
| Claude Desktop | paquete .mcpb de un clic — ver abajo |
| Antigravity · OpenCode · cualquier otro | ver 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) owinget install seameet(Windows). Necesita v3.2.0+; una aplicación en ejecución más antigua informaapp_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ódigo | Significado |
|---|---|
app_not_running | La aplicación de escritorio está cerrada: iníciala (el payload incluye comandos install y downloadUrl) |
app_outdated | La aplicación está en ejecución pero es demasiado antigua: actualízala a requiredVersion (no reinstales la misma versión) |
auth_required | La herramienta de nube necesita autorización: el payload incluye un user_code y la URL /link |
insufficient_scope | La clave de API es de solo lectura: autoriza una clave de lectura y escritura |
unsupported_type / too_large / empty_file | seameet_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_changed | El 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_long | No hay suficiente asignación de transcripción o espacio en este momento: hint indica qué decirle al usuario |
not_entitled | Esta cuenta no puede transcribir archivos: revisa el plan en app.seameet.ai |
disabled | La transcripción está desactivada para esta cuenta: contacta con soporte |
upload_failed | La 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_unknown | La 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_unavailable | SeaMeet 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_failed | El 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_incomplete | SeaMeet aún estaba terminando la subida después de un reintento: abre webUrl en un minuto para iniciar la transcripción |
cancelled | El 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_unknown | La 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_ready | La aplicación se está iniciando: reintenta en unos segundos |
invalid_request | Falta un parámetro obligatorio o no es válido: revisa el esquema de la herramienta |
path_forbidden | filePath debe estar dentro del directorio de guardado de SeaMeet |
not_found | El archivo o recurso no existe: descúbrelo primero con una herramienta de listado/búsqueda |
timeout | La aplicación no respondió a tiempo: comprueba el estado y reintenta una vez |
unknown_tool | Incluye sugerencias did_you_mean |
Configuración (rara vez necesaria)
| Variable de entorno | Propósito |
|---|---|
SEAMEET_API_KEY | Clave de API de nube (smk_…): omite el flujo de autorización del dispositivo |
SEAMEET_MCP_CREDENTIALS_FILE | Ruta explícita al archivo de credenciales del puente de escritorio |
SEAMEET_BRIDGE_PORT + SEAMEET_BRIDGE_SECRET | Omite por completo el archivo de credenciales del puente |
SEAMEET_CLOUD_CREDENTIALS_FILE | Dónde se almacena en caché la clave de nube emitida (por defecto ~/.seameet/credentials.json) |
SEAMEET_REMOTE_URL / SEAMEET_DEVICE_URL | Sobrescribe los endpoints de nube (por defecto: producción) |
SEAMEET_SUPABASE_URL / SEAMEET_SUPABASE_ANON_KEY / SEAMEET_STT_PROXY_URL / SEAMEET_WEB_URL | Sobrescribe 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
- Términos: https://seameet.ai/en/terms/
- Privacidad: https://seameet.ai/en/privacy/
Licencia
MIT © SeaMeet.ai