CircleCIとLLMの連携を加速! MCP Server徹底解説
大規模言語モデル (LLM) と外部システム間の連携を標準化する新しいプロトコル、Model Context Protocol (MCP)。CircleCIのMCP Serverを活用することで、自然言語によるCircleCIの操作が可能になります。例えば、「最新の失敗したパイプラインのログを取得」といった指示が実現できます。この記事では、MCP Serverの導入から活用方法までを徹底解説します。
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設定に下記を追加
{
"mcpServers": {
"circleci-mcp-server": {
"command": " npx ",
"args": [" -y ", " @circleci/mcp-server-circleci "],
"env": {
"CIRCLECI_TOKEN": " your-circleci-token ",
"CIRCLECI_BASE_URL": " https://circleci.com " // Optional - required for on-prem customers only
}
}
}
}
VS Code
- VS Code の
.vscode/mcp.json
に下記を追加
{
"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 " // Optional - required for on-prem customers only
}
}
}
}
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 " // Optional - required for on-prem customers only
}
}
}
}
Smithery経由でのインストール
npx -y @smithery/cli install @CircleCI-Public/mcp-server-circleci --client claude
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を導入し、より快適な開発体験を実現してください。