Saltar al contenido principal

Referencia de herramientas de MCP

Esta página enumera 52 herramientas de Copera MCP Cloud en diez dominios. Cada herramienta es un envoltorio delgado sobre un endpoint de la Copera Public API — la columna capacidad de la Public API muestra el endpoint subyacente que llama cada herramienta.

DominioHerramientas
Workspace3
Board11
Búsqueda1
Docs8
Notificaciones3
Chat2
Comentarios3
Drive5
Exportación1
Artefactos15
Total52
El descubrimiento es explícito

El servidor es sin estado, así que las herramientas de board/tabla/fila necesitan ObjectIds hexadecimales explícitos. El flujo de descubrimiento es get_workspace_info → list_boards → list_tables → get_table_schema → list_rows. Siempre llama a get_table_schema antes de escribir filas para usar columnIds reales e IDs de opción válidos.

Workspace​

Scope: nivel de workspace (resultados filtrados por los permisos del token).

HerramientaDescripciónCapacidad de la Public API
get_workspace_infoMetadatos básicos sobre el workspace al que pertenece el token (nombre, slug, número de asientos, timestamps).GET /workspace/info
list_workspace_membersLista miembros para resolver un id de usuario a partir de un nombre o email; paginado por offset, query opcional.GET /workspace/members
list_workspace_teamsLista equipos con los ids de usuario de sus participantes; paginado por offset, query opcional.GET /workspace/teams

Board​

Scope: access_boards. El ciclo de descubrimiento → consulta → escritura sobre boards, tablas y filas.

HerramientaDescripciónCapacidad de la Public API
list_boardsLista los boards a los que el token puede acceder, con búsqueda por nombre opcional. Empieza aquí para encontrar un boardId.GET /board/list-boards
get_boardMetadatos de un único board por boardId.GET /board/{boardId}
list_tablesLista las tablas de un board con sus definiciones de columnas, con búsqueda por nombre opcional.GET /board/{boardId}/tables
get_table_schemaDefiniciones completas de las columnas de una tabla, incluyendo los IDs de opción de las columnas STATUS/DROPDOWN/LABELS.GET /board/{boardId}/table/{tableId}
list_rowsLista las filas de una tabla con query opcional, filter estructurado y sort. No paginado.GET /board/{boardId}/table/{tableId}/rows
get_rowObtiene una fila por rowId hexadecimal o por rowNumber visible (proporciona exactamente uno).GET …/row/{rowId} or GET …/row-number/{rowNumber}
create_rowCrea una fila a partir de celdas { columnId, value }; description legacy opcional.POST /board/{boardId}/table/{tableId}/row
update_rowActualiza los valores de celda de una fila existente por rowId (no edita texto largo).PATCH …/row/{rowId}
delete_rowElimina permanentemente una fila por rowId. Sin deshacer.DELETE …/row/{rowId}
get_row_markdownLee markdown de texto largo: la descripción legacy de la fila, o una celda de columna RICH TEXT si se proporciona columnId.GET …/row/{rowId}/md or …/column/{columnId}/md
set_row_markdownEscribe markdown (reemplazar/anexar/anteponer) en la descripción legacy o en una celda de columna RICH TEXT. Asíncrono (HTTP 202).POST …/row/{rowId}/md or …/column/{columnId}/md

Scope: nivel de workspace (resultados filtrados por los permisos del token).

HerramientaDescripciónCapacidad de la Public API
searchBúsqueda de texto completo entre entidades sobre documentos, canales, mensajes, todos, archivos de drive, transcripciones de voz y chats de IA. Restringe con types.GET /search/

Docs​

Scope: access_docs (los documentos son solo PAT).

HerramientaDescripciónCapacidad de la Public API
search_docsBúsqueda de texto completo en documentos con resultados rankeados y resaltados.GET /docs/search
get_docs_treeNavega la jerarquía de documentos; omite parentId para la raíz, acota con depth.GET /docs/tree
get_docMetadatos del documento (título, icono, portada, propietario, padre, timestamps) por docId.GET /docs/{docId}
get_doc_contentCuerpo markdown completo de un documento por docId (puede ser grande).GET /docs/{docId}/md
create_docCrea un documento con un title, parentId opcional y content inicial.POST /docs/
set_doc_contentEscribe markdown (reemplazar/anexar/anteponer) en el cuerpo de un documento. Asíncrono (HTTP 202).POST /docs/{docId}/md
update_doc_metadataActualiza el title, icon y/o cover de un documento (no el cuerpo).PATCH /docs/{docId}
delete_docElimina un documento por docId (solo el propietario). Sin deshacer.DELETE /docs/{docId}

