Streamable HTTP · Remote MCP MCP Server v3.22.2

MCP-Integration

Verbinden Sie einen beliebigen MCP-kompatiblen KI-Agenten mit Ihren Baromio-Monitoren: Verfügbarkeitsstatistiken lesen, Vorfälle einsehen und Monitore per natürlicher Sprache verwalten.

Voraussetzungen

  • Ein Baromio-Konto mit mindestens einem konfigurierten Monitor.
  • A Baromio API token: generate one under Profile → API Keys. Use a Read-only token for telemetry queries, or a Full Access token to create, update, pause, configure, and delete monitors on paid plans.
  • Node.js 18+: required if you use the mcp-remote bridge for Claude Desktop. Download from nodejs.org. Verify with node -v. Not needed if you use the Connectors UI or Cursor/Windsurf.
  • Ein MCP-kompatibler Client. Unterstützte Clients:
Client Mindestversion Hinweise
Claude Desktop 0.7.0+ Connectors-UI (OAuth) oder mcp-remote (Bearer-Token)
Cursor 0.43.0+ Einstellungen → MCP → Server hinzufügen
Windsurf 1.0.0+ Einstellungen → Cascade → MCP
Antigravity any Edit ~/.gemini/antigravity/mcp_config.json
Any SSE client MCP spec 2024-11-05+ Pass Authorization: Bearer header

Token-Typen

Baromio uses Passport API tokens and OAuth access tokens. Two permission levels are available:

Token-Typ Monitore auflisten / lesen Statistiken & Vorfälle lesen Monitore erstellen Pausieren / Fortsetzen Delete via AI
Nur Lesen ✓ ✓ ✗ ✗ ✗
Vollzugriff ✓ ✗ ✓ ✓ ✓

Full Access tokens carry the mcp:full ability. Read-only tokens carry the read ability. Full Access write actions require an eligible paid plan; monitor deletion also requires the exact monitor ID.

Installation

Der MCP-Server-Endpunkt lautet:

https://baromio.io/mcp

Keine Konfigurationsdatei oder API-Schlüssel nötig: Claude Desktop übernimmt den OAuth-Ablauf automatisch.

  1. 1 Öffnen Sie Claude (Desktop-App oder claude.ai) und gehen Sie zu Customize → Connectors.
  2. 2 Klicken Sie auf + → Add custom connector und fügen Sie die URL des MCP-Servers ein: Der kostenlose Claude-Plan erlaubt einen benutzerdefinierten Connector.
https://baromio.io/mcp
  1. 3 Claude öffnet ein Browserfenster: Melden Sie sich bei Baromio an und klicken Sie auf Autorisieren.
  2. 4 Der Connector erscheint in Claude. Fragen Sie zur Prüfung "Liste meine Baromio-Monitore auf".
OAuth starts from safe monitor access. Write actions require Full Access and an eligible paid plan; monitor deletion also requires the exact monitor ID. You can revoke access at any time from your Profile.

Uses the mcp-remote bridge to connect Claude Desktop via a Bearer token. Requires Node.js 18+.

Pfad der Konfigurationsdatei

macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json
Linux ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "baromio": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "https://baromio.io/mcp",
        "--header",
        "Authorization: Bearer YOUR_API_TOKEN"
      ]
    }
  }
}
Replace YOUR_API_TOKEN with a token from Profile → API Keys. Fully quit Claude Desktop (Cmd+Q / Alt+F4), then reopen.

Verify: ask Claude "List my Baromio monitors". It should call list-monitors-tool and return your monitors.

Open or create ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):

Pfad der Konfigurationsdatei

