Référence des outils MCP
Copera MCP Cloud expose 37 outils sur neuf domaines. Chaque outil est un wrapper léger autour d'un endpoint de la Copera Public API — la colonne Capacité Public API indique l'endpoint sous-jacent appelé par chaque outil.
| Domaine | Outils |
|---|---|
| Workspace | 3 |
| Board | 11 |
| Search | 1 |
| Docs | 8 |
| Notifications | 3 |
| Chat | 2 |
| Comment | 3 |
| Drive | 5 |
| Export | 1 |
| Total | 37 |
Le serveur est sans état, donc les outils board/table/ligne ont besoin d'ObjectIds hex explicites. Le flux de découverte est get_workspace_info → list_boards → list_tables → get_table_schema → list_rows. Appelez toujours get_table_schema avant d'écrire des lignes afin d'utiliser de vrais columnIds et des IDs d'options valides.
Workspace
Scope : niveau workspace (résultats filtrés par les permissions du token).
| Outil | Description | Capacité Public API |
|---|---|---|
get_workspace_info | Métadonnées de base du workspace auquel appartient le token (nom, slug, nombre de sièges, horodatages). | GET /workspace/info |
list_workspace_members | Liste les membres pour résoudre un id utilisateur à partir d'un nom ou d'un e-mail ; pagination par offset, query optionnel. | GET /workspace/members |
list_workspace_teams | Liste les équipes avec leurs ids d'utilisateurs participants ; pagination par offset, query optionnel. | GET /workspace/teams |
Board
Scope : access_boards. La boucle découverte → requête → écriture sur boards, tables et lignes.
| Outil | Description | Capacité Public API |
|---|---|---|
list_boards | Liste les boards accessibles au token, recherche par nom optionnelle. Commencez ici pour trouver un boardId. | GET /board/list-boards |
get_board | Métadonnées d'un board unique par boardId. | GET /board/{boardId} |
list_tables | Liste les tables d'un board avec définitions de colonnes, recherche par nom optionnelle. | GET /board/{boardId}/tables |
get_table_schema | Définitions de colonnes complètes d'une table, y compris les IDs d'options pour les colonnes STATUS/DROPDOWN/LABELS. | GET /board/{boardId}/table/{tableId} |
list_rows | Liste les lignes d'une table avec query optionnel, filter structuré et sort. Non paginé. | GET /board/{boardId}/table/{tableId}/rows |
get_row | Obtient une ligne par rowId hex ou par rowNumber visible (fournir exactement un). | GET …/row/{rowId} ou GET …/row-number/{rowNumber} |
create_row | Crée une ligne à partir de cellules { columnId, value } ; description héritée optionnelle. | POST /board/{boardId}/table/{tableId}/row |
update_row | Met à jour les valeurs de cellules d'une ligne existante par rowId (n'édite pas le texte long). | PATCH …/row/{rowId} |
delete_row | Supprime définitivement une ligne par rowId. Pas d'annulation. | DELETE …/row/{rowId} |
get_row_markdown | Lit le markdown de texte long : la description héritée de la ligne, ou une cellule de colonne RICH TEXT si columnId est fourni. | GET …/row/{rowId}/md ou …/column/{columnId}/md |
set_row_markdown | Écrit du markdown (replace/append/prepend) dans la description héritée ou une cellule de colonne RICH TEXT. Async (HTTP 202). | POST …/row/{rowId}/md ou …/column/{columnId}/md |
Search
Scope : niveau workspace (résultats filtrés par les permissions du token).
| Outil | Description | Capacité Public API |
|---|---|---|
search | Recherche full-text cross-entité sur documents, channels, messages, todos, fichiers drive, transcriptions vocales et chats IA. Restreindre avec types. | GET /search/ |
Docs
Scope : access_docs (les documents sont PAT uniquement).
| Outil | Description | Capacité Public API |
|---|---|---|
search_docs | Recherche full-text dans les documents avec résultats classés et surlignages. | GET /docs/search |
get_docs_tree | Parcourt la hiérarchie des documents ; omettre parentId pour la racine, borner avec depth. | GET /docs/tree |
get_doc | Métadonnées du document (titre, icône, cover, propriétaire, parent, horodatages) par docId. | GET /docs/{docId} |
get_doc_content | Corps markdown complet d'un document par docId (peut être volumineux). | GET /docs/{docId}/md |
create_doc | Crée un document avec un title, parentId et content d'amorçage optionnels. | POST /docs/ |
set_doc_content | Écrit du markdown (replace/append/prepend) dans le corps d'un document. Async (HTTP 202). | POST /docs/{docId}/md |
update_doc_metadata | Met à jour le title, l'icon et/ou le cover d'un document (pas le corps). | PATCH /docs/{docId} |
delete_doc | Supprime un document par docId (propriétaire uniquement). Pas d'annulation. | DELETE /docs/{docId} |
Notifications
Scope : access_notifications (pour l'utilisateur du token).
| Outil | Description | Capacité Public API |
|---|---|---|
list_notifications | Liste les notifications de l'utilisateur du token avec unreadCount ; pagination par curseur d'id (after/before). | GET /notifications/ |
update_notification | Marque une notification read ou unread par notificationId. | PATCH /notifications/{notificationId} |
delete_notification | Supprime une notification par notificationId. Pas d'annulation. | DELETE /notifications/{notificationId} |
Chat
Scope : access_channels.
| Outil | Description | Capacité Public API |
|---|---|---|
list_channels | Liste les channels et conversations DM ; filtrer par query/type/kind/participantId ; pagination par offset. | GET /chat/channels |
send_message | Envoie un message à un channel (channelId) ou un message direct à un utilisateur (userId) — exactement un des deux. | POST /chat/channel/{channelId}/send-message ou POST /chat/direct-message/send-message |
Comment
Scope : access_boards. Commentaires de ligne et références de pièces jointes.
| Outil | Description | Capacité Public API |
|---|---|---|
list_row_comments | Liste les commentaires d'une ligne (plus récents en premier) avec auteur et métadonnées de pièces jointes ; pagination par curseur ; filtre visibility. | GET …/row/{rowId}/comments |
add_row_comment | Ajoute un commentaire à une ligne ; visibility est internal (défaut) ou external. | POST …/row/{rowId}/comment |
get_row_attachment_url | Résout une downloadUrl authentifiée pour une pièce jointe de colonne FILE ou de commentaire (aucun octet renvoyé). | …/column/{columnId}/file/{fileId}/download ou …/comment/{commentId}/file/{fileId}/download |
Drive
Scope : access_drive (le drive est PAT uniquement).
| Outil | Description | Capacité Public API |
|---|---|---|
get_drive_tree | Parcourt le drive comme un arbre imbriqué de fichiers/dossiers ; borné par depth, avec drill-down de troncature. | GET /drive/tree |
search_drive | Recherche full-text dans les fichiers et dossiers du drive. | GET /drive/search |
get_drive_item | Métadonnées d'un fichier ou dossier unique par fileId. | GET /drive/files/{fileId} |
get_drive_download_url | URL de téléchargement CloudFront pré-signée à durée limitée pour un fichier (aucune auth nécessaire pour le fetch). | GET /drive/files/{fileId}/download |
create_drive_folder | Crée un dossier à la racine ou sous un parentId. | POST /drive/folders |
Export
Scope : access_boards.
| Outil | Description | Capacité Public API |
|---|---|---|
export_table | Rend une vue de table en CSV/XLSX/JSON/MARKDOWN/HTML/PDF/ZIP/ICS ; inline ou en file d'attente ; saveToDrive pour les exports volumineux/binaires. | POST /board/{boardId}/table/{tableId}/export |
Notes de comportement
set_row_markdown et set_doc_content sont mis en file (HTTP 202) — relisez avec get_row_markdown / get_doc_content pour confirmer que le changement a été appliqué. Les envois de channel sont synchrones ; les messages directs sont mis en file et peuvent ne pas apparaître immédiatement.
delete_row, delete_doc et delete_notification suppriment définitivement des données. Confirmez l'id cible avant de les appeler.
Aucun outil ne renvoie jamais d'octets de fichier bruts. get_drive_download_url renvoie une URL pré-signée que vous pouvez récupérer sans auth ; get_row_attachment_url renvoie une downloadUrl authentifiée que vous récupérez vous-même avec votre bearer token.
Pour le schéma requête/réponse de chaque endpoint sous-jacent, voir la Référence de l'API.