Notificaciones​

Scope: access_notifications (para el propio usuario del token).

HerramientaDescripciónCapacidad de la Public API
list_notificationsLista las notificaciones del usuario del token con unreadCount; paginado por cursor de id (after/before).GET /notifications/
update_notificationMarca una notificación como read o unread por notificationId.PATCH /notifications/{notificationId}
delete_notificationElimina una notificación por notificationId. Sin deshacer.DELETE /notifications/{notificationId}

Chat​

Scope: access_channels.

HerramientaDescripciónCapacidad de la Public API
list_channelsLista canales y conversaciones de DM; filtra por query/type/kind/participantId; paginado por offset.GET /chat/channels
send_messageEnvía un mensaje a un canal (channelId) o un mensaje directo a un usuario (userId) — exactamente uno.POST /chat/channel/{channelId}/send-message or POST /chat/direct-message/send-message

Comentarios​

Scope: access_boards. Comentarios de fila y referencias de adjuntos.

HerramientaDescripciónCapacidad de la Public API
list_row_commentsLista los comentarios de una fila (más recientes primero) con metadatos de autor y adjuntos; paginado por cursor; filtro visibility.GET …/row/{rowId}/comments
add_row_commentAgrega un comentario a una fila; visibility es internal (por defecto) o external.POST …/row/{rowId}/comment
get_row_attachment_urlResuelve un downloadUrl autenticado para un adjunto de columna FILE o de comentario (no devuelve bytes).…/column/{columnId}/file/{fileId}/download or …/comment/{commentId}/file/{fileId}/download

Drive​

Scope: access_drive (drive es solo PAT).

HerramientaDescripciónCapacidad de la Public API
get_drive_treeNavega el drive como un árbol anidado de archivos/carpetas; acotado por depth, con drill-down ante truncamiento.GET /drive/tree
search_driveBúsqueda de texto completo en archivos y carpetas del drive.GET /drive/search
get_drive_itemMetadatos de un único archivo o carpeta por fileId.GET /drive/files/{fileId}
get_drive_download_urlURL de descarga prefirmada de CloudFront con tiempo limitado para un archivo (no requiere auth para obtenerla).GET /drive/files/{fileId}/download
create_drive_folderCrea una carpeta en la raíz o bajo un parentId.POST /drive/folders

Exportación​

Scope: access_boards.

HerramientaDescripciónCapacidad de la Public API
export_tableRenderiza una vista de tabla a CSV/XLSX/JSON/MARKDOWN/HTML/PDF/ZIP/ICS; inline o en cola; saveToDrive para exportaciones grandes/binarias.POST /board/{boardId}/table/{tableId}/export

Artefactos​

Scope: access_drive, y tu workspace debe tener Artefactos disponibles. Lee y edita las apps, dashboards y páginas que la gente crea en Copera — y entrégaselos a un agente de programación.

