OneUptime MCP server
com.oneuptime · Updated
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.
One-click install
Opens your editor and pre-fills the config. Your editor will ask before adding it.
How to install OneUptime in your AI client
Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.
How to install OneUptime in Claude CodeAnthropic's agentic CLI
Add the server
bashclaude mcp add --transport http oneuptime https://oneuptime.com/mcp --header 'x-api-key: <X-API-KEY>'Fill in your credentials
Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.
Verify it's connected
bashclaude mcp listSharing 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).
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 DesktopDesktop app (MCP config)
Open your MCP config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
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>" } } } }Fill in your credentials
Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.
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.
Restart Claude Desktop
The tools appear under the 🔌 menu once the app reloads.
How to install OneUptime in CursorAI-first code editor
Create / edit .cursor/mcp.json in your project
json{ "mcpServers": { "oneuptime": { "url": "https://oneuptime.com/mcp", "headers": { "x-api-key": "<X-API-KEY>" } } } }Fill in your credentials
Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.
Enable it
Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.
How to install OneUptime in Codex CLIOpenAI coding agent
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>" }Fill in your credentials
Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.
Why the wrapper?
Codex runs MCP servers as local processes, so mcp-remote bridges this HTTP endpoint to stdio.
Run Codex
Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.
How to install OneUptime in WindsurfCodeium's agentic IDE
Edit ~/.codeium/windsurf/mcp_config.json
json{ "mcpServers": { "oneuptime": { "serverUrl": "https://oneuptime.com/mcp", "headers": { "x-api-key": "<X-API-KEY>" } } } }Fill in your credentials
Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.
Reload
Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.
How to install OneUptime in ClineVS Code autonomous agent
Open Cline → MCP Servers → Configure
Adds to cline_mcp_settings.json.
Add the server
json{ "mcpServers": { "oneuptime": { "type": "streamableHttp", "url": "https://oneuptime.com/mcp", "headers": { "x-api-key": "<X-API-KEY>" } } } }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 CodeCopilot / MCP support
Create .vscode/mcp.json
json{ "servers": { "oneuptime": { "type": "http", "url": "https://oneuptime.com/mcp", "headers": { "x-api-key": "<X-API-KEY>" } } } }Fill in your credentials
Replace <X-API-KEY> with your real value. Keep secrets out of any config file you commit.
Start it
VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.
What does OneUptime need from you?
API key — Optional. A OneUptime project API key, for agents that run unattended. Leave it empty to sign in with your OneUptime account instead.
x-api-keyoptionalsecretHTTP headerOptional. A OneUptime project API key, for agents that run unattended. Leave it empty to sign in with your OneUptime account instead.
What tools does OneUptime expose? (60)
Read from the live server. Click any tool for its input schema.
- create_teamCreate 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_teamRetrieve a single Team by its unique ID from OneUptime. Use list_teams first if you need to find the ID.
- list_teamsList and search Teams from OneUptime with optional filtering, pagination, and sorting. Returns an array of Team objects plus the total matching count.
- update_teamUpdate 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_teamPermanently delete a Team from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- count_teamsCount 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_labelCreate 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_labelRetrieve a single Label by its unique ID from OneUptime. Use list_labels first if you need to find the ID.
- list_labelsList and search Labels from OneUptime with optional filtering, pagination, and sorting. Returns an array of Label objects plus the total matching count.
- update_labelUpdate 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_labelPermanently delete a Label from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- count_labelsCount 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_caseCreate 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_caseRetrieve a single Security Case by its unique ID from OneUptime. Use list_security_cases first if you need to find the ID.
- list_security_casesList 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_caseUpdate 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_casePermanently delete a Security Case from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- count_security_casesCount 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_noteCreate 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_noteRetrieve 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_notesList 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_noteUpdate 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_notePermanently delete a Security Case Note from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- count_security_case_notesCount 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_priorityCreate 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_priorityRetrieve 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_prioritiesList 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_priorityUpdate 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_priorityPermanently delete a Security Case Priority from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- count_security_case_prioritiesCount 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_statusCreate 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_statusRetrieve 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_statusesList 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_statusUpdate 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_statusPermanently delete a Security Case Status from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- count_security_case_statusesCount 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_detectionCreate 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_detectionRetrieve a single Security Detection by its unique ID from OneUptime. Use list_security_detections first if you need to find the ID.
- list_security_detectionsList 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_detectionUpdate 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_detectionPermanently delete a Security Detection from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- count_security_detectionsCount 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_playbookCreate 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_playbookRetrieve a single Security Playbook by its unique ID from OneUptime. Use list_security_playbooks first if you need to find the ID.
- list_security_playbooksList 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_playbookUpdate 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_playbookPermanently delete a Security Playbook from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- count_security_playbooksCount 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_pageCreate 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_pageRetrieve a single Status Page by its unique ID from OneUptime. Use list_status_pages first if you need to find the ID.
- list_status_pagesList 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_pageUpdate 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_pagePermanently delete a Status Page from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- count_status_pagesCount 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_policyCreate 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_policyRetrieve 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_policiesList 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_policyUpdate 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_policyPermanently delete a On-Call Policy from OneUptime. This action cannot be undone. Returns a confirmation message upon successful deletion.
- count_on_call_duty_policiesCount 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.
What the code can do
This is a remote server — nothing is installed or run on your machine, so there is no local code to analyze. What it can reach is described above: your requests go to the provider's host.
Before you install
Signals gathered from the source repo and package registry — not a safety verdict.
What it can reach
- Third-party hosted service — Your requests and any data in them are sent to oneuptime.com.
- No local execution — Nothing is installed or run on your machine.
- Last commit today — Actively maintained.
- 7.8k GitHub stars — Community adoption signal.
Client compatibility
Health score
A · 96Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated
- Maintenance30%100%
Last commit 0 days ago.
- Adoption20%100%
7768 stars.
- Transparency20%100%
4/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✓ discoverable tool list.
- Provenance15%75%
Links to its own repository; package linkage unverified.
- Packaging15%100%
Remote endpoint with documented authentication.
Documentation
Full READMEEnglish · 简⁠体⁠中⁠文 · 繁⁠體⁠中⁠文 · 日⁠本⁠語 · 한⁠국⁠어 · Español · Français · Deutsch · Português · Italiano · Русский · हिन्दी · فارسی · Nederlands · Dansk · Svenska · Norsk
OneUptime is an open-source observability platform. It checks that your websites, APIs and servers work, collects the logs, metrics and traces your apps send, pages whoever is on call when something breaks, and tells your customers on a status page. It all happens in one product, so the tool that notices a problem is the one that pages your team.
You can use it on OneUptime Cloud or run it on your own servers.
What it does
- [Monitoring](https://oneuptime.com/docs/monitor/create-monitor): Check websites, APIs, ports, DNS and certificates from probes around the world or from inside your own network. OneUptime also watches servers, Kubernetes, Docker, VMware, databases and network devices.
- [Incidents and on-call](https://oneuptime.com/docs/incidents/index): Work each incident on one timeline. Page whoever is on call by phone, SMS, email, push, Slack or Microsoft Teams, and escalate until someone responds.
- [Status pages](https://oneuptime.com/docs/status-pages/index): Keep customers informed on public or private status pages, and announce scheduled maintenance there.
- [Logs, metrics and traces](https://oneuptime.com/docs/telemetry/open-telemetry): Send them with OpenTelemetry, search them and build dashboards. Exceptions, profiles, real user monitoring and security events live in the same place.
- [Workflows and runbooks](https://oneuptime.com/docs/workflows/index): Automate routine work, and connect Jira, ServiceNow and the other tools your team already uses.
- [OneUptime AI](https://oneuptime.com/docs/ai/ai-sre): Investigates new incidents and alerts and posts a root cause analysis with citations. When you turn fixing on, it can open a pull request with a fix for your team to review.
- [API, CLI and Terraform](https://oneuptime.com/docs/api-reference/api-reference): Automate OneUptime from your scripts and CI, and manage monitors, status pages and on-call as code.
Everything else is in the docs.
Get started
OneUptime Cloud
Sign up and create a project. The free plan needs no credit card.
Self-host with Docker Compose
You need a Linux server with at least 8 GB of memory, and Docker, Docker Compose, Git and Node.js.
Before step 3, set HOST in config.env to the domain name or IP address people will use to reach OneUptime, without http://. Keep localhost only to try OneUptime on your own computer.
# 1. Clone the release branch
git clone --depth 1 --single-branch --branch release https://github.com/OneUptime/oneuptime.git
cd oneuptime
# 2. Create your config
cp config.example.env config.env
# 3. Start everything
npm startnpm start checks the server, gives every secret in config.env its own random value and starts OneUptime. When it prints OneUptime is up!, open http://localhost, or your server's address, and sign up. The first account becomes the instance's admin.
Alternatives to OneUptime
- Mailoo - Email MCP ServerA · 80Email MCP server for AI agents: IMAP/SMTP, Gmail, Outlook, calendar, ManageSieve, AI triage, OAuth2.
- Gmail-MCP-ServerA · 87Lean Gmail MCP server with auto authentication support
- L2 CalendarA · 83Query Lineage 2 private server openings by chronicle through the public L2 Calendar API.
- sentryB · 74Track errors, manage performance alerts, and configure dashboards and monitors
Maintain OneUptime? Add a badge to your README
Shows its health grade, and links readers to install steps for every client.
[](https://mcp-skills-hub.vercel.app/mcps/com-oneuptime-mcp)Catalog data refreshed . Something wrong? Report it.