CircleCI MCPサーバー プロジェクト紹介
プロジェクト概要
CircleCI MCPサーバーは、モデルコンテキストプロトコル(MCP)専用に設計されたプロフェッショナルなサーバー実装であり、CircleCIの開発ワークフローを統合することを目的としています。このプロジェクトは、CircleCIのインフラストラクチャとモデルコンテキストプロトコルの間の橋渡し役として機能し、AI駆動の開発体験を強化します。
このサーバーにより、Cursor、Claude Code、WindsurfなどのAIツールが、あなたのビルドシステムを理解できるようになります。これは、LLM駆動のエージェントが外部システムから構造化されたデータを取得することを可能にする軽量な標準である、モデルコンテキストプロトコル(MCP)に基づいて構築されています。
主要機能
主要なツールと機能
1. get_build_failure_logs
CircleCIビルドの詳細な失敗ログを取得します。このツールは、次の2つの使用方法をサポートしています。
CircleCI URLを使用:
- 失敗したジョブのURLまたはパイプラインのURLを直接提供します。
- 例: "https://app.circleci.com/pipelines/github/org/repo/123 のログを取得"
ローカルプロジェクトのコンテキストを使用:
- 以下の情報を提供することで、ローカルのワークスペースから作業します。
- ワークスペースのルートパス
- GitリモートURL
- ブランチ名
- 例: "現在のブランチで最新の失敗したパイプラインを探す"
返されるフォーマットされたログには、以下が含まれます。
- ジョブ名
- ステップごとの実行詳細
- 失敗メッセージとコンテキスト
2. find_flaky_tests
テスト実行履歴を分析して、CircleCIプロジェクト内の不安定なテストを識別します。次の2つの使用方法をサポートしています。
CircleCIプロジェクトURLを使用:
- CircleCIからプロジェクトURLを直接提供します。
- 例: "https://app.circleci.com/pipelines/github/org/repo で不安定なテストを探す"
ローカルプロジェクトのコンテキストを使用:
- ワークスペースのルートパスとGitリモートURLを提供することで、ローカルのワークスペースから作業します。
返される不安定なテストの詳細情報には、以下が含まれます。
- テスト名とファイルの位置
- 失敗メッセージとコンテキスト
3. get_latest_pipeline_status
指定されたブランチの最新パイプラインのステータスを取得します。ツールは、最新パイプラインのフォーマットされたステータスを返します。
- ワークフロー名とその現在のステータス
- 各ワークフローの継続時間
- 作成および完了のタイムスタンプ
- 全体的なパイプラインの健全性
出力例:
---
Workflow: build
Status: success
Duration: 5 minutes
Created: 4/20/2025, 10:15:30 AM
Stopped: 4/20/2025, 10:20:45 AM
---
Workflow: test
Status: running
Duration: unknown
Created: 4/20/2025, 10:21:00 AM
Stopped: in progress
4. get_job_test_results
CircleCIジョブのテストメタデータを取得し、IDEを離れることなくテスト結果を分析できます。
詳細なテスト結果情報が返されます。
- すべてのテストの概要(合計数、成功、失敗)
- 失敗したテストの詳細情報。以下が含まれます。
- テスト名とクラス
- ファイルの位置
- エラーメッセージ
- 実行時の継続時間
- 時間情報付きの成功したテストのリスト
5. config_helper
CircleCIの設定タスクを支援し、ガイダンスと検証を提供します。このツールは、以下を支援します。
- CircleCI設定の検証:
.circleci/config.ymlに構文エラーとセマンティックエラーがないか確認します。- 例: "CircleCI設定を検証する"
以下を提供します。
- 詳細な検証結果
- 設定に関する推奨事項
6. create_prompt_template
機能要件に基づいて、AI対応アプリケーションで使用するための構造化されたプロンプトテンプレートを生成します。このツールは、以下を行います。
- 機能要件を構造化されたプロンプトに変換:
- ユーザーの要件を最適化されたプロンプトテンプレートに変換します。
- 例: "年齢とテーマで就寝前の物語を生成するためのプロンプトテンプレートを作成する"
7. recommend_prompt_template_tests
プロンプトテンプレートのテストケースを生成し、それらが期待される結果を生み出すことを保証します。
インストールと設定
システム要件
- pnpmパッケージマネージャー - 詳細はこちら
- Node.js >= v18.0.0
- CircleCI APIトークン - CircleCIで生成できます。詳細はこちら または こちらをクリックしてすぐにアクセス
サポートされているIDEとツール
Cursor IDE
以下の内容をCursor MCP設定に追加します。
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci"],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com" // オプション - ローカルデプロイのお客様のみ必要
}
}
}
}
VS Code
.vscode/mcp.json にCircleCI MCPサーバーをインストールします。
{
// 💡 入力は最初のサーバー起動時にプロンプトが表示され、その後VS Codeによって安全に保存されます。
"inputs": [
{
"type": "promptString",
"id": "circleci-token",
"description": "CircleCI API Token",
"password": true
}
],
"servers": {
"circleci-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci"],
"env": {
"CIRCLECI_TOKEN": "${input:circleci-token}"
}
}
}
}
Claude Desktop
以下の内容を claude_desktop_config.json に追加します。
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci"],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com" // オプション - ローカルデプロイのお客様のみ必要
}
}
}
}
設定ファイルの場所:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code
Claude Codeをインストールした後、次のコマンドを実行します。
claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx -y @circleci/mcp-server-circleci
Windsurf
以下の内容をwindsurf mcp_config.json に追加します。
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci"],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com" // オプション - ローカルデプロイのお客様のみ必要
}
}
}
}
自動インストール
Smithery を使用して、Claude DesktopにCircleCI MCPサーバーを自動的にインストールします。
npx -y @smithery/cli install @CircleCI-Public/mcp-server-circleci --client claude
開発と貢献
ローカル開発設定
- リポジトリをクローン:
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git
cd mcp-server-circleci
- 依存関係をインストール:
pnpm install
- プロジェクトをビルド:
pnpm build
MCPインスペクターを使用した開発
MCPサーバーを反復処理する最も簡単な方法は、MCPインスペクターを使用することです。
- 開発サーバーを起動:
pnpm watch # 1つのターミナルで実行し続ける
- 別のターミナルでインスペクターを起動:
pnpm inspector
- 環境を設定:
- インスペクターUIの環境変数セクションに
CIRCLECI_TOKENを追加します。 - トークンには、CircleCIプロジェクトへの読み取り権限が必要です。
- 必要に応じて、CircleCIベースURLを設定します。デフォルトは
https://circleci.comです。
- インスペクターUIの環境変数セクションに
テスト
テストスイートを実行:
pnpm test
開発中に監視モードでテストを実行:
pnpm test:watch
応用事例
このツールは、特に以下の場合に役立ちます。
- 失敗したビルドのデバッグ
- テストの失敗の分析
- デプロイメントの問題の調査
- IDEを離れることなくビルドログにすばやくアクセス
- 最新のパイプラインのステータスの確認
- テストスイート内の信頼性の低いテストの識別
- テストの改善に関するデータ駆動型の意思決定
プロジェクトの利点
CircleCI MCPサーバーは、開発ライフサイクルにおける実際の瞬間をサポートするように設計されています。失敗したビルドのレビュー、失敗したデプロイメントのデバッグ、または重要なブランチへの対応など、アシスタントが数秒で失敗を理解し、修正を提案するのに役立ちます。コンテキストの切り替えは不要です。
このMCPサーバーを統合することで、開発者は以下を行うことができます。
- 自然言語を使用してCircleCIと対話する
- 使い慣れた開発環境でビルド情報を取得する
- CI/CDの問題を迅速に診断して解決する
- 開発ワークフローの効率を向上させる
関連リソース
詳細な貢献ガイドについては、プロジェクト内の CONTRIBUTING.md ファイルを参照してください。