MCP server
Kuvasz ships with a built-in Model Context Protocol (MCP) server, which exposes your monitoring data and management operations as tools that AI assistants can call directly. This lets you query monitor status, view incidents, and create or toggle monitors through natural language — right inside Claude, Cursor, or any MCP-compatible client.
Experimental feature
The MCP server is available as an experimental feature! The API surface (tool names and schemas) may change in future releases.
Enabling the MCP server
The MCP server is disabled by default. To enable it, refer to the relevant configuration.
Once enabled, the server is available at the /mcp endpoint of your Kuvasz instance (e.g. https://your.kuvasz.host/mcp). It uses the Streamable HTTP transport defined by the MCP specification.
Connecting AI clients
Kuvasz's MCP server speaks Streamable HTTP. Depending on your AI client's capabilities, there are two ways to connect it to the MCP server:
Just make sure that your client is configured to use the /mcp endpoint of your Kuvasz instance as an MCP server, and pass the API key for authentication (see below).
Clients using the STDIO transport (like Claude) can still use the MCP server, but require a local bridge to translate between Streamable HTTP and STDIO. The easiest way to achieve this is to use the mcp-remote bridge (installed via npx, no global install required):
Authentication
The /mcp endpoint is protected by a dedicated MCP API key, which is separate from the REST API key. The REST API key (or a web UI / OIDC session) does not grant access to the MCP endpoint — you must configure the MCP API key to use the server. Pass it in one of the two supported ways:
X-API-KEYheader:X-API-KEY: YourMcpApiKey- Bearer token:
Authorization: Bearer YourMcpApiKey
Info
If you have disabled authentication entirely, the MCP endpoint is also unauthenticated.
Available tools
Read-only mode
If you have configured your monitors via YAML, the corresponding create-*, toggle-*, and delete-* tools will return an error when called. Additionally, delete-* tools will fail if the monitor is referenced by a read-only status page. The list-*, get-*-details, get-*-stats, list-incidents, and list-integrations tools are always available regardless of read-only mode.
This is the expected behavior, and works exactly the same as if you were to perform these operations via the REST API or dashboard.
The MCP server exposes the following tools to connected clients:
HTTP monitors
| Tool | Description |
|---|---|
list-http-monitors |
List all HTTP monitors with their current uptime and SSL status |
get-http-monitor-details |
Get detailed information about an HTTP monitor by ID |
get-http-monitor-stats |
Get latency and uptime statistics (configurable look-back window) |
create-http-monitor |
Create a new HTTP monitor |
toggle-http-monitor |
Enable or disable an HTTP monitor (disabling also implicitly disables its SSL checks) |
delete-http-monitor |
Permanently delete an HTTP monitor by ID, including all its history and events |
ICMP (ping) monitors
| Tool | Description |
|---|---|
list-icmp-monitors |
List all ICMP monitors with their current uptime status |
get-icmp-monitor-details |
Get detailed information about an ICMP monitor by ID |
get-icmp-monitor-stats |
Get latency and packet-loss statistics (configurable look-back window) |
create-icmp-monitor |
Create a new ICMP monitor |
toggle-icmp-monitor |
Enable or disable an ICMP monitor |
delete-icmp-monitor |
Permanently delete an ICMP monitor by ID, including all its history and events |
Push (heartbeat) monitors
| Tool | Description |
|---|---|
list-push-monitors |
List all push monitors with their current uptime status |
get-push-monitor-details |
Get detailed information about a push monitor by ID |
get-push-monitor-stats |
Get uptime statistics (configurable look-back window) |
create-push-monitor |
Create a new push monitor |
toggle-push-monitor |
Enable or disable a push monitor |
delete-push-monitor |
Permanently delete a push monitor by ID, including all its history and events |
Status pages
| Tool | Description |
|---|---|
list-status-pages |
List all status pages with their basic configuration (title, slug, visibility, monitor count) |
get-status-page-details |
Get full details of a specific status page including per-monitor uptime status, uptime ratio, and 30-day uptime history |
Integrations
| Tool | Description |
|---|---|
list-integrations |
List all configured integrations (Slack, Discord, Email, PagerDuty, Telegram, Webhook) with their type and settings |
Application settings
| Tool | Description |
|---|---|
get-app-settings |
Get the current application settings (authentication, data retention, language, metrics export, MCP server, and version info) |
Incidents
| Tool | Description |
|---|---|
list-incidents |
List incidents across all monitor types, optionally filtered by monitor ID, with a configurable look-back window and resolved-flag filter |