mttrly
Officialmttrly MCP Server
Remote MCP access to mttrly, an AI SRE agent for server health, diagnostics, playbooks, approvals, and audit history.
Scope
mttrly MCP is a remote Streamable HTTP connector. Every tool call reaches the mttrly Central API first; Central then talks to connected agents over the existing secure agent channel. A standalone agent does not expose a local MCP surface.
Variant A is intentionally remote-first: public catalogs point at the hosted endpoint, OAuth handles user authorization, and no npm package is required for normal client setup.
Connect
Claude.ai and Claude Desktop
Use the connector UI:
Open Settings -> Connectors.
Choose Add custom connector.
Enter
https://api.mttrly.com/mcp.Complete the OAuth sign-in flow.
Do not put the remote URL into claude_desktop_config.json; that file is for local stdio MCP servers.
Claude Code
claude mcp add --transport http mttrly https://api.mttrly.com/mcpOpenAI Codex
Add this to ~/.codex/config.toml:
[mcp_servers.mttrly]
url = "https://api.mttrly.com/mcp"Then complete OAuth login:
codex mcp login mttrlyCursor
Add https://api.mttrly.com/mcp as a remote MCP server URL. Cursor should discover the protected resource metadata from the server challenge and start OAuth.
Auth
Remote transport uses OAuth 2.1 with PKCE S256 against
https://app.mttrly.com.The protected resource metadata URL is
https://api.mttrly.com/.well-known/oauth-protected-resource/mcp.Browser-origin MCP clients must be explicitly allowlisted with
MCP_ALLOWED_ORIGINS.Requests without an
Originheader receive the normal 401 OAuth challenge.Requests with an untrusted
Originheader are rejected with 403 by design.
Tools
40 tools are available: 21 read tools and 19 execute tools. Always call mttrly_get_capabilities first to discover the current plan and any restrictions.
Read tools (21)
Tool ID | Title | Plan | Description |
| Get Plan Capabilities |
| Get current plan, available tools, restricted tools, and plan limits. Call this first before using any other tool. |
| List Servers |
| List all connected servers with online/offline status, server IDs, names, last seen, and agent version. Use mttrly_get_server_status for per-server CPU, RAM, disk, and active alert counts. |
| Get Server Status |
| Get detailed server health including CPU, RAM, disk usage, and active alert count. |
| Get Server Alerts |
| Get alerts for a server with severity and status filtering. Plan-based retention limits apply. |
| Quick Server Triage |
| Get a shallow read-only diagnostic summary from safe Watchdog data: status, active alerts, and resource percentages. |
| Run Server Diagnostic |
| Run a non-destructive diagnostic on a server. Describe the problem and the system will investigate. 30-second cooldown per server. Deployment Bro+ only — Watchdog has read-only inspect tools (status, alerts, list_playbooks). |
| List Playbooks |
| List available remediation playbooks. Returns id, name, description, category, requires_approval flag, and optional parameters array. Filter by server_id or category. |
| Get Service Reality |
| Get the latest cached or live-refreshed service reality snapshot for a server, including discovery findings, services, runtimes, and current health context. |
| Refresh Reality |
| Run a live service reality refresh for a server and wait for the fresh snapshot, with a hard per-server cooldown window. |
| Get Server Timeline |
| Get a unified recent timeline for a server that merges incidents, deploys, and audit events into one ordered stream. |
| Run Deploy Verifier |
| Run the generic deploy verifier for a server. Returns healthcheck outcome, active incident context, and latest deploy status. |
| Read File |
| Read allowlisted logs, Docker logs, Docker images, or managed env files from a server with shared redaction. |
| Read Privileged File |
| Read an extended-allowlist privileged file, such as sudoers overrides or root authorized_keys, with shared redaction. |
| Search Files |
| Search allowlisted files on a server for a literal query string, with optional glob filtering and shared redaction. |
| Diff Files |
| Diff two allowlisted files on a server and return a unified diff with shared redaction. |
| Compare Source To Dist |
| Compare a source tree to dist output on a server through the canonical read-only compare capability. |
| Get Install Health |
| Read installer-owned health state, drift, and repair planning for a server through the canonical recovery backend path. |
| Search Knowledge |
| Search saved postmortems, recipes, and notes using full-text search. Optionally filter to a server. |
| Get Morning Brief |
| Get the current proactive brief for the user, including newly detected anomalies and recent knowledge artifacts. |
| Get Investigation Bypass |
| Read the current bypass state for an investigation. Use between exec calls to verify the bypass is still active without consuming an action slot. |
| Acknowledge Proactive Event |
| Mark a proactive event as accepted or as a false positive on behalf of the user. Drives the false-positive budget that mutes noisy detectors. |
Execute tools (19)
Tool ID | Title | Plan | Description |
| Run Playbook |
| Execute a playbook on a server. Read-only playbooks run immediately; approval-required playbooks return pending_approval. |
| Execute Shell Command |
| Request execution of an arbitrary shell command on a server. Read-only commands and active investigation bypasses can execute immediately; otherwise returns pending_approval. |
| Get Pending Actions |
| List actions awaiting approval, created by mttrly_run_playbook or mttrly_execute_command. Returns action_id, server, type, description, and expiry. Actions expire after 30 minutes. Use mttrly_approve_action to approve or mttrly_cancel_action to reject. |
| Get Action Result |
| Retrieve the current or terminal result for an action created by mttrly_run_playbook or mttrly_execute_command. |
| Approve or Reject Action |
| Approve or reject a pending action. Only call after explicit user confirmation; blocks until execution completes. |
| Cancel Action |
| Cancel a pending action by rejecting it. Only call after explicit user confirmation. |
| Get Audit Log |
| Get the chronological audit trail for a server. Includes command executions, playbook runs, alert triggers, and agent fixes with source attribution (mcp/telegram/dashboard/api) and outcome. |
| Write File |
| Write base64-encoded content to a managed server file. Always returns a pending approval action. |
| Cleanup File |
| Delete an allowlisted managed server file. Always returns a pending approval action. |
| Execute Script |
| Execute an allowlisted managed script or an inline batch script on a server through the canonical script capability. Active investigation bypasses can execute immediately; otherwise returns pending_approval. |
| Bootstrap Recover |
| Generate the canonical bootstrap recovery one-liner for a server and install token. |
| Repair Install |
| Run canonical install recovery strategies such as issue-driven repair, full install-state convergence, wrapper reprovision, or agent uninstall. Always returns a pending approval action. |
| Regenerate Install Token |
| Generate a new reinstall command for an existing offline server. Requires approval, rotates agent credentials, preserves server history, and does not clean the host. |
| Delete Offline Server |
| Remove an offline/dead server from the Central registry only. Requires approval and does not clean files, users, or systemd on the host. |
| Update Agent |
| Update the mttrly agent on a server through the canonical core update capability. Always returns a pending approval action. |
| Start Investigation |
| Start or resume a server investigation bound to the current MCP session. Requires a short-lived MCP session. |
| Generate Retrospective |
| Generate a deterministic retrospective from the current server timeline, verifier state, and stored knowledge. Persists a postmortem entry. |
| Acquire Investigation Bypass |
| Acquire a session-wide approval bypass on an open investigation. Requires 2FA. Subsequent execute_command/execute_script on the investigation server skip per-command approval until expiry, max actions, or revoke. |
| Revoke Investigation Bypass |
| Immediately revoke an active investigation bypass. Subsequent exec returns to per-command approval. Idempotent: revoking an already-revoked bypass returns the current state instead of erroring. |
Errors
Code | Description | Suggested action |
| Pending action exceeded the 30-minute TTL and was automatically cancelled. | Re-run the original command or playbook to create a new pending action. |
| Pending action was not found. | List pending actions again and use a fresh action_id. |
| Authentication failed or the provided credentials are invalid. | Refresh authentication and retry with a valid API key or OAuth token. |
| The MCP server could not reach the backend API. | Retry the request after connectivity is restored. |
| The client requested an unsupported MCP contract major version. | Upgrade the MCP client or use a currently supported contract major. |
| The per-server diagnostic cooldown has not expired yet. | Wait for the cooldown period to expire before retrying. |
| Docker is not installed on the target server, so Docker playbooks are unavailable. | Skip Docker playbooks or install Docker on the server first. |
| The requested MCP resource belongs to a different user or plan context. | Re-fetch the latest server, playbook, or action IDs for the current account. |
| The backend hit an unexpected internal error. | Retry once. If it keeps failing, inspect backend logs or contact support. |
| The requested MCP resource was not found. | Refresh the relevant list endpoint and retry with a valid identifier. |
| The requested tool requires a higher subscription plan. | Inform the user about the plan limitation and show the upgrade URL. |
| The request was rejected by a known Central-side safety policy before execution. | Choose a permitted target path or operation and retry. |
| The selected playbook is not currently available on the target server. | Refresh the playbook list for that server and pick one of the advertised playbooks. |
| The specified playbook ID does not exist. | Call mttrly_list_playbooks and choose a valid playbook_id. |
| The request exceeded the current MCP rate limit window. | Wait for the rate limit window to reset and retry. |
| The specified server ID does not exist or does not belong to the current user. | Call mttrly_list_servers to see the available server IDs. |
| The target server agent is not currently connected. | Check whether the mttrly agent is running on the server. |
| The target server is online, so registry-only delete is blocked. | Use Delete to uninstall the agent first, or wait until the server is offline before deleting the registry record. |
| The request exceeded the configured timeout. | Retry the request, or narrow the scope if the operation is expensive. |
| An unknown error occurred in the MCP server. | Retry the request and inspect the raw error details if it persists. |
| The request failed schema or parameter validation. | Check the request parameters against the advertised tool schema. |
| A pending action was created but the approval prompt could not be delivered to the user; the action has been failed-closed. | Inspect the action_id in the error details to confirm the action is no longer pending, then retry the original request to create a fresh action. |
| The investigation is already closed and cannot acquire a bypass. | Open a fresh investigation with mttrly_start_investigation before requesting bypass. |
| This investigation already has an active, non-revoked bypass. | Use the current bypass; or call mttrly_revoke_investigation_bypass and re-acquire if you need different limits. |
| Could not acquire investigation bypass — investigation state changed between check and update. | Re-read the investigation status and retry; if the investigation closed, start a new one. |
Plans
Limits
Plan | Servers | Log lines | Log retention (days) | Scheduled checks |
| 1 | 50 | 7 | 0 |
| 3 | 500 | 30 | 5 |
| 9 | 500 | 30 | Unlimited |
Access matrix
Tool | Watchdog | Deployment Bro | Deployment Crew |
| ✓ | ✓ | ✓ |
| ✓ | ✓ | ✓ |
| ✓ | ✓ | ✓ |
| ✓ | ✓ | ✓ |
| ✓ | ✓ | ✓ |
| — | ✓ | ✓ |
| ✓ | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| ✓ | ✓ | ✓ |
| ✓ | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
| — | ✓ | ✓ |
Support
Support email: mttrly@mttrly.com
Marketing page: mttrly.com/mcp
Docs: mttrly.com/docs#mcp
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mttrly-hq/mttrly-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server