macOS / Linux ~/.cursor/mcp.json
Windows %USERPROFILE%\.cursor\mcp.json
Per-project .cursor/mcp.json
{
  "mcpServers": {
    "baromio": {
      "url": "https://baromio.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Verify: open Cursor Chat and type "List my Baromio monitors". Cursor should invoke list-monitors-tool.

Open or create ~/.codeium/windsurf/mcp_config.json:

Pfad der Konfigurationsdatei

macOS / Linux ~/.codeium/windsurf/mcp_config.json
Windows %USERPROFILE%\.codeium\windsurf\mcp_config.json
UI path Settings → Cascade → Add MCP Server
{
  "mcpServers": {
    "baromio": {
      "serverUrl": "https://baromio.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}
Reload the Windsurf window after saving (Cmd/Ctrl+Shift+P → Reload Window).

Verify: in Cascade ask "List my Baromio monitors".

Open or create ~/.gemini/antigravity/mcp_config.json and add the baromio entry:

Pfad der Konfigurationsdatei

macOS / Linux ~/.gemini/antigravity/mcp_config.json
Windows %USERPROFILE%\.gemini\antigravity\mcp_config.json
"baromio": {
  "serverUrl": "https://baromio.io/mcp",
  "headers": {
    "Authorization": "Bearer YOUR_API_TOKEN"
  }
}
Replace YOUR_API_TOKEN with a token from Profile → API Keys.

Verify: ask Antigravity "List my Baromio monitors". It should call list-monitors-tool and return your monitors.

Any MCP client that supports Streamable HTTP transport works. The server accepts JSON-RPC 2.0 POST requests with a single Authorization header.

# curl: verify the Streamable HTTP endpoint
curl -s -X POST \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl-test","version":"1.0"}}}' \
  https://baromio.io/mcp

A successful response returns a JSON-RPC result with serverInfo and capabilities. From there the MCP handshake is complete and tools are available.

Verfügbare Tools

Baromio exposes read tools for monitor health, incidents, SSL, PageSpeed, status pages, charts, and notification channels. Paid plans can also create, edit, pause, resume, configure, and delete monitors safely.

list-monitors-tool

Lese-Token

Returns all monitors configured in the authenticated user's account.

Eingabeschema

{
  "type": "object",
  "properties": {}
}

Keine Eingabe erforderlich.

Beispielantwort

[
  {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "Production API",
    "url": "https://api.example.com",
    "status": "up",
    "type": "http",
    "check_interval": 300,
    "paused_at": null
  }
]

get-uptime-stats-tool

Lese-Token

Returns uptime percentage and average response time for a given time period. Use period to choose between "24h" or "30d" (default).

Eingabeschema

{
  "type": "object",
  "required": ["monitor_id"],
  "properties": {
    "monitor_id": {
      "type": "string",
      "description": "UUID of the monitor"
    },
    "period": {
      "type": "string",
      "description": "\"24h\" or \"30d\" (default: \"30d\")"
    }
  }
}

Beispielantwort

{
  "monitor_name": "Production API",
  "status": "up",
  "period": "last 30 days",
  "uptime_percentage": "99.85%",
  "average_response_time_ms": 142,
  "total_pings_analyzed": 129600, // 30d × 24h × 60min × 3 pings/min
  "total_incidents": 3
}

get-monitor-incidents-tool

Lese-Token

Returns the 10 most recent incidents for a monitor, ordered by started_at descending.

Eingabeschema

{
  "type": "object",
  "required": ["monitor_id"],
  "properties": {
    "monitor_id": {
      "type": "string",
      "description": "UUID of the monitor"
    }
  }
}

Beispielantwort

[
  {
    "id": 12,
    "monitor_id": "a1b2c3d4-...",
    "started_at": "2026-03-28T14:22:00.000000Z",
    "resolved_at": "2026-03-28T14:35:00.000000Z",
    "duration": 780,
    "root_cause": "Connection timeout"
  }
]

create-monitor-tool

Vollzugriff-Token

Creates a new HTTP or keyword monitor. Returns the created monitor object. Fails if the account's monitor limit is reached.

Eingabeschema

{
  "type": "object",
  "required": ["name", "url"],
  "properties": {
    "name": {
      "type": "string",
      "description": "Display name, e.g. My API"
    },
    "url": {
      "type": "string",
      "description": "Full URL, e.g. https://api.example.com"
    },
    "type": {
      "type": "string",
      "enum": ["http", "keyword"],
      "description": "Default: http"
    },
    "check_interval": {
      "type": "integer",
      "description": "Seconds between checks. Default: 300"
    },
    "timeout": {
      "type": "integer",
      "description": "Seconds before marking down. Default: 10"
    },
    "monitor_ssl": {
      "type": "boolean",
      "description": "Monitor SSL cert. Default: false"
    },
    "notify_uptime": {
      "type": "boolean",
      "description": "Email alerts. Default: true"
    },
    "monitor_domain": {
      "type": "boolean",
      "description": "Monitor domain expiry. Default: false"
    }
  }
}

Beispielantwort

Monitor created successfully.

{
  "id": "f7e6d5c4-b3a2-1098-fedc-ba9876543210",
  "name": "Staging API",
  "url": "https://staging.example.com",
  "type": "http",
  "status": "pending",
  "check_interval": 300,
  "timeout": 10,
  "monitor_ssl": false,
  "notify_uptime": true,
  "monitor_domain": false
}

toggle-monitor-pause-tool

Vollzugriff-Token

Pauses or resumes a monitor. Pass pause: true to stop checks, pause: false to resume. Paused monitors show status "paused"; resumed monitors revert to "pending" until the next check.

Eingabeschema

{
  "type": "object",
  "required": ["monitor_id", "pause"],
  "properties": {
    "monitor_id": {
      "type": "string",
      "description": "UUID of the monitor to modify"
    },
    "pause": {
      "type": "boolean",
      "description": "true to pause, false to resume"
    }
  }
}

Beispielantwort (pausieren)

Monitor paused successfully.

Beispielantwort (fortsetzen)

Monitor unpaused successfully.

list-all-incidents-tool

Lese-Token

Returns recent incidents across all of the user's monitors in a single call. Incidents are sorted by started_at descending and include monitor_name for context.

Eingabeschema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "description": "Max incidents per monitor (1–50). Default: 10"
    }
  }
}

All parameters optional. Omit limit to use the default of 10.

Beispielantwort

[
  {
    "monitor_name": "Production API",
    "monitor_id": "a1b2c3d4-...",
    "incident_id": 42,
    "started_at": "2026-03-28T14:22:00.000000Z",
    "resolved_at": "2026-03-28T14:35:00.000000Z",
    "duration": "13m 0s",
    "root_cause": "Connection timeout"
  },
  {
    "monitor_name": "Staging API",
    "monitor_id": "b2c3d4e5-...",
    "incident_id": 38,
    "started_at": "2026-03-27T09:10:00.000000Z",
    "resolved_at": "2026-03-27T09:11:30.000000Z",
    "duration": "1m 30s",
    "root_cause": "Gateway Timeout"
  }
]

Beispiel-Prompts

Kopieren Sie diese direkt in Ihren KI-Agenten. Der Agent ruft die passenden Tools automatisch auf.

1. Alle Monitore auflisten Lesen Token

List all my Baromio monitors and show me their current status and check intervals.

2. Verfügbarkeitsstatistiken Lesen Token

What is the uptime percentage and average response time for my Production API monitor? Give me the monitor ID too.

3. Vorfallsdiagnose Lesen Token

Fetch the last 10 incidents for monitor ID a1b2c3d4-e5f6-7890-abcd-ef1234567890 and tell me if there is a recurring failure pattern based on root_cause and timing.

4. Vergleich über Monitore hinweg Lesen Token

List all my monitors, then fetch uptime stats for each one and rank them by average response time from fastest to slowest.

5. Massenerstellung Vollzugriff Token

Create three HTTP monitors: "API Gateway" at https://api.example.com, "Auth Service" at https://auth.example.com, and "Dashboard" at https://app.example.com. Set check_interval to 60 for all three and enable SSL monitoring.

Fehlerbehebung

401 Authentifizierungsfehler: „Unauthenticated“ oder HTTP 401

The Authorization header is missing or malformed.

  • Confirm the token value starts with no extra whitespace.
  • The header must be exactly Authorization: Bearer <token>.
  • Regenerate the token in Profile → API Keys if unsure.
403 Fehler „does not have full write permissions“

You are using a Read-only token and calling a write tool (create-monitor-tool or toggle-monitor-pause-tool).

Generate a Full Access token in Profile → API Keys and update your client config.

404 Tool nicht gefunden / Agent kennt keine Baromio-Tools

The client has not completed the MCP initialize handshake, or has a stale tool cache.

  • Claude Desktop / Windsurf: fully quit and relaunch the app.
  • Cursor: open the MCP settings panel and click Reconnect.
  • Verify the config file has no JSON syntax errors (trailing commas are not allowed).
[ ] Leere Monitor-Liste oder „Monitor not found“

The tool only returns monitors owned by the token's user.

  • Log into Baromio and confirm monitors exist on the dashboard.
  • If passing a monitor_id, copy it directly from the URL or list-monitors-tool output. IDs are UUIDs.
  • No ping data for stats: the monitor must have at least one completed check cycle.
ERR Verbindung abgelehnt / Server antwortet nicht

Check the URL in your config:

https://baromio.io/mcp
  • No trailing slash.
  • No /api/ prefix: the endpoint is at /mcp directly.
  • Run the curl command from the Generic HTTP tab above to confirm connectivity from your machine.

Changelog

v1.9.0

2026-04-02

Unified Navigation & New Tools

  • Unified marketing navigation across all pages (x-marketing-nav)
  • Added list-all-incidents-tool for bulk incident reporting
  • Monitor deletion is now available only with Full Access, an eligible paid plan, and the exact monitor ID
  • App logo now links to homepage; simplified auth-aware CTAs
  • Removed forced dashboard redirect for logged-in users
v1.0.0

2026-03-30

Initial release

  • SSE-based Remote MCP server at /api/mcp/sse
  • 5 monitors & stats tools

MCP server version: 3.22.2 · Protocol: MCP 2024-11-05 · Transport: SSE