Skip to main content
Glama
LZBiala

oncall-router-mcp

by LZBiala

oncall-router-mcp

인시던트가 발생했을 때 첫 10분을 삼키는 세 가지 질문에 답하는 MCP 서버입니다: 이건 누가 소유하지, 누구를 깨우고 언제까지 해야 하지, 런북은 무엇부터 하라고 하지. 그리고 대부분 도구들이 틀리는 네 번째 질문: 지금 시계(clock)의 알맞은 위치에 있어야 하는가 — 누군가 티켓을 연 때가 아니리고, 장애가 시작된 시점부터 측정한입니다.

런타임 의존성이 없다임 API 키도, 네트워크 호출도, 텰레메트리도 없습니다. 로컬 파일 단 하나를 읽습니다. pytest는 게이트(gates)를 실헹할 때만 필요합니다.

만든 이유

에스컬레이션 지식은 세 곳에 흐어져 있다: 아무도 갱선하지 않은 위키, 현커 당번만 아는 로테이션 프로그, 그리고 가장 오래 함의 한 사木의 느. 오전 두This 시에 고가한 시간은 문제를 고치 데가 아니다 무엇을 도해서 구출할 get whole자를 정리 with unknown자 총재를 wasted.

이 프로젝트는 그 지식을 어**시스턴도 travel할 수 있는 곳에 두고, 타이밍을 명시적인 것으로 만든다. 코드 안에 담긴 설게 의견은, 에스컬레이션 타이밍은 impact 시각 시작을 기준으로 흐른다는 것. 20분 뒤에 열린 티켓은 response to the report냋 minutes extra 지각 무엇을 더 many 일. But a tool that measure from ticket opening: might that quietly be told in a later tarde.

실용시키기 전의 대답 단, 제일 큰 수순이다.

Related MCP server: runframe-mcp-server

네 가지 도구

tool

대답하는 것

대답할 수 없을 때

who_owns

어떤 팀이 서비스를 소유하고, 지금 그 팀에 어떻게 연락한다

그렇다고 말하고, 정답이 아니라 근접 일치를 후보로만 안내한다

escalation_path

누구를, 어떤 순서로, 각 단계(hop)가 예정된 분(or time)과 함께 깨울 것인인지

알 수 없는 severity를 “조용한” 기본 값으로 지정하지 않고 거부한다

playbook

런북이 무엇먼저 확인하라고 하는지

서비스의 일반 단계로 폴백하고, 호출자가 그 사실을 알 수 있도록 fell_back을 설정한다

impact_clock

지금 어느 단계(hop)가 활동하고 있어야 하고, 무엇이 오버되고 있는지

명시적인 now를 요구하고, 미래의 시작 시간은 거부한다

모든 도구는 안전한 쪽으로 닫히고(fail) closed), 근접 일치는 그 자체가 정답인 것처럼 조용히 처리되지 않다. 확직한 데 근응할 것은 정직한 “모르겠다”보다 비용이 크기 때문 않습니다.

docs/TRANSCRIPT.md에서 모든 도구의 실제 출력(실패 경로 포함)을 확인할 수 있다. CI 이 파일을 재생성하고, 단단한 출력이 _실제 코드 출력_과 어긋나면 빌드를 실패를 시킨다.

실행하는 법

git clone <this repo> && cd oncall-router-mcp
python -m pip install "pytest>=7"          # the only dependency, and only to run the tests
python -m pytest tests/ -q                 # 40 tests
PYTHONPATH=src python -m oncall_router.server --catalog catalog.toml

Claude Desktop 또는 Claude Code에 연결하려면 MCP 클라이언트 설정에 이걸 추가하자, 절대 경로를 사용해서:

{
  "mcpServers": {
    "oncall-router": {
      "command": "python",
      "args": ["-m", "oncall_router.server", "--catalog", "/abs/path/to/catalog.toml"],
      "env": { "PYTHONPATH": "/abs/path/to/oncall-router-mcp/src" }
    }
  }
}

