SeaMeet MCP

Conecte agentes de IA a gravações, transcrições, resumos, capturas de tela e controles de gravação de reuniões do SeaMeet.

Documentação

@seameet/mcp

O servidor MCP do SeaMeet — permite que agentes de IA gravem, transcrevam e explorem suas reuniões. Uma única instalação funciona com ou sem o aplicativo desktop, no Claude Code, Claude Desktop, Codex, Antigravity, Cursor, OpenCode, GitHub Copilot CLI, Windsurf e em qualquer cliente MCP.

Ele escolhe automaticamente o backend mais completo disponível e expõe a união de ambos:

  • Modo desktop — quando o aplicativo desktop do SeaMeet está em execução, os agentes obtêm o conjunto completo de ferramentas de gravação (iniciar/parar gravações, capturas de tela, transcrição ao vivo, artefatos de IA, busca). Sem autenticação; nada sai da sua máquina.
  • Modo nuvem — quando o aplicativo não está presente, os agentes leem sua biblioteca sincronizada (gravações, transcrições, resumos), enviam um arquivo local de áudio/vídeo para transcrição e gerenciam webhooks pela rede. Autorizado ao entrar no aplicativo web — sem copiar/colar chaves, funciona em terminal headless.

tools/list retorna o superconjunto do que estiver disponível; chame seameet_status a qualquer momento para ver o(s) modo(s) atual(is).

Usando Claude ou ChatGPT em um aplicativo de chat? Você não precisa deste pacote. Adicione o conector SeaMeet hospedado — https://mcp.seameet.ai/mcp — e entre com sua conta SeaMeet. Sem instalação, sem chave de API. Veja Conector hospedado.

O que você pode fazer

🎙️ Gravar e capturar (modo desktop)

  • Iniciar uma gravação — microfone, tela ou tela + áudio do sistema — seameet_start_recording
  • Parar — seameet_stop_recording · pausar/retomar somente áudio — seameet_pause_recording / seameet_resume_recording
  • Verificar o status da gravação — seameet_recording_status · ler a transcrição ao vivo durante a gravação — seameet_get_live_transcript
  • Tirar uma captura de tela pelo SeaMeet — seameet_take_screenshot

📚 Trabalhar com gravações (desktop = arquivos locais · nuvem = biblioteca sincronizada)

  • Listar gravações e capturas de tela — seameet_list_recordings · navegar pelos arquivos no diretório de salvamento — seameet_list_files · configurações do aplicativo — seameet_get_settings
  • Ler artefatos gerados (resumo, transcrição, SRT, capítulos, itens de ação, decisões-chave, OCR/descrição de capturas) — seameet_get_artifact
  • Buscar no texto dos artefatos — seameet_search_text
  • Obter o manifesto do pacote de ativos de uma gravação — seameet_get_asset_bundle
  • Renomear um arquivo — seameet_rename_file · salvar um novo artefato — seameet_save_artifact · regenerar um resumo a partir de um modelo — seameet_regenerate_summary · listar modelos — seameet_list_templates

☁️ Biblioteca na nuvem (modo nuvem)

  • Listar gravações sincronizadas recentes, incluindo arquivos transcritos em app.seameet.ai — seameet_list_recent_recordings · obter o resumo, a transcrição com identificação de falantes (paginada para gravações longas) e capítulos, além de itens de ação e decisões-chave quando o resumo os gerar; a transcrição também vem como o mesmo arquivo SRT ou VTT que o app.seameet.ai baixa — seameet_get_recording · uma seção (resumo, itens de ação, decisões, capítulos) de até 10 gravações de uma vez — seameet_get_recordings
  • Transcrever um arquivo deste computador — envie um arquivo local de áudio ou vídeo (mp3, m4a, mp4, mov, wav, flac, ogg, oga, opus, webm, aac, amr, spx; até 512 MB e 5 horas) e inicie uma transcrição com identificação de falantes; retorna um assetId imediatamente e informa ao agente quando consultar seameet_get_recording — seameet_transcribe_file (executa neste cliente local, então funciona no Claude Code, Codex, Cursor e Claude Desktop, mas não no claude.ai pela web; usa sua cota de transcrição)
  • Obter uma URL temporária de stream/download de mídia — seameet_get_media_url
  • Buscar suas gravações e as compartilhadas com você — seameet_search_recordings (trechos completos exigem Sync Pro)
  • Memória de Reuniões — encontrar pessoas, organizações e tópicos — seameet_search_memory · ler uma página de Memória com as reuniões que ela cita — seameet_get_memory_page
  • Atualizar-se em 2–5 gravações relacionadas, da mais antiga para a mais recente, com citações — seameet_whats_changed
  • Renomear falantes — seameet_rename_speakers · regenerar o resumo de uma gravação — seameet_regenerate_recording_summary · renomear uma gravação — seameet_rename_recording
  • Mover até 20 gravações para a Lixeira (restauráveis por 30 dias) — seameet_trash_recordings · restaurá-las — seameet_restore_recordings · listar a Lixeira — seameet_list_recent_recordings com trashed: true (exclusão definitiva permanece no app.seameet.ai)
  • Verificar o uso de armazenamento — seameet_get_usage · como gravar com o aplicativo desktop — seameet_desktop_recording_help
  • Gerenciar webhooks de saída (entregas assinadas em ai.ready / recording.synced; criar um exige Sync Pro) — seameet_create_webhook · seameet_list_webhooks · seameet_update_webhook · seameet_delete_webhook

