Qué es esto
El catálogo completo de herramientas que el Servidor MCP de ComStack expone a los asistentes de IA. La disponibilidad de las herramientas se filtra según el rol del usuario: un espectador no verá herramientas exclusivas para gestores, y dichas herramientas no aparecerán en tools/list.
Cómo funciona
Cada herramienta incluye ToolAnnotations de MCP que indican a los clientes qué tipo de interfaz de aprobación mostrar:
readOnlyHint: true — solo lectura; los clientes pueden ejecutarla sin solicitar aprobación.
destructiveHint: true — modifica el estado de forma difícil de revertir; los clientes muestran una solicitud de aprobación con los argumentos visibles.
destructiveHint: false + idempotentHint: false — escritura aditiva (ej. create-page); seguro de ejecutar pero no idempotente.
Las anotaciones son informativas: el servidor aplica la autenticación, las comprobaciones de rol, el eco de project_name y el flujo de token de confirmación independientemente.
Cuándo usarlo
Consulta esta página para entender qué herramientas están disponibles para un rol determinado, qué anotaciones tienen y qué flujo de aprobación utilizará el cliente.
Parámetros / campos / entradas
La columna Role muestra el rol mínimo requerido.
Identidad y acceso al proyecto
| Herramienta | Rol | Tipo | Descripción |
|---|
whoami | cualquiera | lectura | Muestra la identidad conectada. |
list-my-projects | cualquiera | lectura | Lista proyectos accesibles con tu rol en cada uno. |
create-project | cualquiera | escritura | Crea un nuevo proyecto a partir de una plantilla. |
get-guide | cualquiera | lectura | Guía del agente, esquema de metadatos y lista de verificación Lighthouse. |
report-feedback | cualquiera | escritura | Reporta un error o sugerencia de mejora. |
Estado del proyecto
| Herramienta | Rol | Tipo | Descripción |
|---|
get-project-state | espectador | lectura | Instantánea completa: páginas por estado, plantillas, idiomas, modo de traducción y next_action por página. |
get-page-content | espectador | lectura | Obtiene una página incluyendo estado, audiencia y next_action. |
list-pages | espectador | lectura | Filtra páginas por estado, audiencia, plantilla o idioma. |
search-docs | espectador | lectura | Búsqueda por palabras clave en todas las páginas. |
list-project-doc-templates | espectador | lectura | Plantillas de página disponibles en este proyecto. |
Edición de páginas
| Herramienta | Rol | Tipo | Descripción |
|---|
create-page | editor | escritura | Crea un borrador. Valida todos los campos y rechaza colisiones de ruta o slug. |
update-page | editor | destructivo | Edita una página existente. Las páginas activas pasan a ser un nuevo borrador; la URL en vivo se mantiene hasta publicar. |
Aprobaciones y traducción
| Herramienta | Rol | Tipo | Descripción |
|---|
approve-page | gestor | idempotente | Aprueba un borrador. Se ejecuta la validación completa; las traducciones inician automáticamente. |
translate-page | gestor | idempotente | Reintenta la distribución de traducción para una página aprobada o lista. |
submit-page-translation | editor | idempotente | Proporciona la traducción de un idioma para una página fuente aprobada. |
Publicación
| Herramienta | Rol | Tipo | Descripción |
|---|
publish | gestor | lectura | Simulación: genera el manifiesto de páginas listas con diferencias y un token de confirmación (TTL 5 min). |
publish-confirm | gestor | destructivo | Despliegue: usa el token para publicar páginas listas. Asíncrono: consulta publish-status para resultados. |
publish-status | espectador | lectura | Consulta el progreso de publicación; devuelve published_urls al finalizar. |
list-publish-history | espectador | lectura | Publicaciones recientes con ventana de reversión. |
revert-publish | gestor | destructivo | Revierte la última publicación en 1 hora. Requiere project_name. |
Gestión de páginas
| Herramienta | Rol | Tipo | Descripción |
|---|
delete-page | gestor | destructivo | Eliminación permanente (sin deshacer). Requiere project_name. |
set-page-status | gestor | destructivo | Archiva, restaura o revierte una página. Requiere project_name. |
set-page-audience | gestor | destructivo | Define quién ve la página: public, agents, members o internal. Requiere project_name. |
Configuración del sitio
| Herramienta | Rol | Tipo | Descripción |
|---|
update-theme | gestor | destructivo | Define colores, fuentes y CSS para el sitio de documentación. |
update-design | gestor | destructivo | Diseña el sitio en vivo y páginas personalizadas. |
update-website-settings | gestor | destructivo | Define la lista de países del sitio publicado. Requiere project_name. |
update-advanced-settings | gestor | destructivo | Actualiza ajustes avanzados incluyendo el modo de traducción. |
update-live-agent-settings | gestor | destructivo | Configura los ajustes del agente de voz en vivo. |
update-legal-settings | gestor | destructivo | Actualiza ajustes legales y de cumplimiento. |
update-chrome-ingest-settings | gestor | destructivo | Configura los ajustes de ingesta de la extensión de Chrome. |
update-custom-pages-settings | gestor | destructivo | Configura los ajustes del módulo de páginas personalizadas. |
Sincronización con GitHub
| Herramienta | Rol | Tipo | Descripción |
|---|
connect-github | gestor | destructivo | Guarda repositorio, rama y carpeta de docs. Requiere project_name. |
pull-and-publish | gestor | destructivo | Sincronización de reemplazo total desde GitHub. Requiere confirm: "REPLACE_ALL_DOCS" y project_name. |
get-github-config | miembro | lectura | Estado actual de la conexión con GitHub. |
update-github-sync | gestor | destructivo | Actualiza los ajustes de sincronización con GitHub. |
Navegación
| Herramienta | Rol | Tipo | Descripción |
|---|
list-sidebar-groups | miembro | lectura | Lista los grupos de la barra lateral. |
get-sidebar-group | miembro | lectura | Obtiene un grupo de la barra lateral. |
create-sidebar-group | gestor | escritura | Crea un nuevo grupo. Requiere project_name. |
update-sidebar-group | gestor | destructivo | Edita etiqueta, orden, icono o visibilidad. Requiere project_name. |
delete-sidebar-group | gestor | destructivo | Elimina un grupo. Requiere project_name. |
reorder-sidebar-groups | gestor | destructivo | Reemplaza el orden de los grupos. Requiere project_name. |
reorder-pages-in-group | gestor | destructivo | Reordena páginas dentro de un grupo. Requiere project_name. |
list-header-nav-items | miembro | lectura | Lista elementos de navegación superior. |
create-header-nav-item | gestor | escritura | Crea un elemento de navegación superior. Requiere project_name. |
update-header-nav-item | gestor | destructivo | Edita etiqueta, URL, icono o visibilidad. Requiere project_name. |
delete-header-nav-item | gestor | destructivo | Elimina un elemento de navegación. Requiere project_name. |
reorder-header-nav-items | gestor | destructivo | Reemplaza el orden de navegación superior. Requiere project_name. |
Páginas personalizadas y medios
| Herramienta | Rol | Tipo | Descripción |
|---|
upload-custom-page | editor | destructivo | Sube una página personalizada. Reemplaza body_source y extrae cadenas traducibles. |
upload-media | editor | escritura | Sube imagen o video; devuelve URL optimizada. |
Cuenta y uso
| Herramienta | Rol | Tipo | Descripción |
|---|
get-usage-report | cualquiera | lectura | Totales de uso de la cuenta y desglose por módulos. |
get-credit-balance | cualquiera | lectura | Créditos disponibles, saldo y reservas. |
list-api-keys | cualquiera | lectura | Claves API del proyecto. |
generate-api-key | gestor | escritura | Genera una nueva clave API. |
revoke-api-key | gestor | destructivo | Revoca una clave API. |
repair-translations | gestor | destructivo | Repara traducciones faltantes. Requiere project_name. |
lookup-company | cualquiera | lectura | Busca una empresa. |
Plantillas de página (admin)
| Herramienta | Rol | Tipo | Descripción |
|---|
list-doc-templates | cualquiera | lectura | Todas las plantillas de página en la plataforma. |
get-doc-template | cualquiera | lectura | Esquema, ejemplo de metadatos y plantilla markdown. |
create-doc-template | admin | escritura | Crea una nueva plantilla de página. |
update-doc-template | admin | destructivo | Actualiza una plantilla existente. |
delete-doc-template | admin | destructivo | Elimina una plantilla de página. |
list-project-templates | admin | lectura | Plantillas de proyecto en la plataforma. |
get-project-template | admin | lectura | Obtiene una plantilla de proyecto. |
create-project-template | admin | escritura | Crea una nueva plantilla de proyecto. |
update-project-template | admin | destructivo | Actualiza una plantilla de proyecto. |
delete-project-template | admin | destructivo | Elimina una plantilla de proyecto. |
assign-project-template | admin | destructivo | Asigna una plantilla a un proyecto. |
unassign-project-template | admin | destructivo | Elimina una plantilla de un proyecto. |
Flujos y pasos
| Herramienta | Rol | Tipo | Descripción |
|---|
list-flows | espectador | lectura | Lista todos los flujos. |
get-flow | espectador | lectura | Obtiene un flujo. |
create-flow | editor | escritura | Crea un nuevo flujo. |
update-flow | editor | destructivo | Actualiza un flujo. |
delete-flow | gestor | destructivo | Elimina un flujo. |
list-steps | espectador | lectura | Lista pasos en un flujo. |
get-step | espectador | lectura | Obtiene un paso. |
add-step | editor | escritura | Añade un paso a un flujo. |
update-step | editor | destructivo | Actualiza un paso. |
remove-step | gestor | destructivo | Elimina un paso. |
list-step-types | espectador | lectura | Tipos de pasos disponibles. |
Ejemplo
Comprobar qué herramientas están disponibles para tu rol:
Llama a get-project-state: el campo next_action en cada fila de página te indica el siguiente paso y si tu rol puede realizarlo (next_action_allowed y next_action_min_role). La respuesta de tools/list está prefiltrada para tu rol.
Errores comunes
| Error | Causa | Solución |
|---|
Herramienta ausente en tools/list | Rol insuficiente | Usa una cuenta con mayor rol o pide a un gestor |
403 project_name mismatch | project_name no coincide | Llama a get-project-state primero |
| Error de validación en escritura | Faltan campos obligatorios | La respuesta detalla todos los problemas |
Relacionado