MCP 클라이언트가 그 명령(서버)을 가리키게 하자. 자신의 데이터를 쓰려면 catalog.toml을 복사해 수정한를 수정한 후, --catalog yours.toml를 넘기면 된다. 코드 변경은 필요 없다. catalog는 데이터이고, 어떤 도구를 같은 클라이언트를 두 개의 서로 다른 catalog에 대해 실행하는 테스트가 이 사실을 보여 준다.

catalog

하나의 TOM 파일이 파일이 아닌: 서비스, 각 서비스를만 소유하는 팀, 각 시간이 예약된 escalation chains, 그리고 증상별 런북 단계를 저장한다. YAML쪽 TOM을 하는 선택한 이유는 tomllib이 Python 표준 라이브러리에 포합되어 있기 때문에 catalog가 이 프로젝트에 의종성 비용이 발생하지 않는 것이다.

별명(alias)은 보이는 것보다 더 중요하다. incidencing 중에는 사람들이 기억하는 이름을 그대로 입력합니다. 그래서 gateway, apigw, edge, the gateway도 모두 api-gateway로 귀결된다.

의도적으로 하지 않는 일

  • No live integrations. incident tool과 rotation tool, monitoring을 읽하지 않습니다. 그런 것은 고객 각기씩우의 결정이며, 경고 boundary 뒤에 속한 일이다.

  • No write actions. 성행에 전화하기(펴이징), see/any open도 이나 상태 변경지 never full. 그냥 questions and 인간 answer.

  • 동봉된 catalog는 가공이다. catalog.toml에 있는 need-serving, 팀, 그리고 손들. 테스트는 repo internal if ex-identify가 될 만한 ex-capability appears in Repo을 포함하는 경우 빌드를 실패시킨다.

  • 타이밍 모델은 관용이지 표oper되지 종참. impact가 시작된 때부터의 누etadata minutes, 에스컬레이션 체인 두 phase/를 기 다른 팀으로 넘는 시점에도 carry forward. 합리적인 선택이, 합리적인 선택이 유일한 것은 아니다.

  • 비용 또는 지연 수치가 없다. 모델 호출이 없기 때문. 서버는 deterministic하고 100% 로컬.

Gates

코드 한 줄이지 전에 동결된 rubric에 따라 만들었다. 그중 알아the "게이트들을 나 역게:

  • 모든 도구는 테스트에서 함수 호출이 아니라, 실제 클라이언트가 wire protocol로 말을 걸어 온 답대/through 동하지 않는다.

  • 모든 도구는 추측하지 않고 정중히 기권함을 증명하는 실패 path 테스트를 갖는다.

  • 구현이 참혐 前에 테스트가 실패(observed) 하는 있는 게 import and 하게 하는 과정을 확인했다.

  • catalog을 바꾸면 드 편집 없이 모든 답변을을 바지을 테스트가 증명한다.

  • 커머트된 트랜스르립트가 재생성되지 않거나, 빌드가 실패한다. *자격 증명 정보 없음, source code 내 네트워 콜출 없음, employer content 및 third-party import 없음. 이 것은 games 성결 conv/불이며, heavier 게이트 단이막가원해야 한다.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    MCP server for the Rootly incident management platform — alerts, incidents, on-call schedules
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables managing incident response workflows including incidents, on-call, postmortems, and more through the Runframe platform using MCP tools.
    86
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables PagerDuty incident response operations including listing incidents, acknowledging and resolving incidents, looking up on-call schedules, and listing services.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Self-hosted operational dashboard and MCP server that catalogs runnable services and their operational context, offering a read-only MCP endpoint to list projects, service status, runbooks, and reconciliation context.
    1
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Vendor status pages, TLS cert inspection, DNS propagation checks, and incident-response playbooks.

  • Software component catalog: search your org's services, docs, APIs, dependencies, and ownership.

  • Uptime, API and server monitoring with outages, reporting, on-call and status pages.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LZBiala/oncall-router-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server