mcp-ci-triage
mcp-ci-triage
コーディングエージェントに「CIがなぜ赤いのか」を答えさせることができます。あなたがGitHubにタブを切り替える必要はありません。
GitHub Actionsの状態を、4つのコンパクトな読み取り専用ツールとして公開するMCPサーバーです。Claude Code向けに作られていますが、どのMCPクライアントでも動作します。
You: why is CI failing on main?
Agent: → recent_runs("acme/api", branch="main")
→ failing_jobs("acme/api", run_id=8123)
→ job_log_tail("acme/api", job_id=442, lines=80)
Agent: Run #212 fails in `unit` at the pytest step: test_rate_limiter
times out after the Redis fixture change in a3f9c2e. Two options...ツール
Tool | 戻り値 |
| 最新のワークフローの実施: 実行番号、名前、結果、ブランチ@sha、run_id |
| 失敗したジョブとステップ(失敗、タイムアウト、キャンセルを含む)。省略時は最新の失敗した実行を対象とする |
| ジョブのログの末尾を、量をに制限しサニタライズして返信。非信頼として明示的にラベル付けされる |
| 直近で成功と失敗の両方があったワークフロー。フレークテストの証拠ではなく、トリアージのための手がかり |
リポジトリは正確な owner/name のペアで渡します(例: actions/checkout)。URL、余分なパスセグメント、クエリ列、不正な形式のオーナー名・リポジトリ名は、リクエスト送信前に拒否されます。
Related MCP server: DevOps MCP Server
インストール(所要2分)
pip install git+https://github.com/projectsofadi/mcp-ci-triage
# or: clone + `pip install .`
# First load GITHUB_TOKEN into the launching environment from your shell or
# operating-system secret manager. Then add the server without a token literal:
claude mcp add ci-triage -- python -m mcp_ci_triageまたはプロジェクトの .mcp.json 内:
{
"mcpServers": {
"ci-triage": {
"command": "python",
"args": ["-m", "mcp_ci_triage"],
"env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
}
}
}トークンのスコープ: 対象のリポジトリに対する読み取り専用の Actions アクセスを持つ、細粒度のPAT(fine-grained PAT)を使用します。パブリックリポジトリはトークンなしでも動作します(レート制限あり)。
コマンド引数やコミットされた .mcp.json の中にトークンのリテラル値を置かないでください。コマンド引数はシェル履歴やプロセス一覧に残る可能性があり、プロジェクトファイルはコミットされる可能性があります。共有する設定には、上記の環境変数参照だけを残してください。
GitHub Enterpriseの場合、GITHUB_API_URL はそのAPIのベースパスを指すことができます(例: https://github.example.com/api/v3)。HTTPSが必須で、資格情報、クエリ、フラグメントを含めることはできません。
非公開CIログ
非公開リポジトリからのログには、非公開のソース詳細、ビルドが誤って出力した資格情報、プロンプトインジェクションのテキスト、その他の機密データが含まれる場合があります。このサーバーは、ターミナル制御文字をエスケープし、個々の行の長さを制限し、ダウンロードの総量を制限し、GitHubのすべてのコンテンツを非信頼としてラベル付けします。印字可能なシークレットを認識したり、削除したりはしません。信頼できるMCPクライアントとモデルにのみ接続し、必要最小限のログの末尾だけを要求し、ログ内の指示に従わず、issueやチャットにコピーする前に出力を確認してください。
最初のログ・リクエストは認證されます。リダイレクトされたダウンロードはHTTPSのみで、GitHubの Authorization ヘッダーを持たない新しいクライアントが使用されます。署名付きリダイレクトのクエリパラメータは、HTTP診断およびサニタイズされたエラーメッセージから削除されます。
設計ノート(一般的に応用できる部分)
このリポジトリは、内部MCPサーバーをどう構築すべきかという私の考え方のリファレンスとしても使えます:
デフォルトで読み取り専用。 どのツールも何も変更しません。書き込み可能なツールは、後から意図的に、権限レイヤーの後ろに追加されるべきです。
JSONのダンプではなく、コンパクトなテキスト。 エージェントは人が読むのと同じようにツール出力を読みます。
#212 CI [failure] main@a3f9c2eは、4KBのネストされたJSONより、トークン数と推論の質の両方で優れています。構造的に非信頼。 リモートのフィールドとログは、量に制限があり、制御文字がエスケープされ、データ専用と明示されたマーカーで囲われます。
全てにタイムアウト。 リクエストには15秒のI/Oタイムアウト。JSONレスポンスには合計20秒の期限と8 MiBのデコード後バイト上限。ページ分割されたトリアージには1回の30秒オペレーション期限。ログのダウンロードには独自の合計20秒の期限と8 MiBの上限があります。
失敗は黙らせない。 HTTPエラーは送出されます。エージェントはエラーを見て適応します。黙って空の結果を返すと、自信満々の誤答になります。
小さいサーフェス。 組み合わせられる4つのツールは、重複する20のツールに勝ります。
failing_jobsはエージェントに次へjob_log_tailを呼ぶよう伝えます。ツールは自分自身のワークフローを教えられます。診断ではなく証拠。 ワークフローの結果が混合していることは、次に何を見るべきかを決めるのに役立ちますが、個々のテストがフレークであるという証明にはなりません。
開発
pip install -e ".[dev]"
ruff check .
ruff format --check .
pytest
python -m build
python -m twine check dist/*ライセンス
MIT — LICENSE を参照してください。
その他のMCPおよび開発者ツールのプロジェクト: projectsofadi on GitHub。
This server cannot be installed
Maintenance
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
- AlicenseAqualityNot gradedmaintenanceConnects AI assistants to GitHub Actions workflows to monitor CI/CD pipelines, view run logs, diagnose failures, and optionally trigger or manage workflows with granular permission controls.101
- AlicenseNot gradedqualityCmaintenanceEnables read-only integration with GitHub, Jenkins, and Artifactory for DevOps monitoring, analysis, and troubleshooting. Provides repository inspection, build log retrieval, and artifact management through natural language.MIT
- FlicenseAqualityCmaintenanceStreamlines GitHub PR workflows, monitors CI/CD, and sends Slack notifications. Provides tools for PR analysis, CI monitoring, and follow-up tasks.7
- FlicenseAqualityCmaintenanceExposes tools to list, run, and inspect GitHub Actions workflows locally via act, enabling debugging and fixing failures through an agent loop.3
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Git-backed platform for skills, tools, and context for AI agents
Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/projectsofadi/mcp-ci-triage'
If you have feedback or need assistance with the MCP directory API, please join our Discord server