/ mcp

MCP server for uptime monitoring: Claude, Codex and any MCP client

Fettle's MCP server gives an AI agent the uptime monitoring you have in the dashboard. Ask Claude or Codex to add a monitor, find what is down, or post a status update, and it calls Fettle for you. It is on every plan, including free, in two channels: a hosted endpoint and the fettle-mcp npm package.

What you can ask

  • “Add HTTP monitors for these five URLs and tag them env:prod.”
  • “What is down right now, and why?”
  • “Add a heartbeat for the nightly backup job.”
  • “Silence alerts for the API monitors during tonight's deploy.”
  • “Post an update to our status page: the fix is deployed.”

Maintenance windows start on Pro. Everything else works on every plan, within its limits.

The tools

49 tools, 28 of them write tools. They cover the same ground as the REST API, because they call it.

Monitors

  • list_monitors
  • get_monitor
  • create_monitor
  • bulk_create_monitors
  • bulk_pause_monitors
  • bulk_resume_monitors
  • bulk_update_monitors
  • get_exposed_ports_preset
  • update_monitor
  • pause_monitor
  • resume_monitor
  • delete_monitor
  • check_now
  • check_target

Status pages

  • list_status_pages
  • get_status_page
  • list_status_page_incidents
  • create_status_page_incident
  • post_status_page_update
  • update_status_page_incident
  • delete_status_page_incident

Incidents

  • list_incidents
  • acknowledge_incident
  • get_incident

Heartbeats

  • list_heartbeats
  • create_heartbeat
  • get_heartbeat
  • update_heartbeat
  • pause_heartbeat
  • resume_heartbeat
  • delete_heartbeat

Maintenance windows

  • list_maintenance_windows
  • list_active_maintenance
  • get_maintenance_window
  • create_maintenance_window
  • update_maintenance_window
  • delete_maintenance_window
  • preview_maintenance_window

Tags

  • list_tags
  • bulk_update_monitor_tags
  • rename_tag
  • delete_tag

Results and uptime

  • get_uptime_summary
  • list_check_results
  • get_response_time_by_region
  • get_uptime_daily

Plan, channels and regions

  • get_plan_usage
  • list_channels
  • list_regions

What each tool does, and the scope it needs, is in the MCP docs.

Two channels, same tools

  • Remote: https://api.fettle.sh/mcp. Nothing to install.
  • Local: npx -y fettle-mcp, over stdio. Needs Node.js 20 or newer.

The remote endpoint needs nothing installed and always offers the current tools. The fettle-mcp package runs locally over stdio, for clients that do not speak remote MCP. Both authenticate with the same API key and expose the same tools. Neither supports OAuth yet.

Both are one entry in the official MCP registry: sh.fettle/mcp.

Set it up

Create an API key in the dashboard, then add Fettle to your client. Claude Code:

Claude Code, remote
claude mcp add fettle --transport http https://api.fettle.sh/mcp \
  --header "Authorization: Bearer fettle_your_key_here"

Codex reads the key from the FETTLE_API_KEY environment variable:

Codex, remote (~/.codex/config.toml)
[mcp_servers.fettle]
url = "https://api.fettle.sh/mcp"
bearer_token_env_var = "FETTLE_API_KEY"

Cursor, Windsurf and other clients that take a URL in a JSON config can point at the hosted endpoint. The config file differs by client, the two fields do not:

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

Claude Desktop, and any client without remote support, runs the local package:

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

The MCP setup guide has the local variants for each client and a troubleshooting list. Keys, scopes and rate limits are in the API keys guide.

Questions

Which MCP clients work with Fettle?
Claude Code, Claude Desktop and Codex, and any MCP client: Cursor and Windsurf among them. Claude Code, Codex, Cursor and Windsurf can use the hosted endpoint or the npm package. Claude Desktop's config file runs the npm package over stdio.
Does the MCP server cost extra?
No. It is on every plan, including free. A tool call is an API call: it spends one unit of your organization's per-minute request budget, the same one your scripts use.
Should I use the remote endpoint or the npm package?
The remote endpoint needs nothing installed and always offers the current tools. The fettle-mcp package runs locally over stdio, for clients that do not speak remote MCP. Both authenticate with the same API key and expose the same tools. Neither supports OAuth yet.
Can an agent change things I did not ask for?
It can do only what its API key allows. Give it a read-scoped key and it can look at monitors and incidents but change nothing. Write tools need a write-scoped key.

Plans and limits are on the pricing page.