# OneUptime MCP server

Manage incidents, alerts, monitors, status pages, on-call and telemetry in OneUptime.

## At a glance

OneUptime is an MCP server in the Other category. It is hosted remotely and connects over HTTP, and needs x-api-key. It exposes 60 tools, including create_team, get_team and list_teams. It scores A (96/100) on the MCP Skills Hub health score as of Oct 28, 2026.

## Install

### How to install OneUptime in Claude Code

1. Add the server

```bash
claude mcp add --transport http oneuptime https://oneuptime.com/mcp --header 'x-api-key: <X-API-KEY>'
```

2. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

3. Verify it's connected

```bash
claude mcp list
```

4. Sharing it with your team?

   Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).

5. Use it in a session

   Ask Claude to use the tools this server exposes (e.g. create_team, get_team, list_teams). It discovers them automatically.

### How to install OneUptime in Claude Desktop

1. Open your MCP config

   macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json

2. Add this server

```json
{
  "mcpServers": {
    "oneuptime": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://oneuptime.com/mcp",
        "--header",
        "x-api-key:${X_API_KEY}"
      ],
      "env": {
        "X_API_KEY": "<X-API-KEY>"
      }
    }
  }
}
```

3. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

4. Why the wrapper?

   This is a remote (HTTP) server and Claude Desktop only launches local processes, so mcp-remote proxies the connection. It will open a browser window if the server needs OAuth.

5. Restart Claude Desktop

   The tools appear under the 🔌 menu once the app reloads.

### How to install OneUptime in Cursor

1. Create / edit .cursor/mcp.json in your project