🔌 Conexão (qualquer modo)

  • Quais modos estão conectados — seameet_status · desconectar nuvem / trocar de conta — seameet_logout

Isso dá 17 ferramentas de desktop + 19 ferramentas de nuvem (buscadas ao vivo, então novos lançamentos aparecem automaticamente), além de 3 ferramentas que rodam neste cliente (seameet_status, seameet_logout, seameet_transcribe_file). Uma ferramenta que o backend atual não pode atender retorna um erro claro e estruturado em vez de falhar silenciosamente.

Conector hospedado (sem instalação)

O SeaMeet também executa um servidor MCP hospedado em https://mcp.seameet.ai/mcp. Adicione-o ao Claude ou ChatGPT como conector e entre com sua conta SeaMeet (OAuth): sem Node.js, sem npx, sem chave de API para copiar. Qualquer conta SeaMeet verificada funciona, incluindo a Free; o Sync Pro desbloqueia trechos de busca completos, páginas completas da Memória de Reuniões e webhooks.

Qual devo usar?

Conector hospedado@seameet/mcp (este pacote)
Instalaçãonenhuma, adicione uma URLnpx -y @seameet/mcp
Funciona emClaude (web, desktop, mobile), ChatGPT (web, desktop), Claude Code, qualquer cliente que fale MCP remoto com OAuthClaude Code, Claude Desktop, Codex, Cursor, Antigravity, OpenCode, Copilot CLI, qualquer cliente MCP stdio
Sua biblioteca na nuvem (gravações, transcrições, busca, Memória, webhooks)✓ 19 ferramentas✓ as mesmas 19, retransmitidas
Gravar, capturar tela, transcrição ao vivo do aplicativo desktop—✓ 17 ferramentas de desktop
Transcrever um arquivo deste computador—✓ seameet_transcribe_file

Em resumo: aplicativos de chat e uso somente em nuvem → o conector hospedado. Um agente de codificação na mesma máquina que o aplicativo desktop do SeaMeet, ou envio de arquivos locais → este pacote.

Como adicionar:

  • Claude na web — abra claude.ai/new#customize/connectors/yours (ou Configurações → Conectores) → Adicionar conector personalizado → nome SeaMeet, URL https://mcp.seameet.ai/mcp → Adicionar → Conectar → entre em app.seameet.ai → Permitir. Um conector adicionado no claude.ai também aparece nos aplicativos desktop e mobile do Claude.
  • Aplicativo desktop do Claude — Configurações → Conectores → Adicionar conector personalizado, mesma URL, mesmo login.
  • ChatGPT na web — abra chatgpt.com/plugins → adicione um servidor MCP com a URL acima → Autenticar → entre → Permitir.
  • Aplicativo desktop do ChatGPT — Plugins → MCP → adicione um servidor, transporte Streamable HTTP, a URL acima, campos de token/cabeçalho vazios → Autenticar (sem necessidade de reiniciar). Seu navegador abre app.seameet.ai/connect → entre → Permitir. A página de consentimento informa que este aplicativo conclui o login no seu próprio computador (um endereço local 127.0.0.1); isso é esperado para aplicativos desktop.
  • Claude Code — claude mcp add --transport http seameet https://mcp.seameet.ai/mcp, depois execute /mcp para entrar. (Deve funcionar; ainda não verificado de ponta a ponta.)

O Claude pede acesso de leitura; o aplicativo desktop do ChatGPT também pede escrita. Ferramentas somente leitura carregam readOnlyHint, então clientes que respeitam isso podem diferenciá-las das ferramentas de escrita.

Ferramentas hospedadas (19):

