Guide

UptimeSam MCP server

Connect your AI assistant to your boards, and ask it what is down, why, and to set up monitors and post incidents for you.

Overview

The UptimeSam MCP server lets an AI assistant such as Claude, ChatGPT, Cursor or VS Code work as you on the boards you are an admin of. It can check what is up and down, read uptime and recent outages, add, change, pause and resume monitors, and post incidents and updates on your status page. It is for board admins, on boards on the Max plan.

This is the server URL. Every client below needs it:

https://uptimesam.com/mcp

Connect

Most clients sign in to UptimeSam for you: you add the server URL, a browser window asks you to sign in and approve, and that is all. Menu names in these apps change from time to time, so if a label below does not match exactly, look for the nearest one.

Claude (claude.ai and the desktop app)

  1. Open Settings > Connectors and choose Add custom connector.
  2. Give it a name, such as UptimeSam, and paste the server URL.
  3. Click Connect, sign in to UptimeSam and approve the connection.
  4. In a conversation, turn UptimeSam on from the tools menu.

On Team and Enterprise plans, an owner adds the connector first under Admin settings > Connectors, then each member clicks Connect. Remote servers like this one are added as a connector, not in claude_desktop_config.json.

ChatGPT

  1. Turn on developer mode in Settings > Apps & Connectors > Advanced settings. It is available on paid plans, and on Business and Enterprise workspaces an admin may need to allow it first.
  2. Create a connector with the server URL and choose OAuth as the authentication.
  3. Sign in to UptimeSam and approve the connection.
  4. In a chat, select the connector (or mention it) so ChatGPT uses its tools.

Claude Code

Add the server from your terminal:

claude mcp add --transport http uptimesam https://uptimesam.com/mcp

Then run /mcp inside Claude Code and choose to authenticate. A browser opens for you to sign in to UptimeSam and approve.

Cursor

Add this to ~/.cursor/mcp.json, or to .cursor/mcp.json in a project. Cursor then offers to sign in.

~/.cursor/mcp.json

{
  "mcpServers": {
    "uptimesam": {
      "url": "https://uptimesam.com/mcp"
    }
  }
}

If Cursor's built-in browser does not load the sign-in page, copy the link into your normal browser.

VS Code

Open the Command Palette, run MCP: Add Server, choose HTTP, paste the server URL and approve the sign-in. Or add it to .vscode/mcp.json:

.vscode/mcp.json

{
  "servers": {
    "uptimesam": {
      "type": "http",
      "url": "https://uptimesam.com/mcp"
    }
  }
}

Other clients, and clients without OAuth

A client that supports OAuth for remote MCP servers needs only the server URL. For one that cannot sign in and only takes a header, generate a personal token in Settings > MCP server and send it as Authorization: Bearer followed by the token. A token lasts 90 days and only works with the MCP server.

{
  "mcpServers": {
    "uptimesam": {
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      },
      "url": "https://uptimesam.com/mcp"
    }
  }
}

Open the MCP server settings

What it can do

These are the tools the server gives your assistant, as it describes them. Reads only look; changes write to the board.

  • List boards list_boards Reads

    Lists the boards this account is an admin of, with each board's slug, its status page address and how many monitors are up and down. Call this first: the other tools take a board slug.

  • Get a board's status get_board_status Reads

    What the board's status page shows right now: the headline (operational, degraded, outage or maintenance) and each public monitor with its status, uptime and last 30 days.

  • List monitors list_monitors Reads

    Lists a board's monitors with their type, target, status, last check, response time and last error. Narrow it by status.

  • Get a monitor get_monitor Reads

    Gets one monitor in full: its settings, its uptime over 24 hours, 7, 30 and 90 days, and its most recent outages with their causes.

  • Add a monitor create_monitor Changes

    Adds a monitor to a board. Its first check runs within seconds. Types: http (status code), keyword (text in the page), ssl (certificate expiry), heartbeat (a cron job pings its heartbeat_url), tcp, dns, ping, postgres, mysql, redis and smtp. The plan's monitor count and shortest interval apply.

  • Change a monitor update_monitor Changes

    Changes the fields you send and leaves the rest. The type cannot change. A change to what is checked, or how often, checks again straight away.

  • Pause a monitor pause_monitor Changes

    Stops checking a monitor, for example during planned work. A paused monitor sends no alerts and the paused time is not downtime.

  • Resume a monitor resume_monitor Changes

    Starts checking a paused monitor again.

  • List incidents list_incidents Reads

    Lists a board's status page incidents, open ones first, with their updates.

  • Post an incident create_incident Changes

    Posts an incident on the board's status page, with its first update. By default the board's alert channels and email subscribers are told; set notify to false to post quietly.

  • Update an incident add_incident_update Changes

    Posts an update to an incident; its status becomes the incident's, and resolved closes it. By default the board's alert channels and email subscribers are told.

Examples

Things you can ask, and the tools the assistant uses for them:

  • "Is anything down right now, and since when?"

    list_boards list_monitors

  • "Why was the API down last night, and what is its uptime this month?"

    list_monitors get_monitor

  • "Add monitors for api.acme.com/health every minute and our Postgres at db.acme.com."

    list_boards create_monitor

  • "Pause the checkout monitor while we deploy, then resume it."

    list_monitors pause_monitor resume_monitor

  • "Post an incident that logins are slow, affecting the API, and mark it resolved when I say so."

    list_monitors create_incident add_incident_update

  • "Alert me when any monitor takes over 2 seconds to answer."

    list_monitors update_monitor

Permissions and privacy

  • Only board admins can use it. It acts as you, on the boards you are an admin of, as long as the board is not locked and its owner is on Max. A board where you are a member but not an admin, or any other board, is answered as though it did not exist.
  • The board owner's plan is what counts, as for every board feature: an admin of a board whose owner is on Max can use it whatever their own plan, and being on Max yourself does not open a board whose owner is not.
  • It sees what you see on each board as an admin: every monitor, public or not, with its settings, uptime and outages.
  • Changes work exactly as in the app, within your plan's monitor count and shortest interval. An incident it posts is public on your status page and, unless it is told not to, notifies your alert channels and email subscribers, so check its wording before you let it post.
  • No tool deletes a board, a monitor or an incident. Pausing stops checks and alerts until the monitor is resumed.
  • A board whose owner has no active plan is read-only, here as in the app.
  • Each account can make up to 120 requests a minute.

Managing access

Settings > MCP server lists everything connected to your account under Connected, with when each was last used. Revoke disconnects one straight away; the others keep working.

A client that signed in gets an access token that lasts 60 minutes and is refreshed for you. The refresh lasts 30 days, so a client you have not used for that long asks you to sign in again.

A personal token lasts 90 days. It is shown once, when you generate it, so copy it then; after that, generate a new one.

Open the MCP server settings

Troubleshooting

"The UptimeSam MCP server is for board admins: you need to be an admin of a board on the Max plan"
You are not an admin of any board whose owner is on Max. On a board you own, upgrade to Max; on someone else's, ask its owner to make you an admin, or to upgrade. Only boards you are an admin of show up.
"The token is invalid or has expired"
The connection was revoked, or its token ran out. Reconnect the client, or generate a new personal token. A board's REST API keys do not work here: the MCP server only takes its own tokens.
"This app asked to return to an address it did not register."
The sign-in link is out of date or was changed. Start connecting again from the app.
"Too many requests: slow down and try again shortly"
The assistant hit the limit on requests per account. Wait a minute and ask again.
ChatGPT answers without using UptimeSam
Select the connector in the chat, or mention it, so ChatGPT uses its tools.