MCP-Tool-Referenz
Copera MCP Cloud stellt 37 Tools in neun Domänen bereit. Jedes Tool ist ein dünner Wrapper über einen Endpunkt der Copera Public API — die Spalte Public-API-Fähigkeit zeigt den darunterliegenden Endpunkt.
| Domäne | Tools |
|---|---|
| Workspace | 3 |
| Board | 11 |
| Suche | 1 |
| Docs | 8 |
| Benachrichtigungen | 3 |
| Chat | 2 |
| Kommentar | 3 |
| Drive | 5 |
| Export | 1 |
| Gesamt | 37 |
Der Server ist zustandslos, daher brauchen Board-/Tabellen-/Zeilen-Tools explizite Hex-ObjectIds. Der Discovery-Flow ist get_workspace_info → list_boards → list_tables → get_table_schema → list_rows. Rufen Sie vor dem Schreiben von Zeilen immer get_table_schema auf, damit Sie echte columnIds und gültige Options-IDs verwenden.
Workspace
Scope: workspace-weit (Ergebnisse nach Token-Berechtigungen gefiltert).
| Tool | Beschreibung | Public-API-Fähigkeit |
|---|---|---|
get_workspace_info | Basis-Metadaten des Workspace, zu dem das Token gehört (Name, Slug, Seat-Anzahl, Zeitstempel). | GET /workspace/info |
list_workspace_members | Members listen, um eine User-ID aus Name oder E-Mail aufzulösen; offset-paginiert, optionales query. | GET /workspace/members |
list_workspace_teams | Teams mit Teilnehmer-User-IDs listen; offset-paginiert, optionales query. | GET /workspace/teams |
Board
Scope: access_boards. Der Discovery → Query → Write-Loop über Boards, Tabellen und Zeilen.
| Tool | Beschreibung | Public-API-Fähigkeit |
|---|---|---|
list_boards | Boards listen, auf die das Token zugreifen kann, optionale Namenssuche. Hier starten, um eine boardId zu finden. | GET /board/list-boards |
get_board | Metadaten eines einzelnen Boards per boardId. | GET /board/{boardId} |
list_tables | Tabellen eines Boards mit Spaltendefinitionen listen, optionale Namenssuche. | GET /board/{boardId}/tables |
get_table_schema | Vollständige Spaltendefinitionen einer Tabelle inkl. Options-IDs für STATUS/DROPDOWN/LABELS. | GET /board/{boardId}/table/{tableId} |
list_rows | Zeilen einer Tabelle mit optionalem query, strukturiertem filter und sort. Nicht paginiert. | GET /board/{boardId}/table/{tableId}/rows |
get_row | Eine Zeile per Hex-rowId oder sichtbarer rowNumber holen (genau eine angeben). | GET …/row/{rowId} oder GET …/row-number/{rowNumber} |
create_row | Zeile aus Zellen { columnId, value } anlegen; optionale Legacy-description. | POST /board/{boardId}/table/{tableId}/row |
update_row | Zellwerte einer bestehenden Zeile per rowId aktualisieren (bearbeitet keinen Langtext). | PATCH …/row/{rowId} |
delete_row | Zeile per rowId dauerhaft löschen. Kein Undo. | DELETE …/row/{rowId} |
get_row_markdown | Langtext-Markdown lesen: Legacy-Zeilenbeschreibung oder RICH-TEXT-Spaltenzelle, wenn columnId angegeben. | GET …/row/{rowId}/md oder …/column/{columnId}/md |
set_row_markdown | Markdown (replace/append/prepend) in die Legacy-Beschreibung oder eine RICH-TEXT-Spaltenzelle schreiben. Async (HTTP 202). | POST …/row/{rowId}/md oder …/column/{columnId}/md |
Suche
Scope: workspace-weit (Ergebnisse nach Token-Berechtigungen gefiltert).
| Tool | Beschreibung | Public-API-Fähigkeit |
|---|---|---|
search | Cross-Entity-Volltextsuche über Dokumente, Channels, Nachrichten, Todos, Drive-Dateien, Voice-Transkriptionen und KI-Chats. Mit types einschränken. | GET /search/ |
Docs
Scope: access_docs (Dokumente sind PAT-only).
| Tool | Beschreibung | Public-API-Fähigkeit |
|---|---|---|
search_docs | Volltextsuche über Dokumente mit gerankten Hits und Highlights. | GET /docs/search |
get_docs_tree | Dokumenthierarchie browsen; parentId weglassen für Root, mit depth begrenzen. | GET /docs/tree |
get_doc | Dokument-Metadaten (Titel, Icon, Cover, Owner, Parent, Zeitstempel) per docId. | GET /docs/{docId} |
get_doc_content | Vollständiger Markdown-Body eines Dokuments per docId (kann groß sein). | GET /docs/{docId}/md |
create_doc | Dokument mit title anlegen, optionalem parentId und Seed-content. | POST /docs/ |
set_doc_content | Markdown (replace/append/prepend) in einen Dokument-Body schreiben. Async (HTTP 202). | POST /docs/{docId}/md |
update_doc_metadata | title, icon und/oder cover eines Dokuments aktualisieren (nicht den Body). | PATCH /docs/{docId} |
delete_doc | Dokument per docId löschen (nur Owner). Kein Undo. | DELETE /docs/{docId} |
Benachrichtigungen
Scope: access_notifications (für den eigenen Benutzer des Tokens).
| Tool | Beschreibung | Public-API-Fähigkeit |
|---|---|---|
list_notifications | Benachrichtigungen des Token-Benutzers mit unreadCount listen; ID-Cursor-paginiert (after/before). | GET /notifications/ |
update_notification | Eine Benachrichtigung per notificationId als read oder unread markieren. | PATCH /notifications/{notificationId} |
delete_notification | Eine Benachrichtigung per notificationId löschen. Kein Undo. | DELETE /notifications/{notificationId} |
Chat
Scope: access_channels.
| Tool | Beschreibung | Public-API-Fähigkeit |
|---|---|---|
list_channels | Channels und DM-Unterhaltungen listen; filtern nach query/type/kind/participantId; offset-paginiert. | GET /chat/channels |
send_message | Nachricht an einen Channel (channelId) senden oder einem Benutzer eine DM (userId) — genau eine. | POST /chat/channel/{channelId}/send-message oder POST /chat/direct-message/send-message |
Kommentar
Scope: access_boards. Zeilenkommentare und Anhangsreferenzen.
| Tool | Beschreibung | Public-API-Fähigkeit |
|---|---|---|
list_row_comments | Kommentare einer Zeile listen (neueste zuerst) mit Autor- und Anhangs-Metadaten; cursor-paginiert; Filter visibility. | GET …/row/{rowId}/comments |
add_row_comment | Kommentar zu einer Zeile hinzufügen; visibility ist internal (Standard) oder external. | POST …/row/{rowId}/comment |
get_row_attachment_url | Authentifizierte downloadUrl für einen FILE-Spalten- oder Kommentar-Anhang auflösen (keine Bytes zurück). | …/column/{columnId}/file/{fileId}/download oder …/comment/{commentId}/file/{fileId}/download |
Drive
Scope: access_drive (Drive ist PAT-only).
| Tool | Beschreibung | Public-API-Fähigkeit |
|---|---|---|
get_drive_tree | Drive als verschachtelten Datei-/Ordner-Baum browsen; depth-begrenzt, mit Truncation-Drill-down. | GET /drive/tree |
search_drive | Volltextsuche über Drive-Dateien und -Ordner. | GET /drive/search |
get_drive_item | Metadaten einer einzelnen Datei oder eines Ordners per fileId. | GET /drive/files/{fileId} |
get_drive_download_url | Zeitlich begrenzte presigned CloudFront-Download-URL für eine Datei (kein Auth nötig zum Abruf). | GET /drive/files/{fileId}/download |
create_drive_folder | Ordner an der Root oder unter einer parentId anlegen. | POST /drive/folders |
Export
Scope: access_boards.
| Tool | Beschreibung | Public-API-Fähigkeit |
|---|---|---|
export_table | Tabellen-View nach CSV/XLSX/JSON/MARKDOWN/HTML/PDF/ZIP/ICS rendern; inline oder queued; saveToDrive für große/binäre Exporte. | POST /board/{boardId}/table/{tableId}/export |
Verhaltenshinweise
set_row_markdown und set_doc_content werden in die Queue gestellt (HTTP 202) — erneut mit get_row_markdown / get_doc_content lesen, um zu bestätigen, dass die Änderung gelandet ist. Channel-Sends sind synchron; Direktnachrichten sind queued und erscheinen möglicherweise nicht sofort.
delete_row, delete_doc und delete_notification entfernen Daten dauerhaft. Bestätigen Sie die Ziel-ID, bevor Sie sie aufrufen.
Kein Tool liefert jemals rohe Dateibytes. get_drive_download_url liefert eine presigned URL, die Sie ohne Auth abrufen können; get_row_attachment_url liefert eine authentifizierte downloadUrl, die Sie selbst mit Ihrem Bearer-Token abrufen.
Für das Request-/Response-Schema jedes darunterliegenden Endpunkts siehe die API-Referenz.