FerramentaAcessoO que faz
seameet_list_recent_recordingsleituraSuas gravações sincronizadas mais recentes
seameet_get_recordingleituraResumo, transcrição (também como SRT ou VTT), notas, capítulos e mais de uma gravação
seameet_get_recordingsleituraUma seção de até 10 gravações de uma vez, ex.: itens de ação da semana
seameet_search_recordingsleituraBusca em texto completo sobre suas gravações e as compartilhadas com você (trechos exigem Sync Pro)
seameet_search_memoryleituraEncontrar pessoas, organizações e tópicos na Memória de Reuniões
seameet_get_memory_pageleituraUma página da Memória de Reuniões com as reuniões que ela cita
seameet_whats_changedleituraAtualizar-se em 2–5 gravações relacionadas, da mais antiga para a mais recente, com citações
seameet_get_media_urlleituraUm link temporário de stream/download para uma gravação
seameet_get_usageleituraArmazenamento usado versus sua cota
seameet_desktop_recording_helpleituraComo gravar com o aplicativo desktop do SeaMeet
seameet_list_webhooksleituraSeus webhooks, saúde de entrega e segredo de assinatura
seameet_rename_speakersescritaRenomear os falantes em uma transcrição
seameet_regenerate_recording_summaryescritaRegenerar o resumo de uma gravação
seameet_rename_recordingescritaRenomear uma gravação
seameet_trash_recordingsescritaMover até 20 gravações para a Lixeira (restauráveis por 30 dias)
seameet_restore_recordingsescritaRestaurar gravações da Lixeira
seameet_create_webhookescritaCriar um webhook (Sync Pro)
seameet_update_webhookescritaAlterar um webhook
seameet_delete_webhookescritaExcluir um webhook

Desconectar: abra app.seameet.ai/connectors (menu de perfil → Conectar com Claude/ChatGPT), clique em Desconectar ao lado do aplicativo e remova o conector no aplicativo.

Instalação

Todo cliente executa o mesmo comando — npx -y @seameet/mcp — apenas o formato de configuração muda. Receitas completas por ferramenta: INSTALL.md (espelhado em app.seameet.ai/mcp/install.md).

Deixe seu agente fazer isso — já está dentro de um agente de codificação? Cole:

Instale o servidor MCP do SeaMeet — busque https://raw.githubusercontent.com/seameet-ai/seameet-mcp/main/INSTALL.md, aplique a seção para a ferramenta em que você está rodando e me diga como recarregar.

Ou escolha sua ferramenta:

FerramentaInstalação mais 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
CursorAdicionar ao Cursor (um clique)
Claude Desktoppacote .mcpb de um clique — veja abaixo
Antigravity · OpenCode · qualquer outroveja INSTALL.md

O bloco genérico, aceito pela maioria dos clientes MCP:

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

Requisitos

  • Node.js ≥ 18.
  • Para o modo desktop: o aplicativo desktop do SeaMeet instalado e em execução — brew install --cask seameet-ai/tap/seameet (macOS) ou winget install seameet (Windows). Precisa de v3.2.0+; um aplicativo antigo em execução relata app_outdated.
  • O modo nuvem é opcional e não precisa de aplicativo — a primeira chamada de ferramenta na nuvem inicia uma autorização única (abaixo).

Autorização na nuvem (uma única vez, sem copiar/colar chaves)

O modo nuvem nunca ativa a menos que você forneça SEAMEET_API_KEY ou conclua o fluxo de dispositivo. Na primeira chamada de ferramenta na nuvem sem chave, o agente mostra um código curto + https://app.seameet.ai/link; você o abre (já conectado), clica em Autorizar, e uma chave de leitura+escrita é gerada e armazenada em cache em ~/.seameet/credentials.json. Silencioso daí em diante; revogue a qualquer momento em Chaves de API na sua conta. Para desconectar ou trocar de conta, chame seameet_logout (ou rm ~/.seameet/credentials.json).

Transcrevendo arquivos grandes

seameet_transcribe_file envia em partes de 8 MB e envia notificações de estágio (notifications/progress: lendo o arquivo, verificando sua cota, cada parte iniciando e terminando, finalizando o envio, iniciando a transcrição), no máximo uma por segundo. Hosts que redefinem o tempo limite da ferramenta no progresso continuam esperando enquanto as partes se movem, mas uma transferência travada não envia nada, e hosts que não redefinem no progresso podem interromper um envio longo de qualquer forma: no Claude Code, aumente o tempo limite da ferramenta para arquivos grandes, ex.: MCP_TOOL_TIMEOUT=600000 claude (10 minutos). A transcrição em si roda na nuvem após a ferramenta retornar, então apenas o envio conta.

