CircleCIとLLMの連携を加速! MCP Server徹底解説
大規模言語モデル (LLM) と外部システム間の連携を標準化する新しいプロトコル、Model Context Protocol (MCP)。CircleCIのMCP Serverを活用することで、自然言語によるCircleCIの操作が可能になります。例えば、「最新の失敗したパイプラインのログを取得」といった指示が実現できます。この記事では、MCP Serverの導入から活用方法までを徹底解説します。
MCP Serverとは? LLM連携で何が変わる?
MCP Serverは、CircleCIの機能をLLMから直接操作するための架け橋です。開発者はCursor IDEなどのMCPクライアントを使用し、自然言語でCircleCIに指示できます。これにより、ビルド状況の確認やログの取得が、IDEから離れることなく、より直感的に行えるようになります。
導入に必要なもの
- pnpmパッケージマネージャー
- Node.js (v18.0.0以上)
- CircleCI APIトークン
APIトークンの取得
CircleCIのAPIトークンは、CircleCIのウェブサイトで生成できます。 アクセス権限に注意して発行しましょう。
各エディタへのインストール方法
Cursor
- CursorのMCP設定に下記を追加
VS Code
- VS Code の
.vscode/mcp.json
に下記を追加
Claude Desktop
claude_desktop_config.json
に下記を追加
Claude Code
Windsurf
windsurf mcp_config.json
に下記を追加
Smithery経由でのインストール
MCP Serverでできること
get_build_failure_logs
: ビルド失敗時の詳細なログを取得。URL指定またはローカルプロジェクトコンテキストから実行可能。find_flaky_tests
: 不安定なテストを特定。CircleCIのプロジェクトURLまたはローカルプロジェクトコンテキストから実行可能。get_latest_pipeline_status
: 最新パイプラインのステータスを取得。プロジェクトURLまたはローカルプロジェクトコンテキストから実行可能。get_job_test_results
: テスト結果のメタデータを取得。CircleCIのURL (ジョブ、ワークフロー、パイプライン) またはローカルプロジェクトコンテキストから実行可能。config_helper
: CircleCIの設定ファイルの検証とガイダンスを提供。create_prompt_template
: AIアプリケーション向けの構造化されたプロンプトテンプレートを生成。recommend_prompt_template_tests
: プロンプトテンプレートのテストケースを生成。
ローカルプロジェクトコンテキストとは?
ローカルプロジェクトコンテキストを使用すると、ワークスペースのルートパス、GitリモートURL、ブランチ名を提供することで、現在のプロジェクトに関する情報をMCP Serverに伝えることができます。これにより、URLを直接指定しなくても、現在のプロジェクトの状態に基づいてCircleCIの情報を取得できます。
開発環境の構築
- リポジトリをクローン:
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git
- 依存関係をインストール:
pnpm install
- プロジェクトをビルド:
pnpm build
MCP Inspectorの活用
MCP Inspectorを使用すると、MCP Serverの開発を効率的に行うことができます。
- 開発サーバーを起動:
pnpm watch
- MCP Inspectorを起動
環境変数の設定: Inspector UIの環境変数セクションでCIRCLECI_TOKEN
を追加します。
テストの実行
- テストスイートを実行:
pnpm test
- ウォッチモードでテストを実行:
pnpm test:watch
まとめ
CircleCI MCP Serverは、LLMとの連携を通じて、開発者のワークフローを大幅に効率化する可能性を秘めています。この記事を参考に、MCP Serverを導入し、より快適な開発体験を実現してください。