mcpField
R
Runframe Incident Management MCP Server

Runframe Incident Management MCP Server

ローカル
github.com/runframeAI・エージェント427 週間前に更新

Runframe Incident Management MCP Server について

Runframe Incident Management MCP Serverは、エンジニアリングチームのAIエージェントやIDEをRunframeのインシデント対応ワークフローに接続します。インシデント対応、オンコール確認、サービス、事後分析、チーム、ユーザーを扱い、データはローカルに保存しません。

主な機能

  1. 01インシデントの作成・更新・追跡
  2. 02確認、エスカレーション、担当者への連絡
  3. 03オンコール担当者とポリシーの確認
  4. 04サービスと事後分析記録の管理
  5. 05ユーザーとチームの検索

活用シーン

  1. 01IDEからインシデントをトリアージして更新
  2. 02現在のオンコール担当者を確認
  3. 03障害時にチームメンバーへ連絡
  4. 04インシデント後に事後分析を作成

MCP 対応

stdioまたはStreamable HTTP経由で、17個のインシデント管理ツールをMCPクライアントに提供します。スコープ付きAPIキーでRunframe APIにリクエストを転送し、データをローカルに保存しません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"runframe": {
"command": "npx",
"args": [
"-y",
"@runframe/mcp-server"
],
"env": {
"RUNFRAME_API_KEY": "<RUNFRAME_API_KEY>",
"RUNFRAME_API_URL": "<RUNFRAME_API_URL>"
}
}
}
}
起動コマンドnpx -y @runframe/mcp-server
設定が必要な環境変数
RUNFRAME_API_KEYシークレットAPI key from https://runframe.io/settings (starts with rf_)
RUNFRAME_API_URLAPI base URL (default: https://runframe.io)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@runframe/mcp-server0.1.5

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

runframe-mcp-server

CI npm License: MIT Node 20+

Runframe は、インシデント対応、オンコール、ステータスページを網羅する、エンジニアリングチーム向けの包括的なインシデントライフサイクルプラットフォームです。この MCP サーバーを使うと、IDE や AI エージェントからこれらのワークフローを管理できます。

インシデント、オンコール、サービス、ポストモーテム、チーム、人の検索を網羅する 17 個のツールを提供します。Node.js 20 以上が必要です。

このツールを使う理由

  • エディターから離れずに作業 — ブラウザーに切り替えることなく、インシデントの確認、対応者への通知、ポストモーテムの作成ができます
  • 定型作業をエージェントに任せる — AI エージェントは、権限を限定した API キーを使用して、インシデントのトリアージ、エスカレーション、更新を自律的に行えます
  • インフラ不要 — npx で実行でき、ローカルで使う場合にデプロイするサーバーはありません

仕組み

Your IDE / Agent
    ↓ (stdio or HTTP)
MCP Server (this package)
    ↓ (HTTPS, scoped API key)
Runframe API

このサーバーはステートレスです。MCP ツール呼び出しを、API キーの権限でスコープされた Runframe API リクエストに変換します。データはローカルに保存されません。

使用例

エージェントに次のように依頼できます。

  • 「インシデント INC-2026-001 を確認して」 → runframe_acknowledge_incident を呼び出します
  • 「今、オンコール担当なのは誰?」 → runframe_get_current_oncall を呼び出します
  • 「データベース障害のポストモーテムを作成して」 → runframe_create_postmortem を呼び出します
  • 「API のレイテンシ急増について、バックエンドチームのリードに通知して」 → runframe_page_someone を呼び出します
  • 「オープン中の SEV1 インシデントをすべて一覧表示して」 → 重大度フィルターを指定して runframe_list_incidents を呼び出します
  • 「Alex のオープン中のインシデントを確認したいので、Alex を検索して」 → runframe_find_user を呼び出します

インストール

Runframe.io 内の設定から API キーを取得し、エージェントに追加します。

Claude Code:

claude mcp add runframe -e RUNFRAME_API_KEY=rf_your_key_here -- npx -y @runframe/mcp-server

Cursor(~/.cursor/mcp.json) · VS Code(.vscode/mcp.json) · Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "runframe": {
      "command": "npx",
      "args": ["-y", "@runframe/mcp-server"],
      "env": { "RUNFRAME_API_KEY": "rf_your_key_here" }
    }
  }
}

