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.

Zoom Transcript Server MCP server

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

  1. Clone este repositório:

    git clone https://github.com/yourusername/zoom_transcript_mcp.git
    cd zoom_transcript_mcp
    
  2. Instale as dependências:

    npm install
    
  3. 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

  1. Acesse o Zoom App Marketplace e faça login
  2. Clique em "Develop" > "Build App"
  3. Escolha o tipo de aplicativo "Server-to-Server OAuth"
  4. Preencha as informações necessárias
  5. Em "Scopes", adicione as seguintes permissões:
    • cloud_recording:read:list_account_recordings:admin
    • cloud_recording:read:recording:admin
    • cloud_recording:read:list_user_recordings:admin
  6. Salve e ative seu aplicativo
  7. 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