O arquivo é aberto uma vez, antes de qualquer coisa ser enviada, e cada parte é lida desse arquivo aberto. Se ele for reescrito, crescer ou for substituído em seu caminho durante o envio, o envio é interrompido com file_changed em vez de enviar uma mistura de bytes antigos e novos. Uma gravação cujo cabeçalho indica duração maior que 5 horas é recusada antes de qualquer envio.

Pacote de instalação com um clique para Claude Desktop

manifest.json é um manifesto MCPB, então o servidor é distribuído como uma extensão de um clique para Claude Desktop:

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

Instale via Configurações → Extensões → Avançado → Instalar extensão… e escolha dist/seameet.mcpb. O Claude Desktop o executa com seu próprio Node.js — sem necessidade de terminal. (O aplicativo desktop ainda precisa estar instalado e em execução para o modo desktop.)

Plugin Claude Code (adiciona uma habilidade /seameet)

Este repositório também funciona como um marketplace de plugins Claude Code. O plugin registra o servidor MCP e uma habilidade /seameet que ensina os fluxos de trabalho principais (gravar + transcrever, capturar um relatório de bug, extrair itens de ação de reuniões):

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

Experimente

Basta perguntar em linguagem natural — o agente escolhe a ferramenta certa (e o backend certo). Alguns exemplos para começar:

Grave minha tela por 2 minutos e depois me dê a transcrição.

Quais foram os itens de ação da minha última reunião?

Tire uma captura de tela e descreva o que aparece nela.

Transcreva ~/Downloads/interview.m4a

Modo desktop — uma sessão de gravação completa (aplicativo em execução)
  • "Quais são minhas configurações do SeaMeet — onde ele salva as gravações?"
  • "Liste meus modelos de resumo."
  • "Liste minhas gravações locais." · "Liste os arquivos na minha pasta de salvamento do SeaMeet."
  • "Qual é meu status atual de gravação?"
  • "Comece a gravar meu microfone." (ou: "grave minha tela inteira")
  • "Verifique o status da gravação agora."
  • "Mostre-me a transcrição ao vivo até agora."
  • "Pause a gravação." · "Retome."
  • "Tire uma captura de tela."
  • "Pare a gravação."
  • "Liste minhas gravações novamente — a nova deve estar no topo."
  • "Me dê o resumo e a transcrição dessa gravação."
  • "Regenere o resumo usando um dos meus modelos."
  • "Pesquise em minhas gravações pela palavra ''."
  • "Renomeie essa gravação para 'teste de modo duplo MCP'."
  • "Obtenha o pacote completo de assets para ela."
  • "Salve este texto como uma nota/artefato nessa gravação: ."
Modo nuvem — sua biblioteca sincronizada (sem necessidade do aplicativo)
  • "Liste minhas 5 gravações mais recentes do SeaMeet." · "O que eu gravei nos últimos 7 dias?"
  • "Me dê o resumo da gravação principal."
  • "Agora mostre seus itens de ação e decisões-chave."
  • "Puxe a transcrição completa com rótulos de falante para ela, e seus capítulos."
  • "Me dê um link de download/streaming para a mídia dessa gravação."
  • "Pesquise em minhas reuniões por 'preços'." · "O que o Meeting Memory sabe sobre a Acme?"
  • "O que mudou nas minhas últimas três reuniões diárias?"
  • "Transcreva ~/Downloads/interview.m4a" (faz o upload e depois verifica até a transcrição ficar pronta)
  • "Quanto armazenamento do SeaMeet estou usando em relação à minha cota?"
  • "Crie um webhook para https://webhook.site/<your-id> que dispare quando os resultados de IA estiverem prontos."
  • "Liste meus webhooks com sua saúde de entrega e segredo de assinatura."
  • "Atualize esse webhook para também disparar em recording.synced."
  • "Exclua esse webhook."
  • "Qual é meu status de conexão com o SeaMeet?"
  • "Desconecte minha conta na nuvem do SeaMeet." (esquece a chave em cache; a próxima chamada na nuvem reautoriza)

Como funciona

Um proxy fino stdio↔HTTP. O aplicativo desktop do SeaMeet hospeda uma ponte somente localhost (127.0.0.1:3741, com fallbacks 3742/3743) autenticada com um segredo aleatório por inicialização; na inicialização, ele grava as credenciais em $TMPDIR/seameet-mcp-bridge-<username>.json (modo 0600), que este servidor lê e faz proxy (tools/list → GET /mcp-bridge/tools, tools/call → POST /mcp-bridge/call-tool). Nada sai da sua máquina no modo desktop. O modo nuvem fala com o worker hospedado do SeaMeet (o mesmo servidor do conector hospedado) via HTTPS com sua chave emitida. Cada requisição à nuvem do SeaMeet carrega User-Agent: seameet-mcp/<version>.

