프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

OneUptime

제작자: OneUptime버전 14.0.104i★ –i클라우드에서 실행
레지스트리 이름com.oneuptime/mcp

설치

개요

제작자가 쓴 설명(영어 원문)

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

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 클라우드에서 실행
  • 전송 방식: Streamable HTTP
  • 카테고리: 기타
  • 입력해야 할 값: x-api-key

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.

터미널에서 이 명령어를 실행하세요

claude mcp add --transport http oneuptime https://oneuptime.com/mcp --header 'x-api-key: your-value'

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "oneuptime": {
      "url": "https://oneuptime.com/mcp",
      "headers": {
        "x-api-key": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "oneuptime": {
      "type": "http",
      "url": "https://oneuptime.com/mcp",
      "headers": {
        "x-api-key": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • x-api-key 비밀 HTTP header
    Optional. A OneUptime project API key, for agents that run unattended. Leave it empty to sign in with your OneUptime account instead.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

도구 이름과 설명은 서버가 2026년 11월 6일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.

  • create_team

    Create a new Team. Returns it with its ID. projectId comes from your credentials. Field details: oneuptime_describe_resource.

  • get_team

    Get one Team by ID. Find IDs with list_teams.

  • list_teams

    List Teams with filtering, sorting and paging. Returns the page and the total matching count.

  • update_team

    Update one Team by ID. Send only the fields to change. Field details: oneuptime_describe_resource.

  • delete_team

    Permanently delete one Team by ID. This cannot be undone.

  • count_teams

    Count Teams, all of them or those a filter matches. Returns a single number.

  • create_label

    Create a new Label. Returns it with its ID. projectId comes from your credentials. Field details: oneuptime_describe_resource.

  • get_label

    Get one Label by ID. Find IDs with list_labels.

  • list_labels

    List Labels with filtering, sorting and paging. Returns the page and the total matching count.

  • update_label

    Update one Label by ID. Send only the fields to change. Field details: oneuptime_describe_resource.

  • delete_label

    Permanently delete one Label by ID. This cannot be undone.

  • count_labels

    Count Labels, all of them or those a filter matches. Returns a single number.

  • create_security_case

    Create a new Security Case. Returns it with its ID. projectId comes from your credentials. Field details: oneuptime_describe_resource.

  • get_security_case

    Get one Security Case by ID. Find IDs with list_security_cases.

  • list_security_cases

    List Security Cases with filtering, sorting and paging. Returns the page and the total matching count.

  • update_security_case

    Update one Security Case by ID. Send only the fields to change. Field details: oneuptime_describe_resource.

  • delete_security_case

    Permanently delete one Security Case by ID. This cannot be undone.

  • count_security_cases

    Count Security Cases, all of them or those a filter matches. Returns a single number.

  • create_security_case_note

    Create a new Security Case Note. Returns it with its ID. projectId comes from your credentials. Field details: oneuptime_describe_resource.

  • get_security_case_note

    Get one Security Case Note by ID. Find IDs with list_security_case_notes.

  • list_security_case_notes

    List Security Case Notes with filtering, sorting and paging. Returns the page and the total matching count.

  • update_security_case_note

    Update one Security Case Note by ID. Send only the fields to change. Field details: oneuptime_describe_resource.

  • delete_security_case_note

    Permanently delete one Security Case Note by ID. This cannot be undone.

  • count_security_case_notes

    Count Security Case Notes, all of them or those a filter matches. Returns a single number.

  • create_security_case_task

    Create a new Security Case Task. Returns it with its ID. projectId comes from your credentials. Field details: oneuptime_describe_resource.

  • get_security_case_task

    Get one Security Case Task by ID. Find IDs with list_security_case_tasks.

  • list_security_case_tasks

    List Security Case Tasks with filtering, sorting and paging. Returns the page and the total matching count.

  • update_security_case_task

    Update one Security Case Task by ID. Send only the fields to change. Field details: oneuptime_describe_resource.

  • delete_security_case_task

    Permanently delete one Security Case Task by ID. This cannot be undone.

  • count_security_case_tasks

    Count Security Case Tasks, all of them or those a filter matches. Returns a single number.

  • create_security_case_evidence

    Create a new Security Case Evidence. Returns it with its ID. projectId comes from your credentials. Field details: oneuptime_describe_resource.

  • get_security_case_evidence

    Get one Security Case Evidence by ID. Find IDs with list_security_case_evidence.

  • list_security_case_evidence

    List Security Case Evidence with filtering, sorting and paging. Returns the page and the total matching count.

  • update_security_case_evidence

    Update one Security Case Evidence by ID. Send only the fields to change. Field details: oneuptime_describe_resource.

  • delete_security_case_evidence

    Permanently delete one Security Case Evidence by ID. This cannot be undone.

  • count_security_case_evidence

    Count Security Case Evidence, all of them or those a filter matches. Returns a single number.

  • create_security_case_priority

    Create a new Security Case Priority. Returns it with its ID. projectId comes from your credentials. Field details: oneuptime_describe_resource.

  • get_security_case_priority

    Get one Security Case Priority by ID. Find IDs with list_security_case_priorities.

  • list_security_case_priorities

    List Security Case Priorities with filtering, sorting and paging. Returns the page and the total matching count.

  • update_security_case_priority

    Update one Security Case Priority by ID. Send only the fields to change. Field details: oneuptime_describe_resource.

  • delete_security_case_priority

    Permanently delete one Security Case Priority by ID. This cannot be undone.

  • count_security_case_priorities

    Count Security Case Priorities, all of them or those a filter matches. Returns a single number.

  • create_security_case_status

    Create a new Security Case Status. Returns it with its ID. projectId comes from your credentials. Field details: oneuptime_describe_resource.

  • get_security_case_status

    Get one Security Case Status by ID. Find IDs with list_security_case_statuses.

  • list_security_case_statuses

    List Security Case Statuses with filtering, sorting and paging. Returns the page and the total matching count.

  • update_security_case_status

    Update one Security Case Status by ID. Send only the fields to change. Field details: oneuptime_describe_resource.

  • delete_security_case_status

    Permanently delete one Security Case Status by ID. This cannot be undone.

  • count_security_case_statuses

    Count Security Case Statuses, all of them or those a filter matches. Returns a single number.

  • create_security_detection

    Create a new Security Detection. Returns it with its ID. projectId comes from your credentials. Field details: oneuptime_describe_resource.

  • get_security_detection

    Get one Security Detection by ID. Find IDs with list_security_detections.

  • list_security_detections

    List Security Detections with filtering, sorting and paging. Returns the page and the total matching count.

  • update_security_detection

    Update one Security Detection by ID. Send only the fields to change. Field details: oneuptime_describe_resource.

  • delete_security_detection

    Permanently delete one Security Detection by ID. This cannot be undone.

  • count_security_detections

    Count Security Detections, all of them or those a filter matches. Returns a single number.

  • create_security_playbook

    Create a new Security Playbook. Returns it with its ID. projectId comes from your credentials. Field details: oneuptime_describe_resource.

  • get_security_playbook

    Get one Security Playbook by ID. Find IDs with list_security_playbooks.

  • list_security_playbooks

    List Security Playbooks with filtering, sorting and paging. Returns the page and the total matching count.

  • update_security_playbook

    Update one Security Playbook by ID. Send only the fields to change. Field details: oneuptime_describe_resource.

  • delete_security_playbook

    Permanently delete one Security Playbook by ID. This cannot be undone.

  • count_security_playbooks

    Count Security Playbooks, all of them or those a filter matches. Returns a single number.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 도메인 oneuptime.com 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • ✓ 통과

    엔드포인트 응답

    128ms 만에 응답(HTTP 200)

  • – 해당 없음

    OAuth로 로그인

    로그인 필요 없음

  • ✓ 통과

    도구 설명에 숨겨진 지시 없음

    도구 설명 60개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 32497개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 32497개 중 100%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 32497개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

OneUptime, 안전한가요?

해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: x-api-key

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(14.0.104)은 오늘 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Zoo MCP

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Spec Driven Development

제작자: formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

내 컴퓨터에서 실행★ 440MIT14개월 전 업데이트
설치

Remote Desktop Commander

제작자: desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

클라우드에서 실행★ 211어제 업데이트
설치

Zoo MCP

제작자: KittyCAD

An MCP server that provides access to the Zoo API for various CAD operations and tools.

내 컴퓨터에서 실행오늘 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

OneUptime MCP Server

A Model Context Protocol (MCP) server that exposes OneUptime to AI agents. It lets MCP-compatible clients (Claude, VS Code with Copilot, Cursor, and others) manage incidents, alerts, monitors, status pages, on-call, and telemetry through about 290 tools.

How it works

  • Transport: Streamable HTTP at /mcp. The server is stateless — no session IDs are issued or required, so it is safe behind load balancers and multi-replica deployments.
  • Hosted endpoint: https://oneuptime.com/mcp
  • Self-hosted endpoint: https:// /mcp (served by the App container behind Nginx)
  • Auth: sign in with OneUptime (OAuth 2.1, per the MCP authorization specification), or a per-request API key via the x-api-key header or Authorization: Bearer (scheme is case-insensitive). There is no environment-variable API key — every request carries its own credential.

Connecting a client

By signing in

Give the client the URL and nothing else. The first call to a tool that needs an identity is answered 401 with a WWW-Authenticate challenge; the client discovers the authorization server from it, opens the consent screen in the user's browser, and gets tokens for the project the user picks.

claude mcp add --transport http oneuptime https://oneuptime.com/mcp
{ "servers": { "oneuptime": { "type": "http", "url": "https://oneuptime.com/mcp" } } }

The rest of this section configures the same clients with an API key instead, for agents that run unattended.

Claude Desktop

Add to claude_desktop_config.json:

{

"mcpServers": { "oneuptime": { "transport": "streamable-http", "url": "https://oneuptime.com/mcp", "headers": { "x-api-key": "your-api-key-here" } } } }

Claude Code
claude mcp add --transport http oneuptime https://oneuptime.com/mcp \

--header "x-api-key: your-api-key-here"

VS Code (GitHub Copilot)

.vscode/mcp.json or the user MCP configuration:

{

"servers": { "oneuptime": { "type": "http", "url": "https://oneuptime.com/mcp", "headers": { "x-api-key": "${input:oneuptime-api-key}" } } }, "inputs": [ { "type": "promptString", "id": "oneuptime-api-key", "description": "OneUptime API Key", "password": true } ] }

Cursor

.cursor/mcp.json:

{

"mcpServers": { "oneuptime": { "url": "https://oneuptime.com/mcp", "headers": { "x-api-key": "your-api-key-here" } } } }

For self-hosted instances, replace oneuptime.com with your OneUptime host in any of the above.

Authentication

API key

Create a project API key in OneUptime under Project Settings → Advanced → API Keys and grant it the least privilege the agent needs (read-only keys work for all get_/list_/count_ tools). The project is inferred from the key — create tools never need a projectId argument.

Warning — never give an AI agent a master key. A OneUptime *master* API key is also accepted on this header and grants instance-wide admin access. Always use a project-scoped API key with least privilege for AI agents.

Public status page tools and oneuptime_help / oneuptime_list_resources / oneuptime_describe_resource work without any credential.

OAuth sign-in

The code is in OAuth/; each file opens with the reasoning behind it. The shape of it:

  • One issuer under `/mcp`. https:// /mcp is both the protected resource (RFC 9728) and the authorization server's issuer (RFC 8414). Every endpoint sits under /mcp/oauth, and every URL is built from HOST / HTTP_PROTOCOL, never from the request.
  • Lazy, at the HTTP layer. OAuth/RequestGate runs before the MCP SDK sees a request. initialize, tools/list and the public tools pass with no credential; a call to a tool that needs an identity is refused 401 (or 403 insufficient_scope for a read-only grant calling a write tool) with a Bearer challenge. It cannot live in a tool handler: a refusal from inside the SDK is a 200, and a client only starts signing its user in on a real 401.
  • Clients identify themselves. A Client ID Metadata Document (OAuth/ClientIdMetadataDocument, fetched through the egress guard with private addresses always blocked) or Dynamic Client Registration (OAuth/RegistrationEndpoint). Nobody registers a client by hand.
  • Authorization code + PKCE (S256 only), resource indicators (RFC 8707), iss in the authorization response (RFC 9207), rotating refresh tokens with reuse detection, revocation (RFC 7009).
  • Opaque tokens, stored as hashes. oumcp_ac_… / oumcp_at_… / oumcp_rt_…; only the SHA-256 is kept (McpOAuthToken). A grant (McpOAuthGrant) is one member letting one client act for them in one project; revoking is deleting the grant, which cascades to its tokens.
  • Only an access token is a credential. x-api-key carries an API key and nothing else; Authorization carries an API key or an access token. Any other oumcp_ secret presented in either header — a refresh token, a code, a client secret, or an access token in x-api-key — is refused 401 invalid_token by OAuth/RequestGate and is never passed on to the API as an API key.
  • Scopes mcp:read and mcp:write (write includes read). The consent screen can narrow what a client asked for, never widen it.
  • The API never sees the client's token. Having accepted an access token, the MCP layer calls the REST API with a 60-second signed *delegation token* (Common/Server/Utils/Mcp/McpDelegationToken). Common/Server/Middleware/McpDelegationAuthorization turns that into a request authorized as the member — never as a master admin — in the grant's project, with their live permissions, and marked read-only when the grant is. A stolen access token is therefore worth exactly what the MCP tools can do with it.
  • Checked on every use. Common/Server/Utils/Mcp/McpOAuthGrantAccess re-evaluates the grant per request and per token exchange: the member still exists, is not blocked, still belongs to the project, is not on a team that blocks AuthorizeMcpClient, and still satisfies the project's SSO requirement.
  • Consent is the Accounts page /accounts/mcp-authorize; managing connected clients is Settings → MCP Server in the Dashboard.

Two settings: DISABLE_MCP_OAUTH=true switches the whole thing off (the routes answer 404 and an unauthenticated tool call gets the in-band "API key is required" result it always got), and DISABLE_MCP_OAUTH_CLIENT_ID_METADATA_DOCUMENTS=true is for instances that cannot make outbound requests.

Tool catalog

Database resources — full CRUD

Each of these 27 models gets six tools: create_, get_, list_, update_, delete_, count_ (e.g. create_incident, get_incident, list_incidents, update_incident, delete_incident, count_incidents):

Incident, Alert, Incident Alert, Monitor, Status Page, Scheduled Maintenance Event, Team, Monitor Status, On-Call Policy, Incident State, Incident Severity, Alert State, Alert Severity, Incident State Timeline, Alert State Timeline, Incident Public Note, Incident Internal Note, Alert Internal Note, Status Page Announcement, Scheduled Maintenance State, Scheduled Maintenance State Timeline, Label, Monitor Status Event, Security Case, Security Case Note, Security Detection, Security Playbook.

Telemetry resources — read-only

Log, Metric, Span, Exception Instance, Monitor Log, Security Event, Change Event, Kubernetes Cost Allocation, and Threat Intel Indicator get list_ and count_ tools only (e.g. list_logs, count_spans, list_exception_instances). There are no create tools for telemetry — ingestion happens via OpenTelemetry.

Workflow tools

Purpose-built shortcuts for incident/alert response (packages/App/FeatureSet/MCP/Tools/WorkflowTools.ts):

  • acknowledge_incident, resolve_incident
  • acknowledge_alert, resolve_alert
  • add_incident_note (with visibility: "internal" | "public" — public notes post to the status page)
  • add_alert_note
  • get_data_table_freshness — whether a table Data Observability watches is fresh: fresh or late by its own rhythm, when it last changed, its open alerts, and its writers' latest runs (read-only)
  • oneuptime_whoami — returns the project (ID and name) the credential belongs to; for an OAuth sign-in, also who is signed in, through which client, and whether the connection is read-only
Helper and public tools
  • oneuptime_help, oneuptime_list_resources
  • oneuptime_describe_resource — one resource's fields: what each means, the filter operators its type takes, and whether it can be sorted or must be selected. Accepts the resource's name or any of its tool names (Incident, list_incidents).
  • No credential needed: get_public_status_page_overview, get_public_status_page_incidents, get_public_status_page_scheduled_maintenance, get_public_status_page_announcements
Annotations and results

Every tool has a title and states all three MCP hints, set in Tools/ToolAnnotations.ts, so clients can auto-approve safe calls and confirm the rest:

  • readOnlyHint: true on the tools that change nothing: get_, list_, count_, oneuptime_whoami, the helper tools and the public status page tools.
  • destructiveHint: true on every tool that changes something: create, update and delete tools, acknowledging and resolving, and adding notes. Most writes overwrite or delete a record, change an incident's or alert's state, page someone on call or post to a status page, and the directories allow false only for a write that adds and sends nothing.
  • openWorldHint: true only on the public status page tools, which read any public status page on the instance. Every other tool stays inside the caller's project.

MCP directories require them: the Claude Connectors Directory flags any tool without a title or a readOnlyHint/destructiveHint, and ChatGPT's requires all three hints as booleans. Tests/ToolAnnotationsForDirectories.test.ts fails on a tool that lacks one, or that breaks the rules above. On the server itself, MCP_ALLOW_DESTRUCTIVE=false removes the delete tools only, and MCP_READ_ONLY=true removes every tool that is not read-only (Tests/WritePolicy.test.ts). Tool results include structuredContent alongside the JSON text. Errors come back as in-band tool results (isError: true) with statusCode, details, and a suggestion — not as protocol errors.

The size of tools/list

Many clients load every tool definition before the first question, so tools/list is paid for on every connection. On 2026-11-02 oneuptime.com answered it with 283 tools in 1,202,028 bytes (about 300,000 tokens at four characters a token), more than many models hold: each list_ and count_ tool listed every field of its model with its operators and an example. On the code that changed this, the answer went from 289 tools in 1,228,155 bytes to 290 tools in 237,400 bytes (about 59,000 tokens):

  • list_ and count_ tools take any field in query and sort and say how a filter is written; oneuptime_describe_resource gives the fields on demand, one resource at a time.
  • Generated schemas carry no examples. A typed value such as a date ({"_type": "DateTime", "value": ...}) or a color keeps its shape as schema, since its example was the only place that stated it.
  • create_ tools explain only the fields a call cannot leave out, and update_ tools name and type their fields without explaining them. Every field is still listed and typed, so a client that validates a call still can.
  • Tool names, titles and annotations are unchanged.

Tests/ToolListBudget.test.ts reads tools/list through the SDK's client and fails above 250,000 bytes, or for any tool above 5,000 bytes. A new model adds about 4 KB. When a change goes over, make the t

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기