mttrly
Gestión de incidentes y monitoreo de servidores impulsados por IA a través de MCP.
Documentación
Servidor MCP de mttrly
Acceso MCP remoto a mttrly, un agente de SRE con IA para la salud de servidores, diagnósticos, runbooks, aprobaciones e historial de auditoría.
Alcance
mttrly MCP es un conector remoto Streamable HTTP. Cada llamada de herramienta llega primero a la API Central de mttrly; Central luego se comunica con los agentes conectados a través del canal seguro de agentes existente. Un agente independiente no expone una superficie MCP local.
La variante A está intencionalmente diseñada para ser remota primero: los catálogos públicos apuntan al endpoint alojado, OAuth maneja la autorización de usuarios y no se requiere un paquete npm para la configuración normal del cliente.
Conectar
Claude.ai y Claude Desktop
Usa la interfaz del conector:
- Abre Configuración -> Conectores.
- Elige Añadir conector personalizado.
- Ingresa
https://api.mttrly.com/mcp. - Completa el flujo de inicio de sesión OAuth.
No coloques la URL remota en claude_desktop_config.json; ese archivo es para servidores MCP stdio locales.
Claude Code
claude mcp add --transport http mttrly https://api.mttrly.com/mcp
OpenAI Codex
Añade esto a ~/.codex/config.toml:
[mcp_servers.mttrly]
url = "https://api.mttrly.com/mcp"
Luego completa el inicio de sesión OAuth:
codex mcp login mttrly
Cursor
Añade https://api.mttrly.com/mcp como una URL de servidor MCP remoto. Cursor debería descubrir los metadatos del recurso protegido desde el desafío del servidor e iniciar OAuth.
Autenticación
- El transporte remoto usa OAuth 2.1 con PKCE S256 contra
https://app.mttrly.com. - La URL de metadatos del recurso protegido es
https://api.mttrly.com/.well-known/oauth-protected-resource/mcp. - Los clientes MCP de origen de navegador deben estar explícitamente en la lista blanca con
MCP_ALLOWED_ORIGINS. - Las solicitudes sin un encabezado
Originreciben el desafío OAuth 401 normal. - Las solicitudes con un encabezado
Originno confiable son rechazadas con 403 por diseño.
Herramientas
Hay 40 herramientas disponibles: 21 herramientas de lectura y 19 herramientas de ejecución. Siempre llama a mttrly_get_capabilities primero para descubrir el plan actual y cualquier restricción.
Herramientas de lectura (21)
| ID de herramienta | Título | Plan | Descripción |
|---|---|---|---|
mttrly_get_capabilities | Obtener capacidades del plan | watchdog | Obtén el plan actual, las herramientas disponibles, las herramientas restringidas y los límites del plan. Llama a esto primero antes de usar cualquier otra herramienta. |
mttrly_list_servers | Listar servidores | watchdog | Lista todos los servidores conectados con estado en línea/fuera de línea, IDs de servidor, nombres, última vez visto y versión del agente. Usa mttrly_get_server_status para CPU, RAM, disco y conteos de alertas activas por servidor. |
mttrly_get_server_status | Obtener estado del servidor | watchdog | Obtén la salud detallada del servidor, incluyendo CPU, RAM, uso de disco y conteo de alertas activas. |
mttrly_get_alerts | Obtener alertas del servidor | watchdog | Obtén alertas para un servidor con filtrado por severidad y estado. Se aplican límites de retención basados en el plan. |
mttrly_quick_triage | Triaje rápido del servidor | watchdog | Obtén un resumen de diagnóstico superficial de solo lectura a partir de datos seguros de Watchdog: estado, alertas activas y porcentajes de recursos. |
mttrly_run_diagnostic | Ejecutar diagnóstico del servidor | deployment_bro | Ejecuta un diagnóstico no destructivo en un servidor. Describe el problema y el sistema investigará. Enfriamiento de 30 segundos por servidor. Solo Deployment Bro+ — Watchdog tiene herramientas de inspección de solo lectura (estado, alertas, list_playbooks). |
mttrly_list_playbooks | Listar runbooks | watchdog | Lista los runbooks de remediación disponibles. Devuelve id, nombre, descripción, categoría, indicador requires_approval y una matriz de parámetros opcionales. Filtra por server_id o categoría. |
mttrly_get_service_reality | Obtener realidad del servicio | deployment_bro | Obtén la última instantánea de realidad del servicio en caché o actualizada en vivo para un servidor, incluyendo hallazgos de descubrimiento, servicios, tiempos de ejecución y contexto de salud actual. |
mttrly_refresh_reality | Actualizar realidad | deployment_bro | Ejecuta una actualización en vivo de la realidad del servicio para un servidor y espera la nueva instantánea, con una ventana de enfriamiento estricta por servidor. |
mttrly_get_server_timeline | Obtener línea de tiempo del servidor | deployment_bro | Obtén una línea de tiempo reciente unificada para un servidor que fusiona incidentes, despliegues y eventos de auditoría en un solo flujo ordenado. |
mttrly_run_deploy_verifier | Ejecutar verificador de despliegue | deployment_bro | Ejecuta el verificador de despliegue genérico para un servidor. Devuelve el resultado del chequeo de salud, el contexto de incidentes activos y el estado del último despliegue. |
mttrly_read_file | Leer archivo | deployment_bro | Lee registros de la lista blanca, registros de Docker, imágenes de Docker o archivos de entorno gestionados de un servidor con redacción compartida. |
mttrly_read_privileged_file | Leer archivo privilegiado | deployment_bro | Lee un archivo privilegiado de la lista blanca extendida, como anulaciones de sudoers o authorized_keys de root, con redacción compartida. |
mttrly_search_files | Buscar archivos | deployment_bro | Busca archivos de la lista blanca en un servidor por una cadena de consulta literal, con filtrado opcional por glob y redacción compartida. |
mttrly_diff_file | Diferenciar archivos | deployment_bro | Compara dos archivos de la lista blanca en un servidor y devuelve un diff unificado con redacción compartida. |
mttrly_compare_source_to_dist | Comparar fuente con dist | deployment_bro | Compara un árbol fuente con la salida dist en un servidor a través de la capacidad canónica de comparación de solo lectura. |
mttrly_get_install_health | Obtener salud de instalación | deployment_bro | Lee el estado de salud propiedad del instalador, la deriva y la planificación de reparación para un servidor a través de la ruta canónica del backend de recuperación. |
mttrly_search_knowledge | Buscar conocimiento | deployment_bro | Busca postmortems, recetas y notas guardadas usando búsqueda de texto completo. Opcionalmente filtra a un servidor. |
mttrly_get_morning_brief | Obtener informe matutino | deployment_bro | Obtén el informe proactivo actual para el usuario, incluyendo anomalías recién detectadas y artefactos de conocimiento recientes. |
mttrly_get_investigation_bypass | Obtener omisión de investigación | deployment_bro | Lee el estado actual de omisión para una investigación. Úsalo entre llamadas de ejecución para verificar que la omisión sigue activa sin consumir una ranura de acción. |
mttrly_acknowledge_proactive_event | Reconocer evento proactivo | deployment_bro | Marca un evento proactivo como aceptado o como falso positivo en nombre del usuario. Impulsa el presupuesto de falsos positivos que silencia detectores ruidosos. |
Herramientas de ejecución (19)
| ID de herramienta | Título | Plan | Descripción |
|---|---|---|---|
mttrly_run_playbook | Ejecutar runbook | deployment_bro | Ejecuta un runbook en un servidor. Los runbooks de solo lectura se ejecutan inmediatamente; los runbooks que requieren aprobación devuelven pending_approval. |
mttrly_execute_command | Ejecutar comando de shell | deployment_bro | Solicita la ejecución de un comando de shell arbitrario en un servidor. Los comandos de solo lectura y las omisiones de investigación activas pueden ejecutarse inmediatamente; de lo contrario, devuelve pending_approval. |
mttrly_get_pending_actions | Obtener acciones pendientes | deployment_bro | Lista las acciones que esperan aprobación, creadas por mttrly_run_playbook o mttrly_execute_command. Devuelve action_id, servidor, tipo, descripción y expiración. Las acciones expiran después de 30 minutos. Usa mttrly_approve_action para aprobar o mttrly_cancel_action para rechazar. |
mttrly_get_action_result | Obtener resultado de acción | deployment_bro | Recupera el resultado actual o terminal de una acción creada por mttrly_run_playbook o mttrly_execute_command. |
mttrly_approve_action | Aprobar o rechazar acción | deployment_bro | Aprueba o rechaza una acción pendiente. Solo llama después de la confirmación explícita del usuario; bloquea hasta que la ejecución se complete. |
mttrly_cancel_action | Cancelar acción | deployment_bro | Cancela una acción pendiente rechazándola. Solo llama después de la confirmación explícita del usuario. |
mttrly_get_audit_log | Obtener registro de auditoría | deployment_bro | Obtén el rastro de auditoría cronológico para un servidor. Incluye ejecuciones de comandos, ejecuciones de runbooks, disparadores de alertas y correcciones del agente con atribución de fuente (mcp/telegram/dashboard/api) y resultado. |
mttrly_write_file | Escribir archivo | deployment_bro | Escribe contenido codificado en base64 en un archivo de servidor gestionado. Siempre devuelve una acción de aprobación pendiente. |
mttrly_cleanup_file | Limpiar archivo | deployment_bro | Elimina un archivo de servidor gestionado de la lista blanca. Siempre devuelve una acción de aprobación pendiente. |
mttrly_execute_script | Ejecutar script | deployment_bro | Ejecuta un script gestionado de la lista blanca o un script por lotes en línea en un servidor a través de la capacidad canónica de scripts. Las omisiones de investigación activas pueden ejecutarse inmediatamente; de lo contrario, devuelve pending_approval. |
mttrly_bootstrap_recover | Recuperación de arranque | deployment_bro | Genera el one-liner canónico de recuperación de arranque para un servidor y el token de instalación. |
mttrly_repair_install | Reparar instalación | deployment_bro | Ejecuta estrategias canónicas de recuperación de instalación como reparación impulsada por problemas, convergencia completa del estado de instalación, reaprovisionamiento del wrapper o desinstalación del agente. Siempre devuelve una acción de aprobación pendiente. |
mttrly_regenerate_install_token | Regenerar token de instalación | watchdog | Genera un nuevo comando de reinstalación para un servidor fuera de línea existente. Requiere aprobación, rota las credenciales del agente, preserva el historial del servidor y no limpia el host. |
mttrly_decommission_server | Eliminar servidor fuera de línea | watchdog | Elimina un servidor fuera de línea/muerto solo del registro Central. Requiere aprobación y no limpia archivos, usuarios o systemd en el host. |
mttrly_update_agent | Actualizar agente | deployment_bro | Actualiza el agente mttrly en un servidor a través de la capacidad canónica de actualización del núcleo. Siempre devuelve una acción de aprobación pendiente. |
mttrly_start_investigation | Iniciar investigación | deployment_bro | Inicia o reanuda una investigación de servidor vinculada a la sesión MCP actual. Requiere una sesión MCP de corta duración. |
mttrly_generate_retrospective | Generar retrospectiva | deployment_bro | Genera una retrospectiva determinista a partir de la línea de tiempo actual del servidor, el estado del verificador y el conocimiento almacenado. Persiste una entrada de postmortem. |
mttrly_acquire_investigation_bypass | Adquirir omisión de investigación | deployment_bro | Adquiere una omisión de aprobación para toda la sesión en una investigación abierta. Requiere 2FA. Las ejecuciones posteriores de execute_command/execute_script en el servidor de investigación omiten la aprobación por comando hasta la expiración, el máximo de acciones o la revocación. |
mttrly_revoke_investigation_bypass | Revocar omisión de investigación | deployment_bro | Revoca inmediatamente una omisión de investigación activa. Las ejecuciones posteriores vuelven a la aprobación por comando. Idempotente: revocar una omisión ya revocada devuelve el estado actual en lugar de un error. |
Errores
| Código | Descripción | Acción sugerida |
|---|---|---|
ACTION_EXPIRED | La acción pendiente superó el TTL de 30 minutos y fue cancelada automáticamente. | Vuelva a ejecutar el comando o playbook original para crear una nueva acción pendiente. |
ACTION_NOT_FOUND | No se encontró la acción pendiente. | Liste las acciones pendientes nuevamente y use un action_id nuevo. |
AUTH_FAILED | Falló la autenticación o las credenciales proporcionadas no son válidas. | Actualice la autenticación y reintente con una clave API o token OAuth válido. |
CONNECTION_ERROR | El servidor MCP no pudo alcanzar la API del backend. | Reintente la solicitud una vez que se restablezca la conectividad. |
CONTRACT_VERSION_UNSUPPORTED | El cliente solicitó una versión principal de contrato MCP no compatible. | Actualice el cliente MCP o use una versión principal de contrato actualmente compatible. |
DIAGNOSTIC_COOLDOWN | El período de enfriamiento de diagnóstico por servidor aún no ha expirado. | Espere a que expire el período de enfriamiento antes de reintentar. |
DOCKER_NOT_AVAILABLE | Docker no está instalado en el servidor de destino, por lo que los playbooks de Docker no están disponibles. | Omita los playbooks de Docker o instale Docker en el servidor primero. |
FORBIDDEN | El recurso MCP solicitado pertenece a un contexto de usuario o plan diferente. | Vuelva a obtener los IDs de servidor, playbook o acción más recientes para la cuenta actual. |
INTERNAL_ERROR | El backend encontró un error interno inesperado. | Reintente una vez. Si sigue fallando, revise los registros del backend o contacte al soporte. |
NOT_FOUND | No se encontró el recurso MCP solicitado. | Actualice el endpoint de lista correspondiente y reintente con un identificador válido. |
PLAN_REQUIRED | La herramienta solicitada requiere un plan de suscripción superior. | Informe al usuario sobre la limitación del plan y muestre la URL de actualización. |
POLICY_DENIED | La solicitud fue rechazada por una política de seguridad conocida del lado Central antes de la ejecución. | Elija una ruta de destino u operación permitida y reintente. |
PLAYBOOK_NOT_AVAILABLE | El playbook seleccionado no está disponible actualmente en el servidor de destino. | Actualice la lista de playbooks para ese servidor y elija uno de los playbooks anunciados. |
PLAYBOOK_NOT_FOUND | El ID de playbook especificado no existe. | Llame a mttrly_list_playbooks y elija un playbook_id válido. |
RATE_LIMITED | La solicitud superó la ventana actual de límite de tasa de MCP. | Espere a que se restablezca la ventana de límite de tasa y reintente. |
SERVER_NOT_FOUND | El ID de servidor especificado no existe o no pertenece al usuario actual. | Llame a mttrly_list_servers para ver los IDs de servidor disponibles. |
SERVER_OFFLINE | El agente del servidor de destino no está conectado actualmente. | Verifique si el agente mttrly se está ejecutando en el servidor. |
SERVER_ONLINE | El servidor de destino está en línea, por lo que la eliminación solo de registro está bloqueada. | Use Delete para desinstalar el agente primero, o espere hasta que el servidor esté fuera de línea antes de eliminar el registro. |
TIMEOUT | La solicitud superó el tiempo de espera configurado. | Reintente la solicitud, o reduzca el alcance si la operación es costosa. |
UNKNOWN_ERROR | Ocurrió un error desconocido en el servidor MCP. | Reintente la solicitud e inspeccione los detalles del error sin procesar si persiste. |
VALIDATION_ERROR | La solicitud falló la validación de esquema o parámetros. | Verifique los parámetros de la solicitud contra el esquema de herramienta anunciado. |
APPROVAL_NOTIFICATION_FAILED | Se creó una acción pendiente pero no se pudo entregar el aviso de aprobación al usuario; la acción se ha cerrado en modo de fallo. | Inspeccione el action_id en los detalles del error para confirmar que la acción ya no está pendiente, luego reintente la solicitud original para crear una acción nueva. |
INVESTIGATION_CLOSED | La investigación ya está cerrada y no puede adquirir un bypass. | Abra una investigación nueva con mttrly_start_investigation antes de solicitar el bypass. |
BYPASS_ALREADY_ACTIVE | Esta investigación ya tiene un bypass activo y no revocado. | Use el bypass actual; o llame a mttrly_revoke_investigation_bypass y vuelva a adquirirlo si necesita límites diferentes. |
BYPASS_ACQUIRE_FAILED | No se pudo adquirir el bypass de investigación: el estado de la investigación cambió entre la verificación y la actualización. | Vuelva a leer el estado de la investigación y reintente; si la investigación se cerró, inicie una nueva. |
Planes
Límites
| Plan | Servidores | Líneas de registro | Retención de registros (días) | Comprobaciones programadas |
|---|---|---|---|---|
watchdog | 1 | 50 | 7 | 0 |
deployment_bro | 3 | 500 | 30 | 5 |
deployment_crew | 9 | 500 | 30 | Ilimitadas |
Matriz de acceso
| Herramienta | Watchdog | Deployment Bro | Deployment Crew |
|---|---|---|---|
mttrly_get_capabilities | ✓ | ✓ | ✓ |
mttrly_list_servers | ✓ | ✓ | ✓ |
mttrly_get_server_status | ✓ | ✓ | ✓ |
mttrly_get_alerts | ✓ | ✓ | ✓ |
mttrly_quick_triage | ✓ | ✓ | ✓ |
mttrly_run_diagnostic | — | ✓ | ✓ |
mttrly_list_playbooks | ✓ | ✓ | ✓ |
mttrly_run_playbook | — | ✓ | ✓ |
mttrly_execute_command | — | ✓ | ✓ |
mttrly_get_pending_actions | — | ✓ | ✓ |
mttrly_get_action_result | — | ✓ | ✓ |
mttrly_approve_action | — | ✓ | ✓ |
mttrly_cancel_action | — | ✓ | ✓ |
mttrly_get_audit_log | — | ✓ | ✓ |
mttrly_get_service_reality | — | ✓ | ✓ |
mttrly_refresh_reality | — | ✓ | ✓ |
mttrly_get_server_timeline | — | ✓ | ✓ |
mttrly_run_deploy_verifier | — | ✓ | ✓ |
mttrly_read_file | — | ✓ | ✓ |
mttrly_read_privileged_file | — | ✓ | ✓ |
mttrly_search_files | — | ✓ | ✓ |
mttrly_diff_file | — | ✓ | ✓ |
mttrly_compare_source_to_dist | — | ✓ | ✓ |
mttrly_get_install_health | — | ✓ | ✓ |
mttrly_write_file | — | ✓ | ✓ |
mttrly_cleanup_file | — | ✓ | ✓ |
mttrly_execute_script | — | ✓ | ✓ |
mttrly_bootstrap_recover | — | ✓ | ✓ |
mttrly_repair_install | — | ✓ | ✓ |
mttrly_regenerate_install_token | ✓ | ✓ | ✓ |
mttrly_decommission_server | ✓ | ✓ | ✓ |
mttrly_update_agent | — | ✓ | ✓ |
mttrly_start_investigation | — | ✓ | ✓ |
mttrly_generate_retrospective | — | ✓ | ✓ |
mttrly_search_knowledge | — | ✓ | ✓ |
mttrly_get_morning_brief | — | ✓ | ✓ |
mttrly_get_investigation_bypass | — | ✓ | ✓ |
mttrly_acquire_investigation_bypass | — | ✓ | ✓ |
mttrly_revoke_investigation_bypass | — | ✓ | ✓ |
mttrly_acknowledge_proactive_event | — | ✓ | ✓ |
Soporte
- Correo de soporte: mttrly@mttrly.com
- Problemas: github.com/mttrly-hq/mttrly-mcp/issues
- Página de marketing: mttrly.com/mcp
- Documentación: mttrly.com/docs#mcp