Opservo
Ask why a Linux server or Kubernetes cluster is slow, failing or changed. Read-only tools for server health, open issues with fixes, log summaries, incident timelines, services, SSL expiry and Kubernetes. OAuth sign-in.
เซิร์ฟเวอร์ MCP แบบโฮสต์
npx add-mcp 'https://api.getopservo.com/mcp'ติดตั้งลง Claude Code, Codex, Cursor และอื่นๆ
เอกสาร
The Opservo MCP server lets the AI assistant you already use answer questions about your servers: why one is slow, what is failing, what changed before an outage. It is read-only. It reads the same data as Opservo’s own chat and never runs a command or changes anything.
What you need
- •An Opservo workspace with at least one server connected.
- •An MCP client: Claude (web, desktop or Claude Code), Cursor, VS Code with GitHub Copilot, or any client that speaks Streamable HTTP.
The server address is:
https://api.getopservo.com/mcp
Also listed in the Claude connectors directory, on Smithery and in the official MCP Registry as com.getopservo/opservo.
Most clients connect with Sign in with Opservo: you paste the address, your browser opens Opservo, you click Allow read-only access, and you are done. No token to copy. For scripts and clients without sign-in support, use a workspace API token instead.
Connect with Sign in with Opservo
Claude (claude.ai and Claude Desktop)
Opservo is listed in the Claude connectors directory: open Opservo in the directory and click Connect, then allow access as in step 3 below. Or add it by hand:
- 1.Open Settings → Connectors → Add custom connector.
- 2.Name it
Opservoand pastehttps://api.getopservo.com/mcpas the URL. Leave the advanced OAuth fields empty. - 3.Click Connect. Opservo opens in your browser. Sign in if asked, pick the workspace, and click Allow read-only access.
- 4.In a chat, turn Opservo on from the tools menu and ask a question.
On Team and Enterprise plans an owner adds the connector once for the organisation; each person then connects their own Opservo account.
Claude Code
Run once in a terminal. Add --scope user to make it available in every project.
claude mcp add --transport http opservo https://api.getopservo.com/mcp
Start claude, type /mcp, pick opservo and choose Authenticate. Your browser opens Opservo; allow access and go back to the terminal.
Cursor
Add this to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json in one project. Under Settings → MCP, click Connect next to opservo and allow access in the browser.
mcp.json
{
"mcpServers": {
"opservo": { "url": "https://api.getopservo.com/mcp" }
}
}
VS Code (GitHub Copilot agent mode)
Create .vscode/mcp.json. When the server starts, VS Code asks to sign in; allow access in the browser.
.vscode/mcp.json
{
"servers": {
"opservo": { "type": "http", "url": "https://api.getopservo.com/mcp" }
}
}
Open Copilot Chat, switch to Agent mode and check that the Opservo tools appear in the tools list.
What you are allowing
- •The app can read your servers in one workspace, the one you pick on the Allow screen. It acts as you: if you leave the workspace, it loses access too.
- •The Allow screen shows where Opservo will send you back (for example claude.ai). Anyone can build an app that calls itself “Claude”, so only allow it if you just started the connection yourself and the address is the one you expect.
- •See and disconnect every connected app under Account → Developer → Connected AI apps. Owners and admins see everyone’s connections in the workspace; members see their own. Sign out everywhere also disconnects all of them.
Connect with an API token
For scripts, CI, or a client that cannot open a browser to sign in. A token belongs to the workspace, not to a person, and lasts until you revoke it.
- 1.In Opservo, open Account → Developer → API tokens.
- 2.Name it after where it will live, for example
claude-laptoporcursor, and click Create token. - 3.Copy the value now. It starts with
opv_and is shown only once.
Then send it as a header. Claude Code:
claude mcp add --transport http opservo https://api.getopservo.com/mcp \
--header "Authorization: Bearer opv_…"
Cursor, VS Code and other clients: add "headers": { "Authorization": "Bearer opv_…" } next to the URL. Any Streamable HTTP client works the same way (X-Opservo-Token: opv_… is accepted too). The server is stateless and answers with JSON, so there is no session to keep alive.
Step 3: ask a question
- •“Which of my Opservo servers have critical issues right now?”
- •“Why is web-1 slow? Use Opservo.”
- •“What errors are in the logs on the CRM server in the last hour?”
- •“What changed on db-2 before it went down last night?”
- •“Which SSL certificates expire in the next 30 days?”
The tools
Every tool is read-only and marked that way for your client, so most clients run them without asking each time.
| Tool | What it returns |
|---|---|
list_agents | Every server in the workspace with its id, online state and log health |
get_server_overview | CPU, load, memory, disks, uptime, the top 5 processes by CPU and database facts for one server |
get_recommendations | Open issues and fixes for one server, critical first; optional severity filter |
get_log_summary | The latest plain-English log summary and the top error patterns from the last hour |
get_incident_timeline | The correlated chain of events and likely root cause over the last 1–720 hours |
get_services | systemd units, Docker containers and PM2 processes with their status |
get_domains | Domains served by the server with SSL certificate expiry |
get_kubernetes_snapshot | For a connected cluster: nodes, workloads, problem pods with their last log lines, warning events |
get_recent_commands | The history of commands already run on the server from Opservo, with exit codes and output |
What it cannot do
- •It cannot run commands, restart services, deploy, dismiss issues or change any setting. There is no tool for it, and the server refuses any tool that is not on the list above.
- •It only sees one workspace: the one you allowed, or the one the API token belongs to. Asking about a server id from another workspace returns “Server not found”, never its data.
- •Raw log lines are not available; Opservo never stores them. You get the summary and the normalised error patterns.
- •To fix something, run the suggested command yourself or use Fix with AI on the server page in Opservo, where the usual role, plan and per-server remote-action checks apply.
Limits and privacy
- •Each connection or API token can make 120 MCP requests per minute. Above that the server answers HTTP 429 with
Retry-After: 60. - •Opservo records that a tool was called (tool name and whether it succeeded) for usage reporting. Your questions and the assistant’s answers stay in your client; Opservo never sees them.
- •The data you get back is sent to whichever AI provider your client uses, under that provider’s terms.
- •Disconnecting an app or revoking a token cuts the client off on its next request with HTTP 401.
If it does not connect
- • The browser never opens / “needs authentication”: your client may not support sign-in. Update it, or use an API token.
- • “Couldn’t connect to Opservo” page: the client’s registration is stale. Remove the connector and add it again.
- • 401 Unauthorized with an API token: the token is missing, mistyped, revoked, or the header is not exactly
Authorization: Bearer opv_…. - • 405 Method not allowed in a browser: expected. The server only answers POST requests from an MCP client.
- • Tools list is empty: restart the client after editing its config; most only read it at startup.
- • “Server not found” from a tool: the server id is not in this token’s workspace. Ask the assistant to call
list_agentsfirst.
Last updated 2026-10-12. Found a mistake? Email hello@getopservo.com.