Fettlefettle.sh
FeaturesPricingDocs
Sign inGet started
Fettlefettle.sh

Uptime monitoring for developers. From first deploy to incident #1000.

Product

  • Features
  • Pricing
  • Tools
  • Use cases
  • Docs

Legal

  • Terms
  • Privacy
© 2026 Fettle. Built for developers.fettle.sh

Docs

  • Documentation
  • Quickstart
  • API keys
  • MCP

/ docs / mcp

MCP

Connect Fettle to Claude, Cursor or Windsurf over the Model Context Protocol — a hosted endpoint or the fettle-mcp npm package.

Two channels, same tools

Fettle speaks the Model Context Protocol in two ways. Both authenticate with an ordinary Fettle API key and expose exactly the same tools, because both read the same generated contract.

  • Remote — a hosted endpoint at https://api.fettle.sh/mcp. Nothing to install, and it always offers the current tools.
  • Local — the fettle-mcp npm package, run over stdio by your client. For clients that cannot speak remote MCP, or when you would rather the key stayed in a local config file.

Prefer remote when your client supports it. Neither channel supports OAuth yet — a client that offers only one-click OAuth sign-in needs the local package.

Remote endpoint

Point your client at the endpoint and send your key as a bearer token. The exact config file differs by client; the two fields never do.

Remote MCP (nothing to install)
{
  "mcpServers": {
    "fettle": {
      "url": "https://api.fettle.sh/mcp",
      "headers": { "Authorization": "Bearer fettle_your_key_here" }
    }
  }
}

Local server (npx)

Requires Node.js 20 or newer. There is nothing to install ahead of time — your MCP client fetches and runs the package on demand.

Claude Code
claude mcp add fettle \
  --env FETTLE_API_KEY=fettle_your_key_here \
  -- npx -y fettle-mcp

Claude Desktop, Cursor and Windsurf are configured with a JSON file instead — claude_desktop_config.json, ~/.cursor/mcp.json and ~/.codeium/windsurf/mcp_config.json respectively. All three take the same block:

Local MCP server (stdio)
{
  "mcpServers": {
    "fettle": {
      "command": "npx",
      "args": ["-y", "fettle-mcp"],
      "env": { "FETTLE_API_KEY": "fettle_your_key_here" }
    }
  }
}

Restart the client after editing its config: most read MCP settings only at launch.

Tools

Read tools need a key with read scope; write tools need write scope. Ask for something a read key cannot do and the assistant is told, in words, to get a write key — it will not fail silently.

Fettle MCP tools, with the API key scope each one requires
ToolScopeWhat it does
list_monitorsreadList the monitors in the organization the API key belongs to.
get_monitorreadRead one monitor's full configuration and current status by id.
create_monitorwriteCreate a monitor that checks a URL, host or port on a schedule.
update_monitorwriteChange an existing monitor's settings.
pause_monitorwriteStop checking a monitor without deleting it — use before planned downtime.
resume_monitorwriteResume checks on a paused monitor.
delete_monitorwriteSoft-delete a monitor: it stops being checked and no longer appears in the organization's monitor list.
check_nowwriteRe-arm a monitor to run on the scheduler's next tick instead of waiting out its interval.
get_uptime_summaryreadUptime percentage, average response time and incident counts for one monitor over the 24-hour, 7-day and 30-day windows at once.
list_incidentsreadList incidents across the organization's monitors, optionally filtered to one monitor, to open or resolved ones, or to a period.
acknowledge_incidentwriteAcknowledge an open incident so repeat notifications stop while someone works on it.
list_heartbeatsreadList heartbeat (cron / dead-man's-switch) monitors and when each was last pinged.
create_heartbeatwriteCreate a heartbeat monitor and get back the URL a scheduled job should ping.
list_status_pagesreadList the organization's status pages, including each page's slug and whether it is currently published.

Generated from the tool contract at /public-api/mcp-tools.json, the same document both channels read.

Rate limits

A tool call is an API call: it spends one unit of your organization’s per-minute request budget, the same budget your own scripts use. There is no separate MCP allowance and no surcharge. The numbers per plan are on the API keys page.

Troubleshooting

  • The assistant sees no Fettle tools. Restart the client. For the local channel, check node -v reports 20 or newer, then run npx -y fettle-mcp in a terminal: it should print a missing-key message and exit, which proves the package itself runs.
  • Authentication failed. The key is wrong, revoked, or from a deleted organization. Create a fresh one and restart the client so it picks the new value up.
  • A tool needs write scope. The key is read-only. Create a write-scoped key — an existing key’s scope cannot be widened.