Zoom Transcript
Um servidor MCP para interagir com transcrições de gravações em nuvem do Zoom.
Documentação
Servidor MCP Zoom Transcript
Um servidor MCP (Model Context Protocol) para interagir com transcrições de gravações em nuvem do Zoom. Este servidor permite listar, baixar, pesquisar e gerenciar as transcrições das suas reuniões do Zoom por meio de uma interface estruturada.
Recursos
- Listar Reuniões: Visualize todas as reuniões do Zoom disponíveis com gravações
- Baixar Transcrições: Baixe transcrições de reuniões específicas por ID ou UUID
- Obter Transcrições Recentes: Baixe automaticamente transcrições de reuniões recentes
- Pesquisar Transcrições: Pesquise em todas as transcrições baixadas por conteúdo específico
- Armazenamento Organizado: As transcrições são armazenadas em um sistema de arquivos estruturado por mês
Pré-requisitos
- Node.js (v16 ou superior)
- Conta Zoom com Gravação em Nuvem habilitada
- Credenciais do aplicativo OAuth do Zoom (Account ID, Client ID, Client Secret)
Instalação
-
Clone este repositório:
git clone https://github.com/yourusername/zoom_transcript_mcp.git cd zoom_transcript_mcp -
Instale as dependências:
npm install -
Compile o projeto:
npm run build
Configuração
Crie um arquivo .env no diretório raiz com as seguintes variáveis:
ZOOM_ACCOUNT_ID=your_zoom_account_id
ZOOM_CLIENT_ID=your_zoom_client_id
ZOOM_CLIENT_SECRET=your_zoom_client_secret
TRANSCRIPTS_DIR=/path/to/transcripts/directory # Optional, defaults to ./transcripts
Alternativamente, você pode configurar o servidor por meio do arquivo de configurações do seu MCP:
{
"mcpServers": {
"zoom-transcripts": {
"command": "node",
"args": ["/path/to/zoom-transcripts-server/build/index.js"],
"env": {
"ZOOM_ACCOUNT_ID": "your_zoom_account_id",
"ZOOM_CLIENT_ID": "your_zoom_client_id",
"ZOOM_CLIENT_SECRET": "your_zoom_client_secret",
"TRANSCRIPTS_DIR": "/path/to/transcripts/directory" // Optional
}
}
}
}
Obtendo Credenciais do Zoom
- Acesse o Zoom App Marketplace e faça login
- Clique em "Develop" > "Build App"
- Escolha o tipo de aplicativo "Server-to-Server OAuth"
- Preencha as informações necessárias
- Em "Scopes", adicione as seguintes permissões:
cloud_recording:read:list_account_recordings:admincloud_recording:read:recording:admincloud_recording:read:list_user_recordings:admin
- Salve e ative seu aplicativo
- Anote seu Account ID, Client ID e Client Secret
Uso
Ferramentas Disponíveis
1. list_meetings
Lista as reuniões do Zoom disponíveis com gravações.
{
"dateRange": {
"from": "2025-01-01",
"to": "2025-03-31"
},
"participant": "John Doe" // Optional
}
2. download_transcript
Baixa a transcrição de uma reunião específica.
{
"meetingId": "123456789" // Meeting ID or UUID
}
3. get_recent_transcripts
Baixa transcrições de reuniões recentes.
{
"count": 5 // Number of recent meetings to fetch (default: 5)
}
4. search_transcripts
Pesquisa em transcrições baixadas por conteúdo específico.
{
"query": "AI discussion",
"dateRange": { // Optional
"from": "2025-01-01",
"to": "2025-03-31"
}
}
Exemplo de Uso com Claude
<use_mcp_tool>
<server_name>zoom-transcripts</server_name>
<tool_name>search_transcripts</tool_name>
<arguments>
{
"query": "project timeline"
}
</arguments>
</use_mcp_tool>
Armazenamento de Transcrições
As transcrições são armazenadas na seguinte estrutura:
transcripts/
├── YYYY-MM/
│ ├── YYYY-MM-DD_HH-MM-SS_Meeting-Topic_MeetingID.vtt
│ └── metadata/
│ └── YYYY-MM-DD_HH-MM-SS_Meeting-Topic_MeetingID.json
Cada transcrição possui um arquivo JSON de metadados correspondente contendo:
- ID e UUID da reunião
- Tópico
- Horário de início e duração
- Participantes (extraídos da transcrição)
- Caminho do arquivo da transcrição
Desenvolvimento
Estrutura do Projeto
zoom_transcript_mcp/
├── src/
│ └── index.ts
├── package.json
├── tsconfig.json
├── .gitignore
├── README.md
└── .env.example
Compilação
npm run build
Execução Local
node build/index.js
Licença
MIT