Referência completa de ferramentas (para LLMs): seameet.ai/llms.txt — também servida localmente em http://localhost:3741/llms.txt enquanto o aplicativo estiver em execução.

Erros são legíveis por máquina

Falhas de ferramentas retornam JSON estruturado no qual seu agente pode ramificar:

{ "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_runningO aplicativo desktop está fechado — inicie-o (o payload carrega comandos install + downloadUrl)
app_outdatedO aplicativo está em execução, mas muito antigo — atualize para requiredVersion (não reinstale a mesma versão)
auth_requiredA ferramenta de nuvem precisa de autorização — o payload tem um user_code + a URL /link
insufficient_scopeA chave de API é somente leitura — autorize uma chave de leitura+escrita
unsupported_type / too_large / empty_fileseameet_transcribe_file recusou o arquivo antes de enviar qualquer coisa (um tamanho conhecido acima de 5 horas é session_too_long, também antes do envio)
file_changedO arquivo mudou durante o upload; o upload foi interrompido — chame novamente quando o arquivo terminar de ser gravado
insufficient_allowance / free_exhausted / import_cap_reached / daily_import_limit / queue_full / session_too_longNão há cota de transcrição ou espaço suficiente agora — o hint diz o que informar ao usuário
not_entitledEsta conta não pode transcrever arquivos — verifique o plano em app.seameet.ai
disabledA transcrição está desativada para esta conta — entre em contato com o suporte
upload_failedO upload foi interrompido; step indica onde (upsert-asset, create, part <n>, complete) e o upload parcial é abortado (a entrada do asset pode permanecer na sua biblioteca). cleanup: "failed" significa que o abortamento em si falhou; o SeaMeet limpa uploads parciais antigos por conta própria
upload_unknownO upload foi enviado, mas sua conclusão não foi confirmada (queda de rede em complete) — abra webUrl para verificar antes de enviar novamente
service_unavailableO SeaMeet está temporariamente indisponível — tente novamente em um minuto. Durante o upload, step indica onde parou; uma vez concluído o upload, o payload carrega webUrl para iniciar a transcrição lá
job_start_failedO arquivo está na biblioteca (assetId, webUrl), mas a transcrição não pôde ser iniciada — abra webUrl para iniciá-la; não execute a ferramenta novamente, pois isso enviaria uma duplicata
upload_incompleteO SeaMeet ainda estava finalizando o upload após uma nova tentativa — abra webUrl em um minuto para iniciar a transcrição
cancelledO host cancelou a chamada antes de a solicitação de transcrição ser enviada; o upload parcial é abortado e nenhuma transcrição é iniciada
outcome_unknownA solicitação de transcrição foi enviada, mas nenhuma resposta voltou (cancelamento, timeout ou queda de rede) — ela pode ter sido iniciada, então verifique asset.transcriptionJob com seameet_get_recording antes de fazer qualquer outra coisa
app_not_readyO aplicativo está iniciando — tente novamente em alguns segundos
invalid_requestUm parâmetro obrigatório está ausente/inválido — verifique novamente o esquema da ferramenta
path_forbiddenfilePath deve estar dentro do diretório de salvamento do SeaMeet
not_foundArquivo ou artefato não existe — descubra-o com uma ferramenta de listagem/busca primeiro
timeoutO aplicativo não respondeu a tempo — verifique o status e tente novamente uma vez
unknown_toolInclui sugestões did_you_mean

Configuração (raramente necessária)

Variável de ambienteFinalidade
SEAMEET_API_KEYChave de API da nuvem (smk_…) — ignora o fluxo de autorização do dispositivo
SEAMEET_MCP_CREDENTIALS_FILECaminho explícito para o arquivo de credenciais da ponte desktop
SEAMEET_BRIDGE_PORT + SEAMEET_BRIDGE_SECRETIgnora completamente o arquivo de credenciais da ponte
SEAMEET_CLOUD_CREDENTIALS_FILEOnde a chave de nuvem emitida é armazenada em cache (padrão ~/.seameet/credentials.json)
SEAMEET_REMOTE_URL / SEAMEET_DEVICE_URLSubstitui os endpoints da nuvem (padrão: produção)
SEAMEET_SUPABASE_URL / SEAMEET_SUPABASE_ANON_KEY / SEAMEET_STT_PROXY_URL / SEAMEET_WEB_URLSubstitui os endpoints para os quais seameet_transcribe_file envia e vincula (padrão: produção)

Desenvolvimento

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

A publicação é automatizada — veja PUBLISHING.md.

Legal

Licença

MIT © SeaMeet.ai