```json
{
  "mcpServers": {
    "oneuptime": {
      "url": "https://oneuptime.com/mcp",
      "headers": {
        "x-api-key": "<X-API-KEY>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

3. Enable it

   Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.

### How to install OneUptime in Codex CLI

1. Add to ~/.codex/config.toml

```toml
[mcp_servers.oneuptime]
command = "npx"
args = ["-y", "mcp-remote", "https://oneuptime.com/mcp", "--header", "x-api-key:${X_API_KEY}"]
env = { X_API_KEY = "<X-API-KEY>" }
```

2. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

3. Why the wrapper?

   Codex runs MCP servers as local processes, so mcp-remote bridges this HTTP endpoint to stdio.

4. Run Codex

   Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.

### How to install OneUptime in Windsurf

1. Edit ~/.codeium/windsurf/mcp_config.json

```json
{
  "mcpServers": {
    "oneuptime": {
      "serverUrl": "https://oneuptime.com/mcp",
      "headers": {
        "x-api-key": "<X-API-KEY>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

3. Reload

   Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.

### How to install OneUptime in Cline

1. Open Cline → MCP Servers → Configure

   Adds to cline_mcp_settings.json.

2. Add the server

```json
{
  "mcpServers": {
    "oneuptime": {
      "type": "streamableHttp",
      "url": "https://oneuptime.com/mcp",
      "headers": {
        "x-api-key": "<X-API-KEY>"
      }
    }
  }
}
```

3. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

### How to install OneUptime in VS Code

1. Create .vscode/mcp.json

```json
{
  "servers": {
    "oneuptime": {
      "type": "http",
      "url": "https://oneuptime.com/mcp",
      "headers": {
        "x-api-key": "<X-API-KEY>"
      }
    }
  }
}
```

2. Fill in your credentials

   Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.

3. Start it

   VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.

## Tools

- `create_team` — Create a new Team in OneUptime. Returns the created Team object with its ID. Use this to add new Teams to your project. Note: projectId is inferred from your API key — you do not need to provide it.
- `get_team` — Retrieve a single Team by its unique ID from OneUptime. Use list_teams first if you need to find the ID.
- `list_teams` — List and search Teams from OneUptime with optional filtering, pagination, and sorting. Returns an array of Team objects plus the total matching count.
- `update_team` — Update an existing Team in OneUptime. Only include the fields you want to change - unspecified fields will remain unchanged. Use get_team afterwards to see the updated record.
- `delete_team` — Permanently delete a Team from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- `count_teams` — Count the total number of Teams in OneUptime, optionally filtered by query criteria. Returns a single number. Useful for dashboards, reports, or checking if records exist before listing.
- `create_label` — Create a new Label in OneUptime. Returns the created Label object with its ID. Use this to add new Labels to your project. Note: projectId is inferred from your API key — you do not need to provide it.
- `get_label` — Retrieve a single Label by its unique ID from OneUptime. Use list_labels first if you need to find the ID.
- `list_labels` — List and search Labels from OneUptime with optional filtering, pagination, and sorting. Returns an array of Label objects plus the total matching count.
- `update_label` — Update an existing Label in OneUptime. Only include the fields you want to change - unspecified fields will remain unchanged. Use get_label afterwards to see the updated record.
- `delete_label` — Permanently delete a Label from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- `count_labels` — Count the total number of Labels in OneUptime, optionally filtered by query criteria. Returns a single number. Useful for dashboards, reports, or checking if records exist before listing.
- `create_security_case` — Create a new Security Case in OneUptime. Returns the created Security Case object with its ID. Use this to add new Security Cases to your project. Note: projectId is inferred from your API key — you do not need to provide it.
- `get_security_case` — Retrieve a single Security Case by its unique ID from OneUptime. Use list_security_cases first if you need to find the ID.
- `list_security_cases` — List and search Security Cases from OneUptime with optional filtering, pagination, and sorting. Returns an array of Security Case objects plus the total matching count.
- `update_security_case` — Update an existing Security Case in OneUptime. Only include the fields you want to change - unspecified fields will remain unchanged. Use get_security_case afterwards to see the updated record.
- `delete_security_case` — Permanently delete a Security Case from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- `count_security_cases` — Count the total number of Security Cases in OneUptime, optionally filtered by query criteria. Returns a single number. Useful for dashboards, reports, or checking if records exist before listing.
- `create_security_case_note` — Create a new Security Case Note in OneUptime. Returns the created Security Case Note object with its ID. Use this to add new Security Case Notes to your project. Note: projectId is inferred from your API key — you do not need to provide it.
- `get_security_case_note` — Retrieve a single Security Case Note by its unique ID from OneUptime. Use list_security_case_notes first if you need to find the ID.
- `list_security_case_notes` — List and search Security Case Notes from OneUptime with optional filtering, pagination, and sorting. Returns an array of Security Case Note objects plus the total matching count.
- `update_security_case_note` — Update an existing Security Case Note in OneUptime. Only include the fields you want to change - unspecified fields will remain unchanged. Use get_security_case_note afterwards to see the updated record.
- `delete_security_case_note` — Permanently delete a Security Case Note from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- `count_security_case_notes` — Count the total number of Security Case Notes in OneUptime, optionally filtered by query criteria. Returns a single number. Useful for dashboards, reports, or checking if records exist before listing.
- `create_security_case_priority` — Create a new Security Case Priority in OneUptime. Returns the created Security Case Priority object with its ID. Use this to add new Security Case Priorities to your project. Note: projectId is inferred from your API key — you do not need to provide it.
- `get_security_case_priority` — Retrieve a single Security Case Priority by its unique ID from OneUptime. Use list_security_case_priorities first if you need to find the ID.
- `list_security_case_priorities` — List and search Security Case Priorities from OneUptime with optional filtering, pagination, and sorting. Returns an array of Security Case Priority objects plus the total matching count.
- `update_security_case_priority` — Update an existing Security Case Priority in OneUptime. Only include the fields you want to change - unspecified fields will remain unchanged. Use get_security_case_priority afterwards to see the updated record.
- `delete_security_case_priority` — Permanently delete a Security Case Priority from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- `count_security_case_priorities` — Count the total number of Security Case Priorities in OneUptime, optionally filtered by query criteria. Returns a single number. Useful for dashboards, reports, or checking if records exist before listing.
- `create_security_case_status` — Create a new Security Case Status in OneUptime. Returns the created Security Case Status object with its ID. Use this to add new Security Case Statuses to your project. Note: projectId is inferred from your API key — you do not need to provide it.
- `get_security_case_status` — Retrieve a single Security Case Status by its unique ID from OneUptime. Use list_security_case_statuses first if you need to find the ID.
- `list_security_case_statuses` — List and search Security Case Statuses from OneUptime with optional filtering, pagination, and sorting. Returns an array of Security Case Status objects plus the total matching count.
- `update_security_case_status` — Update an existing Security Case Status in OneUptime. Only include the fields you want to change - unspecified fields will remain unchanged. Use get_security_case_status afterwards to see the updated record.
- `delete_security_case_status` — Permanently delete a Security Case Status from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- `count_security_case_statuses` — Count the total number of Security Case Statuses in OneUptime, optionally filtered by query criteria. Returns a single number. Useful for dashboards, reports, or checking if records exist before listing.
- `create_security_detection` — Create a new Security Detection in OneUptime. Returns the created Security Detection object with its ID. Use this to add new Security Detections to your project. Note: projectId is inferred from your API key — you do not need to provide it.
- `get_security_detection` — Retrieve a single Security Detection by its unique ID from OneUptime. Use list_security_detections first if you need to find the ID.
- `list_security_detections` — List and search Security Detections from OneUptime with optional filtering, pagination, and sorting. Returns an array of Security Detection objects plus the total matching count.
- `update_security_detection` — Update an existing Security Detection in OneUptime. Only include the fields you want to change - unspecified fields will remain unchanged. Use get_security_detection afterwards to see the updated record.
- `delete_security_detection` — Permanently delete a Security Detection from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- `count_security_detections` — Count the total number of Security Detections in OneUptime, optionally filtered by query criteria. Returns a single number. Useful for dashboards, reports, or checking if records exist before listing.
- `create_security_playbook` — Create a new Security Playbook in OneUptime. Returns the created Security Playbook object with its ID. Use this to add new Security Playbooks to your project. Note: projectId is inferred from your API key — you do not need to provide it.
- `get_security_playbook` — Retrieve a single Security Playbook by its unique ID from OneUptime. Use list_security_playbooks first if you need to find the ID.
- `list_security_playbooks` — List and search Security Playbooks from OneUptime with optional filtering, pagination, and sorting. Returns an array of Security Playbook objects plus the total matching count.
- `update_security_playbook` — Update an existing Security Playbook in OneUptime. Only include the fields you want to change - unspecified fields will remain unchanged. Use get_security_playbook afterwards to see the updated record.
- `delete_security_playbook` — Permanently delete a Security Playbook from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- `count_security_playbooks` — Count the total number of Security Playbooks in OneUptime, optionally filtered by query criteria. Returns a single number. Useful for dashboards, reports, or checking if records exist before listing.
- `create_status_page` — Create a new Status Page in OneUptime. Returns the created Status Page object with its ID. Use this to add new Status Pages to your project. Note: projectId is inferred from your API key — you do not need to provide it.
- `get_status_page` — Retrieve a single Status Page by its unique ID from OneUptime. Use list_status_pages first if you need to find the ID.
- `list_status_pages` — List and search Status Pages from OneUptime with optional filtering, pagination, and sorting. Returns an array of Status Page objects plus the total matching count.
- `update_status_page` — Update an existing Status Page in OneUptime. Only include the fields you want to change - unspecified fields will remain unchanged. Use get_status_page afterwards to see the updated record.
- `delete_status_page` — Permanently delete a Status Page from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- `count_status_pages` — Count the total number of Status Pages in OneUptime, optionally filtered by query criteria. Returns a single number. Useful for dashboards, reports, or checking if records exist before listing.
- `create_on_call_policy` — Create a new On-Call Policy in OneUptime. Returns the created On-Call Policy object with its ID. Use this to add new On-Call Duty Policies to your project. Note: projectId is inferred from your API key — you do not need to provide it.
- `get_on_call_policy` — Retrieve a single On-Call Policy by its unique ID from OneUptime. Use list_on_call_duty_policies first if you need to find the ID.
- `list_on_call_duty_policies` — List and search On-Call Duty Policies from OneUptime with optional filtering, pagination, and sorting. Returns an array of On-Call Policy objects plus the total matching count.
- `update_on_call_policy` — Update an existing On-Call Policy in OneUptime. Only include the fields you want to change - unspecified fields will remain unchanged. Use get_on_call_policy afterwards to see the updated record.
- `delete_on_call_policy` — Permanently delete a On-Call Policy from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- `count_on_call_duty_policies` — Count the total number of On-Call Duty Policies in OneUptime, optionally filtered by query criteria. Returns a single number. Useful for dashboards, reports, or checking if records exist before listing.

Source repository: https://github.com/OneUptime/oneuptime

---

Source: https://mcp-skills-hub.vercel.app/mcps/com-oneuptime-mcp · MCP Skills Hub · data as of 2026-10-28T12:31:05Z