その他の MCP クライアント: 上記の JSON 設定を、クライアントの MCP 設定ファイルに追加します。

対話型セットアップウィザード:

npx @runframe/mcp-server --setup

環境変数

変数必須デフォルト説明
RUNFRAME_API_KEYはい—API キー(rf_ で始まります)
RUNFRAME_API_URLいいえhttps://runframe.ioAPI のベース URL
MCP_ACCESS_TOKENHTTP のみ—HTTP トランスポート用のベアラートークン。ローテーションする場合はカンマ区切りで指定します(new_token,old_token)。

トランスポート

stdio(デフォルト) — Claude Code や Cursor などの MCP クライアントで使用します。ネットワークには公開されません。上記のインストールコマンドでは、この設定が行われます。

Streamable HTTP — コンテナ化したデプロイやリモートデプロイ向けです。ベアラー認証には MCP_ACCESS_TOKEN が必要です。

RUNFRAME_API_KEY=rf_... \
  MCP_ACCESS_TOKEN=your_token \
  npx @runframe/mcp-server --transport http --port 3100 --host 127.0.0.1

セキュリティモデル

責任は次の 3 つの境界で分担されます。

  • Runframe API は、RUNFRAME_API_KEY を使用して認可とスコープを処理します。
  • この MCP サーバー は、プロセスの分離(stdio)とベアラートークンの検証(HTTP)を処理します。また、メソッドのフィルタリング、localhost での Host/Origin チェック、宣言された Content-Length の検証(上限 1 MB)、ヘッダーサイズの上限 8 KB、上流へのタイムアウト 15 秒を適用します。
  • リバースプロキシ は、HTTP モードをネットワークに公開する場合、TLS、レート制限、ストリーミングボディの適用を処理します。

このサーバーは何も保存しません。Runframe API へのパススルーとして動作します。

ツール

インシデント(9)
ツールスコープ説明
runframe_list_incidentsincidents:readフィルターとページネーションを使ってインシデントを一覧表示します
runframe_get_incidentincidents:readID または番号でインシデントを取得します
runframe_create_incidentincidents:writeインシデントを作成します
runframe_update_incidentincidents:writeタイトル、説明、重大度、担当者を更新します
runframe_change_incident_statusincidents:write新しいステータス(new、investigating、fixing、monitoring、resolved、closed)に変更します
runframe_acknowledge_incidentincidents:writeインシデントを確認します(自動割り当て、SLA の追跡を行います)
runframe_add_incident_eventincidents:writeタイムラインにエントリーを追加します
runframe_escalate_incidentincidents:write次のポリシーレベルにエスカレーションします
runframe_page_someoneincidents:writeSlack またはメールで対応者に通知します
オンコール(1)
ツールスコープ説明
runframe_get_current_oncalloncall:read現在のオンコール担当者を取得します
サービス(2)
ツールスコープ説明
runframe_list_servicesservices:readサービスを一覧表示します
runframe_get_serviceservices:readサービスの詳細を取得します
ポストモーテム(2)
ツールスコープ説明
runframe_create_postmortempostmortems:writeポストモーテムを作成します
runframe_get_postmortempostmortems:readインシデントのポストモーテムを取得します
チーム(2)
ツールスコープ説明
runframe_list_teamsteams:readチームを一覧表示します
runframe_get_escalation_policyoncall:read重大度レベルに応じたエスカレーションポリシーを取得します
ユーザー(1)
ツールスコープ説明
runframe_find_userusers:read名前またはメールアドレスでユーザーを検索します。過去の検索に対応するため、非アクティブなユーザーも任意で含められます

直接 API との整合性