HerramientaDescripciónCapacidad de la Public API
get_artifact_handoffLa única llamada para construir a partir de un artefacto. Devuelve el enlace del artefacto, la versión, la Spec, las notas, el diseño compartido (pautas, tokens, componentes y assets con enlaces de descarga de corta duración), cada página (superficie, viewport, archivo de entrada y los archivos que carga), los enlaces entre páginas y los archivos de código. versionId y maxInlineBytes opcionales.GET /artifacts/{artifactId}/handoff
list_artifactsLista los artefactos que puedes abrir; scope es mine o shared, search opcional, paginado por cursor (after, limit hasta 50).GET /artifacts/
get_artifactLa versión actual del artefacto: páginas, diseño compartido, assets, la lista de archivos con digests SHA-256 y la vista previa. Lee el contenido de los archivos con read_artifact_source.GET /artifacts/{artifactId}
list_artifact_versionsEl historial de versiones del artefacto; paginado por cursor (after, limit hasta 50).GET /artifacts/{artifactId}/versions
get_artifact_versionPáginas, diseño compartido y lista de archivos de una versión (versionId). Una versión nunca cambia una vez guardada.GET …/versions/{versionId}
read_artifact_sourceLee un archivo de código (path) de una versión en bloques acotados. Continúa con el nextCursor devuelto hasta que eof sea true.GET …/versions/{versionId}/source
get_artifact_page_previewVista previa de una página (pageId) de una versión.GET …/versions/{versionId}/pages/{pageId}/preview
get_artifact_design_snapshotUna copia reutilizable del diseño compartido de una versión (pautas, tokens, componentes, assets) con su digest — pásala a create_artifact como reuseDesign.GET …/versions/{versionId}/design
list_artifact_design_startersLos design starters seleccionados (como shadcn-core-v1) y sus dependencias fijadas.GET /artifacts/starters
list_artifact_assetsLogos, fuentes, imágenes y referencias añadidos al diseño del artefacto.GET /artifacts/{artifactId}/design-assets
import_artifact_assetAñade un archivo que subiste (fileId) al diseño del artefacto como logo, font, image o reference, con altText opcional. Colócalo en una página con patch_artifact_source.POST /artifacts/{artifactId}/design-assets
patch_artifact_sourceEdita archivos de código sobre baseVersionId con operaciones replace_text, put_file y delete_file (hasta 32 archivos), cada una comprobada contra el SHA-256 actual del archivo. En cola — consulta get_artifact_request.POST /artifacts/{artifactId}/source-patches
list_artifact_requestsSolicitudes de edición recientes del artefacto, con su estado y la versión que produjo cada una.GET /artifacts/{artifactId}/requests
get_artifact_requestEstado de una solicitud de edición (requestId) y la versión exacta que produjo.GET /artifacts/{artifactId}/requests/{requestId}
create_artifactCrea un artefacto privado a partir de tu propio proyecto de código (static_web o vite_react), con un title, un request que describe para qué sirve y una idempotencyKey. Opcionalmente parte de un design starter (designStarterId) o reutiliza un diseño (reuseDesign) — uno u otro.POST /artifacts/
Construye a partir de un artefacto con una llamada

get_artifact_handoff es todo lo que necesita un agente de programación. Recorre el resultado en orden: lee la Spec, luego las notas, luego configura el diseño, luego construye cada página a partir de sus archivos y, por último, conecta los enlaces entre páginas — y sigue los nextSteps devueltos. Omite versionId para obtener la última versión que se construyó correctamente. El contenido de los archivos se incluye hasta maxInlineBytes (32 KiB por defecto, hasta 1 MiB si tu cliente acepta resultados grandes); los archivos marcados con omitted: "over_budget" se leen con read_artifact_source usando el id de versión devuelto. Consulta Construye con tu agente de programación para la configuración.

Notas de comportamiento​

Las escrituras asíncronas son consistentes en el tiempo

set_row_markdown y set_doc_content se encolan (HTTP 202) — vuelve a leer con get_row_markdown / get_doc_content para confirmar que el cambio se aplicó. Los envíos a canales son síncronos; los mensajes directos se encolan y pueden no aparecer de inmediato.

Las ediciones de artefactos se encolan

patch_artifact_source y create_artifact devuelven un recibo, no un build terminado. Tras un patch, consulta get_artifact_request hasta que la solicitud se complete o falle y luego lee la versión que produjo; tras un create, lee el artefacto devuelto y su vista previa. Reutiliza una idempotencyKey solo para reintentar la solicitud idéntica. Si un archivo cambió desde que lo leíste, la edición falla con un conflicto — vuelve a leerlo y reintenta.

Las herramientas destructivas no se pueden deshacer

delete_row, delete_doc y delete_notification eliminan datos de forma permanente. Confirma el id de destino antes de llamarlas.

Ninguna herramienta devuelve nunca bytes de archivo en bruto. get_drive_download_url devuelve una URL prefirmada que puedes obtener sin auth; get_row_attachment_url devuelve un downloadUrl autenticado que obtienes tú mismo con tu bearer token.

Para el esquema de petición/respuesta de cada endpoint subyacente, consulta la Referencia de la API.