Referência de Ferramentas MCP
O servidor MCP da Copera expõe 37 ferramentas em nove domínios. Cada ferramenta é um wrapper fino sobre um endpoint da Copera Public API — a coluna capacidade da Public API mostra o endpoint subjacente que cada ferramenta chama.
| Domínio | Ferramentas |
|---|---|
| Workspace | 3 |
| Board | 11 |
| Busca | 1 |
| Docs | 8 |
| Notificações | 3 |
| Chat | 2 |
| Comentário | 3 |
| Drive | 5 |
| Exportação | 1 |
| Total | 37 |
O servidor é sem estado, então as ferramentas de board/tabela/linha precisam de ObjectIds hex explícitos. O fluxo de descoberta é get_workspace_info → list_boards → list_tables → get_table_schema → list_rows. Sempre chame get_table_schema antes de escrever linhas para usar columnIds reais e IDs de opções válidos.
Workspace
Escopo: nível de workspace (resultados filtrados pelas permissões do token).
| Ferramenta | Descrição | Capacidade da Public API |
|---|---|---|
get_workspace_info | Metadados básicos sobre o workspace ao qual o token pertence (nome, slug, contagem de assentos, timestamps). | GET /workspace/info |
list_workspace_members | Lista membros para resolver um id de usuário a partir de um nome ou e-mail; paginado por offset, query opcional. | GET /workspace/members |
list_workspace_teams | Lista times com os ids de usuário de seus participantes; paginado por offset, query opcional. | GET /workspace/teams |
Board
Escopo: access_boards. O loop de descoberta → consulta → escrita sobre boards, tabelas e linhas.
| Ferramenta | Descrição | Capacidade da Public API |
|---|---|---|
list_boards | Lista boards que o token pode acessar, busca opcional por nome. Comece aqui para encontrar um boardId. | GET /board/list-boards |
get_board | Metadados de um único board por boardId. | GET /board/{boardId} |
list_tables | Lista as tabelas de um board com definições de colunas, busca opcional por nome. | GET /board/{boardId}/tables |
get_table_schema | Definições completas das colunas de uma tabela, incluindo IDs de opções para colunas STATUS/DROPDOWN/LABELS. | GET /board/{boardId}/table/{tableId} |
list_rows | Lista linhas em uma tabela com query opcional, filter estruturado e sort. Não paginado. | GET /board/{boardId}/table/{tableId}/rows |
get_row | Obtém uma linha pelo rowId hex ou pelo rowNumber visível (forneça exatamente um). | GET …/row/{rowId} ou GET …/row-number/{rowNumber} |
create_row | Cria uma linha a partir de células { columnId, value }; description legada opcional. | POST /board/{boardId}/table/{tableId}/row |
update_row | Atualiza valores de células de uma linha existente por rowId (não edita texto longo). | PATCH …/row/{rowId} |
delete_row | Exclui permanentemente uma linha por rowId. Sem desfazer. | DELETE …/row/{rowId} |
get_row_markdown | Lê markdown de texto longo: a descrição legada da linha, ou uma célula de coluna RICH TEXT se columnId for fornecido. | GET …/row/{rowId}/md ou …/column/{columnId}/md |
set_row_markdown | Escreve markdown (replace/append/prepend) na descrição legada ou em uma célula de coluna RICH TEXT. Assíncrono (HTTP 202). | POST …/row/{rowId}/md ou …/column/{columnId}/md |
Busca
Escopo: nível de workspace (resultados filtrados pelas permissões do token).
| Ferramenta | Descrição | Capacidade da Public API |
|---|---|---|
search | Busca full-text entre entidades em documentos, channels, mensagens, todos, arquivos do drive, transcrições de voz e chats de IA. Restrinja com types. | GET /search/ |
Docs
Escopo: access_docs (documentos são exclusivos de PAT).
| Ferramenta | Descrição | Capacidade da Public API |
|---|---|---|
search_docs | Busca full-text em documentos com hits ranqueados e destaques. | GET /docs/search |
get_docs_tree | Navega na hierarquia de documentos; omita parentId para a raiz, limite com depth. | GET /docs/tree |
get_doc | Metadados do documento (título, ícone, capa, dono, pai, timestamps) por docId. | GET /docs/{docId} |
get_doc_content | Corpo markdown completo de um documento por docId (pode ser grande). | GET /docs/{docId}/md |
create_doc | Cria um documento com um title, parentId opcional e content inicial. | POST /docs/ |
set_doc_content | Escreve markdown (replace/append/prepend) no corpo de um documento. Assíncrono (HTTP 202). | POST /docs/{docId}/md |
update_doc_metadata | Atualiza o title, icon e/ou cover de um documento (não o corpo). | PATCH /docs/{docId} |
delete_doc | Exclui um documento por docId (apenas o dono). Sem desfazer. | DELETE /docs/{docId} |
Notificações
Escopo: access_notifications (para o próprio usuário do token).
| Ferramenta | Descrição | Capacidade da Public API |
|---|---|---|
list_notifications | Lista as notificações do usuário do token com unreadCount; paginado por cursor de id (after/before). | GET /notifications/ |
update_notification | Marca uma notificação como read ou unread por notificationId. | PATCH /notifications/{notificationId} |
delete_notification | Exclui uma notificação por notificationId. Sem desfazer. | DELETE /notifications/{notificationId} |
Chat
Escopo: access_channels.
| Ferramenta | Descrição | Capacidade da Public API |
|---|---|---|
list_channels | Lista channels e conversas de DM; filtra por query/type/kind/participantId; paginado por offset. | GET /chat/channels |
send_message | Envia uma mensagem para um channel (channelId) ou manda mensagem direta a um usuário (userId) — exatamente um. | POST /chat/channel/{channelId}/send-message ou POST /chat/direct-message/send-message |
Comentário
Escopo: access_boards. Comentários de linha e referências de anexos.
| Ferramenta | Descrição | Capacidade da Public API |
|---|---|---|
list_row_comments | Lista os comentários de uma linha (mais recentes primeiro) com metadados de autor e anexos; paginado por cursor; filtro de visibility. | GET …/row/{rowId}/comments |
add_row_comment | Adiciona um comentário a uma linha; visibility é internal (padrão) ou external. | POST …/row/{rowId}/comment |
get_row_attachment_url | Resolve uma downloadUrl autenticada para um anexo de coluna FILE ou de comentário (sem retornar bytes). | …/column/{columnId}/file/{fileId}/download ou …/comment/{commentId}/file/{fileId}/download |
Drive
Escopo: access_drive (o drive é exclusivo de PAT).
| Ferramenta | Descrição | Capacidade da Public API |
|---|---|---|
get_drive_tree | Navega no drive como uma árvore aninhada de arquivos/pastas; limitada por depth, com aprofundamento em caso de truncamento. | GET /drive/tree |
search_drive | Busca full-text em arquivos e pastas do drive. | GET /drive/search |
get_drive_item | Metadados de um único arquivo ou pasta por fileId. | GET /drive/files/{fileId} |
get_drive_download_url | URL de download CloudFront pré-assinada e com tempo limitado para um arquivo (sem necessidade de autenticação para baixar). | GET /drive/files/{fileId}/download |
create_drive_folder | Cria uma pasta na raiz ou sob um parentId. | POST /drive/folders |
Exportação
Escopo: access_boards.
| Ferramenta | Descrição | Capacidade da Public API |
|---|---|---|
export_table | Renderiza uma view de tabela para CSV/XLSX/JSON/MARKDOWN/HTML/PDF/ZIP/ICS; inline ou enfileirado; saveToDrive para exportações grandes/binárias. | POST /board/{boardId}/table/{tableId}/export |
Notas de comportamento
set_row_markdown e set_doc_content são enfileiradas (HTTP 202) — releia com get_row_markdown / get_doc_content para confirmar que a mudança foi aplicada. Envios para channels são síncronos; mensagens diretas são enfileiradas e podem não aparecer imediatamente.
delete_row, delete_doc e delete_notification removem dados permanentemente. Confirme o id de destino antes de chamá-las.
Nenhuma ferramenta jamais retorna bytes brutos de arquivo. get_drive_download_url retorna uma URL pré-assinada que você pode baixar sem autenticação; get_row_attachment_url retorna uma downloadUrl autenticada que você mesmo baixa com seu token bearer.
Para o schema de requisição/resposta de cada endpoint subjacente, veja a Referência da API.