この MCP サーバーは、公開されている Runframe の直接 API コントラクトに準拠しています。

  • インシデントの作成時は、内部 UUID ではなく、svc_K7M4Q9TZ2H のような公開サービスキーを含む service_ids が必要です。
  • runframe_get_service は UUID ではなく、公開 service_key でサービスを検索するようになりました。
  • インシデントツールは最新の V1 コントラクトに準拠し、パスパラメーターには INC-2026-001 のようなインシデント番号を使用します。
  • インシデントの更新と一覧表示のフィルターでは、V1 が定める最新の公開識別子、つまり担当者/解決者のメールアドレスと team_name を使用するようになりました。
  • runframe_create_incident は任意の idempotency_key を受け付けます。この値は、再試行に安全な作成処理のために Idempotency-Key ヘッダーとして転送されます。
  • runframe_create_incident では、指定がない場合、V1 API と同様に severity のデフォルト値が SEV2 になります。
  • インシデント作成の制限も V1 API と同じです。title は 1~200 文字、description は最大 10000 文字、service_ids は最大 50 件です。
  • インシデントの作成には、指定した重大度に対する有効な SLA 設定が必要です。確認期限またはクローズ期限が設定されていない場合、API は作成を拒否します。
  • インシデント作成前に有効な service_key 値を確認するには、runframe_list_services を使用してください。
  • runframe_page_someone は最新の V1 配信コントラクトに準拠し、email、channels、任意の message を使用するようになりました。
  • ポストモーテムツールは最新の V1 コントラクトに準拠し、incident_number と、users_affected、owner_email、time_to_acknowledge などのスネークケース形式のネストされたフィールドを使用するようになりました。
  • assigned_to または resolved_by でインシデントを絞り込む前に、runframe_find_user を使用して人物名からメールアドレスを特定してください。
  • 過去のインシデントを検索する際に退職者を特定する必要がある場合は、runframe_find_user で include_inactive=true を設定してください。
  • V1 のアクティブ状態フィルターを明示的に指定する必要がある場合は、runframe_find_user で is_active=true または is_active=false を設定してください。
  • インシデントを絞り込む前に正確な team_name を特定するには、search を指定して runframe_list_teams を使用してください。

Docker

Docker イメージは、デフォルトでポート 3100 で HTTP トランスポートを実行します。

docker build -t runframe-mcp-server .
docker run -e RUNFRAME_API_KEY=rf_... -e MCP_ACCESS_TOKEN=your_token -p 3100:3100 runframe-mcp-server

HTTP モードのデプロイ

HTTP モードはプライベートネットワーク向けです。インターネットに公開する場合:

  • TLS(nginx、Caddy、クラウド LB)の背後で実行してください。このサーバーは TLS に対応していません。
  • レート制限とリクエストのバッファリングにはリバースプロキシを使用してください。
  • 公開するより、プライベートサブネットや VPN を優先してください。
  • MCP_ACCESS_TOKEN を定期的にローテーションしてください。ダウンタイムなしで切り替えるには、新旧のトークンをカンマ区切りで指定します。
レート制限

Runframe API はサーバー側でレート制限を適用します。制限に達すると、ツールは再試行のヒントを含む 429 エラーを返します。HTTP トランスポートをデプロイする場合、リバースプロキシでリクエスト単位のスロットリングを追加できます。

トークンのローテーション

MCP_ACCESS_TOKEN にはカンマ区切りでトークンを指定できます:

  1. MCP_ACCESS_TOKEN=new_token,old_token を設定します
  2. クライアントを new_token に更新します
  3. 古いトークンを削除します:MCP_ACCESS_TOKEN=new_token

制限事項

  • スケジュールは読み取り専用です。オンコール情報とエスカレーションポリシーは照会できますが、MCP 経由では変更できません
  • Runframe アカウントと API キーが必要です

コントリビューション

github.com/runframe/runframe-mcp-server で、Issue や PR を歓迎します。

ライセンス

MIT — Runframe · npm

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。