CircleCI
chính thứcCho phép AI Agent sửa lỗi build từ CircleCI.
Bạn có thể làm gì với Circle CI MCP?
- Kiểm tra trạng thái pipeline mới nhất — Yêu cầu trạng thái của pipeline gần nhất trên một nhánh bằng cách sử dụng
get_latest_pipeline_status. - Truy xuất nhật ký lỗi build — Lấy nhật ký lỗi chi tiết từng bước từ một job hoặc pipeline bị lỗi với
get_build_failure_logs. - Xác định các bài kiểm tra không ổn định (flaky tests) — Phân tích lịch sử thực thi kiểm tra để làm nổi bật các bài kiểm tra không ổn định trong một dự án thông qua
find_flaky_tests. - Xác thực cấu hình CircleCI — Xác thực tệp
.circleci/config.ymlcủa bạn về lỗi cú pháp và ngữ nghĩa bằng cách sử dụngconfig_helper. - Tìm tài nguyên tính toán chưa được sử dụng hết — Phân tích dữ liệu sử dụng để phát hiện các job có mức sử dụng CPU/RAM thấp thông qua
find_underused_resource_classes. - Kích hoạt một lần chạy pipeline — Khởi chạy một pipeline mới cho một dự án bằng cách sử dụng
run_pipeline.
Tài liệu
[!IMPORTANT] Kho lưu trữ này đã bị loại bỏ. Máy chủ CircleCI MCP hiện được tích hợp sẵn trong CircleCI CLI. Truy cập cli.circleci.com để bắt đầu.
Máy chủ CircleCI MCP
Giao thức Ngữ cảnh Mô hình (MCP) là một giao thức mới, được chuẩn hóa để quản lý ngữ cảnh giữa các mô hình ngôn ngữ lớn (LLM) và các hệ thống bên ngoài. Trong kho lưu trữ này, chúng tôi cung cấp một Máy chủ MCP cho CircleCI.
Sử dụng Cursor, Windsurf, Copilot, Claude hoặc bất kỳ ứng dụng khách tương thích MCP nào để tương tác với CircleCI bằng ngôn ngữ tự nhiên — mà không cần rời khỏi IDE của bạn.
Công cụ
| Công cụ | Mô tả |
|---|---|
analyze_diff | Phân tích các khác biệt git dựa trên các quy tắc con trỏ để tìm vi phạm |
config_helper | Xác thực và nhận hướng dẫn cho cấu hình CircleCI của bạn |
create_prompt_template | Tạo các mẫu lời nhắc có cấu trúc cho các ứng dụng AI |
download_usage_api_data | Tải xuống dữ liệu sử dụng từ API Sử dụng CircleCI |
find_flaky_tests | Xác định các bài kiểm tra không ổn định bằng cách phân tích lịch sử thực thi kiểm tra |
find_underused_resource_classes | Tìm các công việc có tài nguyên tính toán chưa được sử dụng đúng mức |
get_build_failure_logs | Truy xuất nhật ký lỗi chi tiết từ các bản dựng CircleCI |
get_job_test_results | Truy xuất siêu dữ liệu và kết quả kiểm tra cho các công việc CircleCI |
get_latest_pipeline_status | Lấy trạng thái của pipeline mới nhất cho một nhánh |
list_artifacts | Liệt kê các tạo phẩm được tạo ra bởi một công việc CircleCI |
list_component_versions | Liệt kê tất cả các phiên bản cho một thành phần CircleCI |
list_followed_projects | Liệt kê tất cả các dự án CircleCI bạn đang theo dõi |
recommend_prompt_template_tests | Tạo các trường hợp kiểm thử cho các mẫu lời nhắc |
rerun_workflow | Chạy lại một quy trình làm việc từ đầu hoặc từ công việc bị lỗi |
run_evaluation_tests | Chạy các bài kiểm tra đánh giá trên một pipeline CircleCI |
run_pipeline | Kích hoạt một pipeline để chạy |
run_rollback_pipeline | Kích hoạt khôi phục cho một dự án |
Cài đặt
Triển khai nhóm / tập trung: Để chạy một máy chủ từ xa dùng chung cho tổ chức của bạn (Kubernetes, Docker, v.v.) với mã thông báo CircleCI cho từng nhà phát triển hoặc dùng chung, hãy xem Máy chủ MCP Từ xa Tự quản lý.
Cursor
Điều kiện tiên quyết:
- Mã thông báo API Cá nhân CircleCI (tìm hiểu thêm)
- NPX: Node.js >= v18 và pnpm
- Docker: Docker
Sử dụng NPX trong Máy chủ MCP cục bộ
Thêm phần sau vào cấu hình Cursor MCP của bạn:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci@latest"],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com",
"MAX_MCP_OUTPUT_LENGTH": "50000"
}
}
}
}
CIRCLECI_BASE_URLlà tùy chọn — chỉ bắt buộc đối với khách hàng tại chỗ.MAX_MCP_OUTPUT_LENGTHlà tùy chọn — độ dài đầu ra tối đa cho các phản hồi MCP (mặc định: 50000).
Sử dụng Docker trong Máy chủ MCP cục bộ
Thêm phần sau vào cấu hình Cursor MCP của bạn:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"CIRCLECI_TOKEN",
"-e",
"CIRCLECI_BASE_URL",
"-e",
"MAX_MCP_OUTPUT_LENGTH",
"circleci/mcp-server-circleci"
],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com",
"MAX_MCP_OUTPUT_LENGTH": "50000"
}
}
}
}
Sử dụng Máy chủ MCP Từ xa Tự quản lý
Xem Máy chủ MCP Từ xa Tự quản lý. Sử dụng cấu hình ứng dụng khách cho từng người dùng và thêm nó vào cấu hình Cursor MCP của bạn (Cursor Settings → MCP).
VS Code
Điều kiện tiên quyết:
- Mã thông báo API Cá nhân CircleCI (tìm hiểu thêm)
- NPX: Node.js >= v18 và pnpm
- Docker: Docker
Sử dụng NPX trong Máy chủ MCP cục bộ
Thêm phần sau vào .vscode/mcp.json trong dự án của bạn:
{
"inputs": [
{
"type": "promptString",
"id": "circleci-token",
"description": "CircleCI API Token",
"password": true
},
{
"type": "promptString",
"id": "circleci-base-url",
"description": "CircleCI Base URL",
"default": "https://circleci.com"
}
],
"servers": {
"circleci-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci@latest"],
"env": {
"CIRCLECI_TOKEN": "${input:circleci-token}",
"CIRCLECI_BASE_URL": "${input:circleci-base-url}"
}
}
}
}
💡 Các đầu vào được nhắc khi khởi động máy chủ lần đầu, sau đó được VS Code lưu trữ an toàn.
Sử dụng Docker trong Máy chủ MCP cục bộ
Thêm phần sau vào .vscode/mcp.json trong dự án của bạn:
{
"inputs": [
{
"type": "promptString",
"id": "circleci-token",
"description": "CircleCI API Token",
"password": true
},
{
"type": "promptString",
"id": "circleci-base-url",
"description": "CircleCI Base URL",
"default": "https://circleci.com"
}
],
"servers": {
"circleci-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"CIRCLECI_TOKEN",
"-e",
"CIRCLECI_BASE_URL",
"circleci/mcp-server-circleci"
],
"env": {
"CIRCLECI_TOKEN": "${input:circleci-token}",
"CIRCLECI_BASE_URL": "${input:circleci-base-url}"
}
}
}
}
Sử dụng Máy chủ MCP Từ xa Tự quản lý
Xem Máy chủ MCP Từ xa Tự quản lý. Sử dụng cấu hình ứng dụng khách cho từng người dùng trong .vscode/mcp.json.
Claude Desktop
Điều kiện tiên quyết:
- Mã thông báo API Cá nhân CircleCI (tìm hiểu thêm)
- NPX: Node.js >= v18 và pnpm
- Docker: Docker
Sử dụng NPX trong Máy chủ MCP cục bộ
Thêm phần sau vào claude_desktop_config.json của bạn:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci@latest"],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com",
"MAX_MCP_OUTPUT_LENGTH": "50000"
}
}
}
}
Sử dụng Docker trong Máy chủ MCP cục bộ
Thêm phần sau vào claude_desktop_config.json của bạn:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"CIRCLECI_TOKEN",
"-e",
"CIRCLECI_BASE_URL",
"-e",
"MAX_MCP_OUTPUT_LENGTH",
"circleci/mcp-server-circleci"
],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com",
"MAX_MCP_OUTPUT_LENGTH": "50000"
}
}
}
}
Sử dụng Máy chủ MCP Từ xa Tự quản lý
Xem Máy chủ MCP Từ xa Tự quản lý. Tạo một tập lệnh bao bọc như được hiển thị trong Ứng dụng khách Claude Desktop và CLI, sau đó trỏ claude_desktop_config.json của bạn vào đó.
Để tìm hoặc tạo tệp cấu hình của bạn, hãy mở cài đặt Claude Desktop, nhấp vào Developer ở thanh bên trái, sau đó nhấp vào Edit Config. Tệp cấu hình nằm ở:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Để biết thêm thông tin: https://modelcontextprotocol.io/quickstart/user
Claude Code
Điều kiện tiên quyết:
- Mã thông báo API Cá nhân CircleCI (tìm hiểu thêm)
- NPX: Node.js >= v18 và pnpm
- Docker: Docker
Sử dụng NPX trong Máy chủ MCP cục bộ
claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx -y @circleci/mcp-server-circleci@latest
Sử dụng Docker trong Máy chủ MCP cục bộ
claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -e CIRCLECI_BASE_URL=https://circleci.com -- docker run --rm -i -e CIRCLECI_TOKEN -e CIRCLECI_BASE_URL circleci/mcp-server-circleci
Sử dụng Máy chủ MCP Từ xa Tự quản lý
Xem Máy chủ MCP Từ xa Tự quản lý và thiết lập ứng dụng khách Claude Code ở đó.
Windsurf
Điều kiện tiên quyết:
- Mã thông báo API Cá nhân CircleCI (tìm hiểu thêm)
- NPX: Node.js >= v18 và pnpm
- Docker: Docker
Sử dụng NPX trong Máy chủ MCP cục bộ
Thêm phần sau vào mcp_config.json Windsurf của bạn:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci@latest"],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com",
"MAX_MCP_OUTPUT_LENGTH": "50000"
}
}
}
}
Sử dụng Docker trong Máy chủ MCP cục bộ
Thêm phần sau vào mcp_config.json Windsurf của bạn:
{
"mcpServers": {
"circleci-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"CIRCLECI_TOKEN",
"-e",
"CIRCLECI_BASE_URL",
"-e",
"MAX_MCP_OUTPUT_LENGTH",
"circleci/mcp-server-circleci"
],
"env": {
"CIRCLECI_TOKEN": "your-circleci-token",
"CIRCLECI_BASE_URL": "https://circleci.com",
"MAX_MCP_OUTPUT_LENGTH": "50000"
}
}
}
}
Sử dụng Máy chủ MCP Từ xa Tự quản lý
Xem Máy chủ MCP Từ xa Tự quản lý. Sử dụng cấu hình ứng dụng khách cho từng người dùng trong mcp_config.json Windsurf của bạn.
Để biết thêm thông tin: https://docs.windsurf.com/windsurf/mcp
Amazon Q Developer CLI
Điều kiện tiên quyết:
Cấu hình ứng dụng khách MCP trong Amazon Q Developer được lưu trữ ở định dạng JSON trong một tệp có tên mcp.json. Hai cấp độ cấu hình được hỗ trợ:
- Toàn cục:
~/.aws/amazonq/mcp.json— áp dụng cho tất cả không gian làm việc - Không gian làm việc:
.amazonq/mcp.json— cụ thể cho không gian làm việc hiện tại
Nếu cả hai tệp tồn tại, nội dung của chúng được hợp nhất. Trong trường hợp xung đột, cấu hình không gian làm việc được ưu tiên.
Sử dụng NPX trong Máy chủ MCP cục bộ
Chỉnh sửa ~/.aws/amazonq/mcp.json hoặc tạo .amazonq/mcp.json với nội dung sau:
{
"mcpServers": {
"circleci-local": {
"command": "npx",
"args": [
"-y",
"@circleci/mcp-server-circleci@latest"
],
"env": {
"CIRCLECI_TOKEN": "YOUR_CIRCLECI_TOKEN",
"CIRCLECI_BASE_URL": "https://circleci.com",
"MAX_MCP_OUTPUT_LENGTH": "50000"
},
"timeout": 60000
}
}
}
Sử dụng Máy chủ MCP Từ xa Tự quản lý
Xem Máy chủ MCP Từ xa Tự quản lý. Sử dụng tập lệnh bao bọc như được hiển thị trong Ứng dụng khách Claude Desktop và CLI, sau đó đăng ký nó với q mcp add.
Amazon Q Developer trong IDE
Điều kiện tiên quyết:
Sử dụng NPX trong Máy chủ MCP cục bộ
Chỉnh sửa ~/.aws/amazonq/mcp.json hoặc tạo .amazonq/mcp.json với nội dung sau:
{
"mcpServers": {
"circleci-local": {
"command": "npx",
"args": [
"-y",
"@circleci/mcp-server-circleci@latest"
],
"env": {
"CIRCLECI_TOKEN": "YOUR_CIRCLECI_TOKEN",
"CIRCLECI_BASE_URL": "https://circleci.com",
"MAX_MCP_OUTPUT_LENGTH": "50000"
},
"timeout": 60000
}
}
}
Sử dụng Máy chủ MCP Từ xa Tự quản lý
Xem Máy chủ MCP Từ xa Tự quản lý. Sử dụng tập lệnh bao bọc như được hiển thị trong Ứng dụng khách Claude Desktop và CLI, sau đó thêm nó qua giao diện người dùng cấu hình MCP:
- Truy cập giao diện người dùng cấu hình MCP
- Chọn biểu tượng +
- Chọn phạm vi: toàn cục hoặc cục bộ
- Nhập tên (ví dụ:
circleci-remote-mcp) - Chọn giao thức truyền tải: stdio
- Nhập đường dẫn lệnh đến tập lệnh của bạn
- Nhấp vào Save
Smithery
Để cài đặt Máy chủ CircleCI MCP cho Claude Desktop tự động qua Smithery:
npx -y @smithery/cli install @CircleCI-Public/mcp-server-circleci --client claude
Máy chủ MCP Từ xa Tự quản lý
Chạy máy chủ MCP tập trung (ví dụ trên Kubernetes hoặc Docker) để nhóm của bạn chia sẻ một triển khai. Chọn cách các nhà phát triển xác thực:
Chọn chế độ triển khai
| Chế độ | Khi nào sử dụng | Thiết lập máy chủ | Thiết lập ứng dụng khách | Dấu vết kiểm toán CircleCI |
|---|---|---|---|---|
| Mã thông báo từng người dùng (khuyến nghị) | Các nhóm có Mã thông báo API Cá nhân được hỗ trợ bởi SSO | REQUIRE_REQUEST_TOKEN=true, không có PAT máy chủ | Mỗi nhà phát triển chuyển tiếp PAT của họ | Theo từng nhà phát triển |
| Mã thông báo dùng chung (tạm thời) | Triển khai nhanh, danh tính dịch vụ duy nhất được chấp nhận | CIRCLECI_TOKEN trên máy chủ, REQUIRE_REQUEST_TOKEN=false (từ chối rõ ràng) | Không cần tiêu đề xác thực | Danh tính dùng chung duy nhất |
Bảo mật: Xác thực yêu cầu được bật theo mặc định ở chế độ từ xa. Chế độ mã thông báo dùng chung vô hiệu hóa nó (
REQUIRE_REQUEST_TOKEN=false), khiến mọi người gọi có thể hành động như danh tínhCIRCLECI_TOKENcủa máy chủ mà không cần thông tin xác thực. Chỉ bật nó trên mạng mà bạn hoàn toàn tin tưởng và ưu tiên mã thông báo từng người dùng nếu không. Kết thúc TLS tại một ingress cung cấp mã hóa, không phải xác thực.
1. Triển khai máy chủ
Cả hai chế độ đều sử dụng chế độ HTTP từ xa (start=remote). Xuất bản cổng 8000 (hoặc cổng bạn chọn).
Mã thông báo từng người dùng (khuyến nghị) — được truy cập qua mcp-remote từ localhost:
docker run --rm -p 8000:8000 \
-e start=remote \
-e port=8000 \
-e REQUIRE_REQUEST_TOKEN=true \
circleci/mcp-server-circleci
Mã thông báo từng người dùng (khuyến nghị) — được truy cập qua mcp-remote từ tên máy chủ công khai:
docker run --rm -p 8000:8000 \
-e start=remote \
-e port=8000 \
-e REQUIRE_REQUEST_TOKEN=true \
-e MCP_ALLOWED_HOSTS=my-mcp.example.com \
circleci/mcp-server-circleci
Mã thông báo dùng chung (tạm thời) — được truy cập qua mcp-remote từ tên máy chủ công khai:
docker run --rm -p 8000:8000 \
-e start=remote \
-e port=8000 \
-e CIRCLECI_TOKEN=your-shared-circleci-pat \
-e REQUIRE_REQUEST_TOKEN=false \
-e MCP_ALLOWED_HOSTS=my-mcp.example.com \
circleci/mcp-server-circleci
Biến môi trường:
| Biến | Mô tả |
|---|---|
start=remote | Khởi động máy chủ HTTP+SSE MCP thay vì stdio |
port | Cổng lắng nghe bên trong container (mặc định: 8000) |
REQUIRE_REQUEST_TOKEN | Từ chối các yêu cầu không có tiêu đề Authorization: Bearer hoặc Circle-Token. Mặc định là bắt buộc; đặt REQUIRE_REQUEST_TOKEN=false để cho phép các yêu cầu không xác thực (chế độ mã thông báo dùng chung) |
CIRCLECI_TOKEN | PAT dự phòng dùng chung cho tất cả các yêu cầu khi tiêu đề từng người dùng không được gửi |
CIRCLECI_BASE_URL | Tùy chọn — chỉ bắt buộc đối với khách hàng tại chỗ (mặc định: https://circleci.com) |
DISABLE_TELEMETRY=true | Từ chối xuất số liệu sử dụng |
MCP_ALLOWED_HOSTS | Danh sách được phân tách bằng dấu phẩy các giá trị tiêu đề Host bổ sung để cho phép (ví dụ: my-mcp.example.com,my-mcp.example.com:443). Tên máy chủ loopback luôn được phép. Bắt buộc đối với bất kỳ triển khai không loopback nào. |
MCP_ALLOWED_ORIGINS | Danh sách được phân tách bằng dấu phẩy các giá trị tiêu đề Origin bổ sung để cho phép (ví dụ: https://my-app.example.com). Nguồn gốc loopback luôn được phép. Chỉ cần khi trình duyệt trực tiếp truy cập máy chủ này (không qua mcp-remote). |
MCP_BIND_HOST | Giao diện mạng để liên kết (mặc định: 0.0.0.0). Đặt thành 127.0.0.1 để giới hạn chỉ loopback (không tương thích với ánh xạ cổng Docker -p). |
Bảo vệ DNS-rebinding: Phương thức vận chuyển từ xa xác thực tiêu đề
Hosttrên mọi yêu cầu/mcp. Theo mặc định, chỉ các địa chỉ loopback (localhost,127.0.0.1,[::1]) được chấp nhận. Các triển khai công khai phải đặtMCP_ALLOWED_HOSTSthành tên máy chủ mà máy khách sử dụng, nếu không tất cả các yêu cầu/mcpsẽ nhận được403 Forbidden. Điểm cuối kiểm tra tình trạng/pingkhông bị bảo vệ để các đầu dò cân bằng tải tiếp tục hoạt động bất kểHost.Tiêu đề
Origin(do trình duyệt gửi) cũng được xác thực khi có mặt. Các máy khách không phải trình duyệt nhưmcp-remotekhông bao giờ gửiOrigin, vì vậy chúng không bị ảnh hưởng bởi kiểm tra này.Đứng sau proxy ngược: Nếu proxy của bạn ghi lại
Hostthành địa chỉ backend (mặc định của nginx), hãy thêmproxy_set_header Host $host;để truyền tên máy chủ gốc qua, sau đó đặtMCP_ALLOWED_HOSTSthành tên máy chủ công khai đó. Ngoài ra, hãy đặtMCP_ALLOWED_HOSTSthành bất kỳ tên máy chủ nào mà proxy chuyển tiếp.
Máy chủ chấp nhận token theo từng yêu cầu thông qua:
Authorization: Bearer <circleci-pat>Circle-Token: <circleci-pat>
Nếu máy khách gửi token tiêu đề, nó sẽ được ưu tiên hơn CIRCLECI_TOKEN trên máy chủ.
Các số liệu đo lường từ xa được ghi lại trong một yêu cầu sẽ được xuất bằng cùng token với yêu cầu đó.
2. Cấu hình máy khách
Hầu hết các máy khách MCP chỉ hỗ trợ các tiến trình cục bộ (stdio). Sử dụng mcp-remote, một cầu nối stdio-to-HTTP của bên thứ ba, để kết nối chúng với máy chủ từ xa của bạn.
Sơ đồ URL: Sử dụng
http://localhost:8000/mcpvới--allow-httpđể kiểm thử cục bộ. Trong môi trường production, hãy kết thúc TLS tại ingress/load balancer của bạn và sử dụnghttps://your-host/mcpmà không có--allow-http.
Windows: Tránh khoảng trắng xung quanh dấu hai chấm trong các giá trị
--header. Đặt toàn bộ giá trịBearer <token>vào một biến môi trường.
Bảo mật: Các ví dụ sử dụng
npxđể thuận tiện. Đối với production hoặc triển khai nhóm, hãy ghim một phiên bản cụ thể trong cấu hình MCP của bạn (ví dụ:mcp-remote@0.1.38thay vìmcp-remote). Không sử dụng các phiên bản dưới0.1.16(CVE-2025-6514).
Cấu hình máy khách: token theo người dùng
Mỗi nhà phát triển chuyển tiếp Token API Cá nhân CircleCI của riêng họ trên mọi yêu cầu:
{
"inputs": [
{
"type": "promptString",
"id": "circleci-token",
"description": "CircleCI API Token",
"password": true
}
],
"mcpServers": {
"circleci-mcp-server-remote": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8000/mcp",
"--allow-http",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer ${input:circleci-token}"
}
}
}
}
Thay thế http://localhost:8000/mcp bằng URL máy chủ của nhóm bạn. Cursor và VS Code hỗ trợ lời nhắc ${input:...}; các máy khách khác có thể đặt AUTH_HEADER trực tiếp.
Cấu hình máy khách: token dùng chung
Khi máy chủ đã đặt CIRCLECI_TOKEN và được khởi động với REQUIRE_REQUEST_TOKEN=false (xác thực yêu cầu được bật theo mặc định và phải được tắt một cách rõ ràng), máy khách không cần gửi token:
{
"mcpServers": {
"circleci-mcp-server-remote": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8000/mcp",
"--allow-http"
]
}
}
}
Máy khách Claude Desktop và CLI
Tạo một tập lệnh bao bọc (ví dụ: circleci-remote-mcp.sh):
#!/bin/bash
export AUTH_HEADER="Bearer your-circleci-token"
npx mcp-remote http://localhost:8000/mcp --allow-http --header "Authorization:${AUTH_HEADER}"
Làm cho nó có thể thực thi (chmod +x circleci-remote-mcp.sh), sau đó tham chiếu nó từ cấu hình MCP của bạn:
{
"mcpServers": {
"circleci-remote-mcp-server": {
"command": "/full/path/to/circleci-remote-mcp.sh"
}
}
}
Claude Code
claude mcp add circleci-mcp-server \
-e AUTH_HEADER="Bearer your-circleci-token" \
-- npx mcp-remote http://localhost:8000/mcp --allow-http --header "Authorization:${AUTH_HEADER}"
Bỏ qua --header và AUTH_HEADER khi sử dụng máy chủ token dùng chung.
3. Xác minh triển khai
# Health check (no auth required)
curl http://localhost:8000/ping
# Should return 401 when REQUIRE_REQUEST_TOKEN=true and no token is sent
curl -s -o /dev/null -w "%{http_code}\n" -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
# Should return 200 with a valid Bearer token and MCP Accept headers
curl -s -o /dev/null -w "%{http_code}\n" -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer your-circleci-pat" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
Demo
Xem nó hoạt động
Ví dụ: "Tìm pipeline thất bại mới nhất trên nhánh của tôi và lấy nhật ký" — xem wiki để biết thêm ví dụ.
https://github.com/user-attachments/assets/3c765985-8827-442a-a8dc-5069e01edb74
Chi tiết Công cụ
analyze_diff
Phân tích các khác biệt git dựa trên các quy tắc con trỏ để xác định vi phạm quy tắc.
Cung cấp:
- Nội dung khác biệt Git (ví dụ:
git diff --cached,git diff HEAD) - Quy tắc kho lưu trữ từ
.cursorruleshoặc.cursor/rules
Trả về báo cáo vi phạm chi tiết với điểm tin cậy và giải thích.
Hữu ích cho:
- Kiểm tra chất lượng mã trước khi commit
- Đảm bảo tính nhất quán với tiêu chuẩn mã hóa của nhóm
- Phát hiện vi phạm quy tắc trước khi xem xét mã
config_helper
Hỗ trợ các tác vụ cấu hình CircleCI bằng cách cung cấp hướng dẫn và xác thực.
- Xác thực
.circleci/config.ymlcủa bạn để tìm lỗi cú pháp và ngữ nghĩa - Cung cấp kết quả xác thực chi tiết và đề xuất cấu hình
- Ví dụ: "Xác thực cấu hình CircleCI của tôi"
create_prompt_template
Tạo các mẫu lời nhắc có cấu trúc cho các ứng dụng hỗ trợ AI dựa trên yêu cầu tính năng.
- Chuyển đổi yêu cầu của người dùng thành các mẫu lời nhắc được tối ưu hóa
- Trả về một mẫu có cấu trúc và một lược đồ ngữ cảnh xác định các tham số đầu vào cần thiết
- Ví dụ: "Tạo một mẫu lời nhắc để tạo truyện trước khi đi ngủ theo độ tuổi và chủ đề"
download_usage_api_data
Tải xuống dữ liệu sử dụng từ API Sử dụng CircleCI cho một tổ chức nhất định. Chấp nhận đầu vào ngày linh hoạt (ví dụ: "Tháng 3 năm 2025" hoặc "tháng trước"). Tính năng chỉ dành cho Cloud.
Tùy chọn 1: Bắt đầu một công việc xuất mới bằng cách cung cấp:
orgId,startDate,endDate(tối đa 32 ngày),outputDir
Tùy chọn 2: Kiểm tra/tải xuống một công việc xuất hiện có bằng cách cung cấp:
orgId,jobId,outputDir
Trả về một tệp CSV với dữ liệu sử dụng CircleCI cho khung thời gian đã chỉ định.
[!LƯU Ý] Dữ liệu sử dụng có thể được đưa vào công cụ
find_underused_resource_classesđể phân tích tối ưu hóa chi phí.
find_flaky_tests
Xác định các bài kiểm tra không ổn định trong dự án CircleCI của bạn bằng cách phân tích lịch sử thực thi kiểm tra. Tận dụng tính năng phát hiện kiểm tra không ổn định trong CircleCI.
Công cụ này có thể được sử dụng theo ba cách:
-
Sử dụng Project Slug (Khuyến nghị):
- Trước tiên, sử dụng
list_followed_projectsđể lấy các dự án của bạn, sau đó: - Ví dụ: "Lấy các bài kiểm tra không ổn định cho my-project"
- Trước tiên, sử dụng
-
Sử dụng URL Dự án CircleCI:
- Ví dụ: "Tìm các bài kiểm tra không ổn định trong https://app.circleci.com/pipelines/github/org/repo"
-
Sử dụng Ngữ cảnh Dự án Cục bộ:
- Hoạt động từ không gian làm việc cục bộ của bạn bằng cách cung cấp thư mục gốc không gian làm việc và URL git remote
- Ví dụ: "Tìm các bài kiểm tra không ổn định trong dự án hiện tại của tôi"
Chế độ đầu ra:
- Văn bản (mặc định): Trả về chi tiết kiểm tra không ổn định ở định dạng văn bản
- Tệp (yêu cầu biến môi trường
FILE_OUTPUT_DIRECTORY): Tạo một thư mục với chi tiết kiểm tra không ổn định
find_underused_resource_classes
Phân tích tệp CSV dữ liệu sử dụng CircleCI để tìm các công việc có mức sử dụng CPU/RAM trung bình hoặc tối đa dưới ngưỡng nhất định (mặc định: 40%).
Cung cấp tệp CSV thu được từ download_usage_api_data.
Trả về danh sách markdown các công việc ít được sử dụng được tổ chức theo dự án và quy trình làm việc — hữu ích cho việc xác định cơ hội tối ưu hóa chi phí.
get_build_failure_logs
Truy xuất nhật ký lỗi chi tiết từ các bản dựng CircleCI. Công cụ này có thể được sử dụng theo ba cách:
-
Sử dụng Project Slug và Nhánh (Khuyến nghị):
- Trước tiên, sử dụng
list_followed_projectsđể lấy các dự án của bạn, sau đó: - Ví dụ: "Lấy lỗi bản dựng cho my-project trên nhánh main"
- Trước tiên, sử dụng
-
Sử dụng URL CircleCI:
- Cung cấp trực tiếp URL công việc thất bại hoặc URL pipeline
- Ví dụ: "Lấy nhật ký từ https://app.circleci.com/pipelines/github/org/repo/123"
-
Sử dụng Ngữ cảnh Dự án Cục bộ:
- Hoạt động từ không gian làm việc cục bộ của bạn bằng cách cung cấp thư mục gốc không gian làm việc, URL git remote và tên nhánh
- Ví dụ: "Tìm pipeline thất bại mới nhất trên nhánh hiện tại của tôi"
Công cụ trả về nhật ký được định dạng bao gồm:
- Tên công việc
- Chi tiết thực thi từng bước
- Thông báo lỗi và ngữ cảnh
get_job_test_results
Truy xuất siêu dữ liệu kiểm tra cho các công việc CircleCI, cho phép bạn phân tích kết quả kiểm tra mà không cần rời khỏi IDE. Công cụ này có thể được sử dụng theo ba cách:
-
Sử dụng Project Slug và Nhánh (Khuyến nghị):
- Ví dụ: "Lấy kết quả kiểm tra cho my-project trên nhánh main"
-
Sử dụng URL CircleCI:
- URL Công việc:
https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def/jobs/789 - URL Quy trình làm việc:
https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def - URL Pipeline:
https://app.circleci.com/pipelines/github/org/repo/123
- URL Công việc:
-
Sử dụng Ngữ cảnh Dự án Cục bộ:
- Hoạt động từ không gian làm việc cục bộ của bạn bằng cách cung cấp thư mục gốc không gian làm việc, URL git remote và tên nhánh
Công cụ trả về:
- Tóm tắt tất cả các bài kiểm tra (tổng số, thành công, thất bại)
- Thông tin chi tiết về các bài kiểm tra thất bại: tên, lớp, tệp, thông báo lỗi, thời lượng
- Danh sách các bài kiểm tra thành công với thời gian
- Lọc theo kết quả kiểm tra
[!LƯU Ý] Siêu dữ liệu kiểm tra phải được cấu hình trong cấu hình CircleCI của bạn. Xem Thu thập Dữ liệu Kiểm tra để biết hướng dẫn thiết lập.
get_latest_pipeline_status
Truy xuất trạng thái của pipeline mới nhất cho một nhánh nhất định. Công cụ này có thể được sử dụng theo ba cách:
-
Sử dụng Project Slug và Nhánh (Khuyến nghị):
- Ví dụ: "Lấy trạng thái của pipeline mới nhất cho my-project trên nhánh main"
-
Sử dụng URL Dự án CircleCI:
- Ví dụ: "Lấy trạng thái của pipeline mới nhất cho https://app.circleci.com/pipelines/github/org/repo"
-
Sử dụng Ngữ cảnh Dự án Cục bộ:
- Hoạt động từ không gian làm việc cục bộ của bạn bằng cách cung cấp thư mục gốc không gian làm việc, URL git remote và tên nhánh
Ví dụ đầu ra:
---
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
list_artifacts
Truy xuất danh sách các tạo phẩm được tạo ra bởi một công việc CircleCI. Công cụ này có thể được sử dụng theo ba cách:
-
Sử dụng Project Slug và Nhánh (Khuyến nghị):
- Trước tiên, sử dụng
list_followed_projectsđể lấy các dự án của bạn, sau đó: - Ví dụ: "Liệt kê các tạo phẩm cho my-project trên nhánh main"
- Trước tiên, sử dụng
-
Sử dụng URL CircleCI:
- URL Công việc:
https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def/jobs/789 - URL Quy trình làm việc:
https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def - URL Pipeline:
https://app.circleci.com/pipelines/gh/organization/project/123
- URL Công việc:
-
Sử dụng Ngữ cảnh Dự án Cục bộ:
- Hoạt động từ không gian làm việc cục bộ của bạn bằng cách cung cấp thư mục gốc không gian làm việc, URL git remote và tên nhánh
Hữu ích cho:
- Tìm URL tải xuống cho các tạo phẩm bản dựng (tệp nhị phân, báo cáo, nhật ký)
- Kiểm tra những tạo phẩm nào đã được tạo ra bởi một lần chạy pipeline
list_component_versions
Liệt kê tất cả các phiên bản cho một thành phần CircleCI cụ thể trong một môi trường. Bao gồm trạng thái triển khai, thông tin commit và dấu thời gian.
Công cụ sẽ nhắc bạn chọn thành phần và môi trường nếu không được cung cấp.
Hữu ích cho:
- Xác định phiên bản nào hiện đang hoạt động
- Chọn phiên bản mục tiêu cho các hoạt động khôi phục
- Lấy chi tiết triển khai (pipeline, quy trình làm việc, công việc)
list_followed_projects
Liệt kê tất cả các dự án mà người dùng đang theo dõi trên CircleCI.
- Hiển thị tất cả các dự án bạn có quyền truy cập với
projectSlugcủa chúng - Ví dụ: "Liệt kê các dự án CircleCI của tôi"
Ví dụ đầu ra:
Projects followed:
1. my-project (projectSlug: gh/organization/my-project)
2. another-project (projectSlug: gh/organization/another-project)
[!LƯU Ý]
projectSlug(không phải tên dự án) là bắt buộc đối với nhiều công cụ CircleCI khác.
recommend_prompt_template_tests
Tạo các trường hợp kiểm thử cho các mẫu lời nhắc để đảm bảo chúng tạo ra kết quả mong đợi.
- Tạo các kịch bản kiểm thử đa dạng dựa trên mẫu prompt và lược đồ ngữ cảnh của bạn
- Trả về một mảng các ca kiểm thử được đề xuất với nhiều tổ hợp tham số khác nhau
- Ví dụ: "Tạo các bài kiểm thử cho mẫu prompt truyện kể trước khi đi ngủ của tôi"
rerun_workflow
Chạy lại một workflow từ đầu hoặc từ job bị lỗi.
Trả về ID của workflow mới được tạo và một liên kết để theo dõi nó.
run_evaluation_tests
Chạy các bài kiểm thử đánh giá (còn được gọi là "Prompt Tests") trên một pipeline CircleCI. Tạo một cấu hình CircleCI phù hợp và kích hoạt một pipeline sử dụng cấu hình đó.
Công cụ này có thể được sử dụng theo ba cách:
-
Sử dụng Project Slug và Branch (Khuyến nghị):
- Trước tiên, sử dụng
list_followed_projectsđể lấy danh sách dự án của bạn, sau đó: - Ví dụ: "Chạy các bài kiểm thử đánh giá cho my-project trên nhánh main"
- Trước tiên, sử dụng
-
Sử dụng URL CircleCI:
- URL Dự án, URL Pipeline, URL Workflow hoặc URL Job
- Ví dụ: "Chạy các bài kiểm thử đánh giá cho https://app.circleci.com/pipelines/gh/organization/project/123"
-
Sử dụng Ngữ cảnh Dự án Cục bộ:
- Hoạt động từ không gian làm việc cục bộ của bạn bằng cách cung cấp thư mục gốc của không gian làm việc, URL git remote và tên nhánh
Công cụ chấp nhận các tệp mẫu prompt và trả về một URL để theo dõi pipeline đã được kích hoạt.
[!LƯU Ý] Nếu dự án có nhiều định nghĩa pipeline, công cụ sẽ trả về danh sách các pipeline khả dụng để bạn lựa chọn.
run_pipeline
Kích hoạt một pipeline để chạy. Công cụ này có thể được sử dụng theo ba cách:
-
Sử dụng Project Slug và Branch (Khuyến nghị):
- Ví dụ: "Chạy pipeline cho my-project trên nhánh main"
-
Sử dụng URL CircleCI:
- URL Pipeline, URL Workflow, URL Job hoặc URL Dự án kèm nhánh
- Ví dụ: "Chạy pipeline cho https://app.circleci.com/pipelines/github/org/repo/123"
-
Sử dụng Ngữ cảnh Dự án Cục bộ:
- Hoạt động từ không gian làm việc cục bộ của bạn bằng cách cung cấp thư mục gốc của không gian làm việc, URL git remote và tên nhánh
Công cụ trả về một liên kết để theo dõi quá trình thực thi pipeline.
run_rollback_pipeline
Kích hoạt rollback cho một dự án CircleCI. Công cụ sẽ tương tác hướng dẫn bạn qua các bước:
- Chọn Dự án — liệt kê các dự án đã theo dõi để bạn chọn
- Chọn Môi trường — liệt kê các môi trường khả dụng (tự động chọn nếu chỉ có một)
- Chọn Thành phần — liệt kê các thành phần khả dụng (tự động chọn nếu chỉ có một)
- Chọn Phiên bản — hiển thị các phiên bản khả dụng; bạn chọn mục tiêu để rollback
- Phát hiện Chế độ Rollback — kiểm tra xem pipeline rollback đã được cấu hình chưa
- Thực thi Rollback — hai tùy chọn:
- Pipeline Rollback: kích hoạt pipeline rollback
- Chạy lại Workflow: chạy lại một workflow trước đó bằng ID workflow của nó
- Xác nhận — tóm tắt và xác nhận trước khi thực thi
Khắc phục sự cố
Các bản sửa lỗi nhanh
Các vấn đề phổ biến nhất:
-
Xóa bộ nhớ đệm gói:
npx clear-npx-cache npm cache clean --force -
Ép buộc phiên bản mới nhất: Thêm
@latestvào cấu hình của bạn:"args": ["-y", "@circleci/mcp-server-circleci@latest"] -
Khởi động lại hoàn toàn IDE của bạn (không chỉ tải lại cửa sổ)
Vấn đề Xác thực
- Lỗi token không hợp lệ: Xác minh
CIRCLECI_TOKENcủa bạn trong Personal API Tokens - Lỗi quyền: Đảm bảo token có quyền đọc đối với các dự án của bạn
- Biến môi trường không tải: Kiểm tra với
echo $CIRCLECI_TOKEN(Mac/Linux) hoặcecho %CIRCLECI_TOKEN%(Windows)
Vấn đề Kết nối và Mạng
- URL Cơ sở: Xác nhận
CIRCLECI_BASE_URLlàhttps://circleci.com - Mạng công ty: Cấu hình cài đặt proxy npm nếu đứng sau tường lửa
- Tường lửa chặn: Kiểm tra xem phần mềm bảo mật có chặn tải xuống gói không
Yêu cầu Hệ thống
- Phiên bản Node.js: Đảm bảo >= 18.0.0 với
node --version - Cập nhật Node.js: Cân nhắc LTS mới nhất nếu gặp vấn đề tương thích
- Trình quản lý gói: Xác minh npm/pnpm đang hoạt động:
npm --version
Vấn đề Cụ thể cho IDE
- Vị trí tệp cấu hình: Kiểm tra kỹ đường dẫn cho hệ điều hành của bạn
- Lỗi cú pháp: Xác thực cú pháp JSON trong tệp cấu hình của bạn
- Nhật ký console: Kiểm tra console nhà phát triển của IDE để tìm lỗi cụ thể
- Thử một IDE khác: Kiểm tra trong một trình soạn thảo được hỗ trợ khác để cô lập vấn đề
Vấn đề Tiến trình
Tiến trình treo — hủy các tiến trình MCP hiện có:
# Mac/Linux:
pkill -f "mcp-server-circleci"
# Windows:
taskkill /f /im node.exe
Xung đột cổng: Khởi động lại IDE của bạn nếu kết nối dường như bị chặn.
Gỡ lỗi Nâng cao
- Kiểm tra gói trực tiếp:
npx @circleci/mcp-server-circleci@latest --help - Ghi nhật ký chi tiết:
DEBUG=* npx @circleci/mcp-server-circleci@latest - Phương án thay thế Docker: Thử cài đặt Docker nếu npx liên tục thất bại
Vẫn cần trợ giúp?
- Kiểm tra GitHub Issues để tìm các vấn đề tương tự
- Bao gồm hệ điều hành, phiên bản Node và IDE của bạn khi báo cáo sự cố
- Chia sẻ các thông báo lỗi liên quan từ console IDE
Đo lường từ xa
Máy chủ hỗ trợ các số liệu OpenTelemetry để theo dõi việc sử dụng công cụ. Các số liệu được xuất trừ khi bạn đặt DISABLE_TELEMETRY=true. Trên các triển khai từ xa, số liệu sử dụng cùng token với yêu cầu (PAT theo người dùng hoặc PAT máy chủ dùng chung).
| Số liệu | Mô tả |
|---|---|
circleci.mcp.tool.invocations | Số lần gọi công cụ |
circleci.mcp.tool.duration_ms | Thời gian thực thi tính bằng ms |
circleci.mcp.tool.errors | Số lần lỗi |
Phát triển
Bắt đầu
-
Sao chép kho lưu trữ:
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git cd mcp-server-circleci -
Cài đặt các phụ thuộc:
pnpm install -
Xây dựng dự án:
pnpm build
Xây dựng Docker Container
Bạn có thể xây dựng Docker container cục bộ bằng cách sử dụng:
docker build -t circleci:mcp-server-circleci .
Điều này sẽ tạo một Docker image được gắn thẻ là circleci:mcp-server-circleci mà bạn có thể sử dụng với bất kỳ máy khách MCP nào.
Chế độ stdio cục bộ (nhà phát triển đơn lẻ, token trên máy khách):
docker run --rm -i \
-e CIRCLECI_TOKEN=your-circleci-token \
-e CIRCLECI_BASE_URL=https://circleci.com \
circleci/mcp-server-circleci
Chế độ từ xa (máy chủ tập trung cho một nhóm): xem Máy chủ MCP Từ xa Tự quản lý.
Phát triển với MCP Inspector
Cách dễ nhất để lặp lại trên MCP Server là sử dụng MCP inspector. Bạn có thể tìm hiểu thêm về MCP inspector tại https://modelcontextprotocol.io/docs/tools/inspector
-
Khởi động máy chủ phát triển:
pnpm watch # Keep this running in one terminal -
Trong một terminal riêng biệt, khởi chạy inspector:
pnpm inspector -
Cấu hình môi trường:
- Thêm
CIRCLECI_TOKENcủa bạn vào phần Biến Môi trường trong giao diện người dùng inspector - Token cần có quyền đọc đối với các dự án CircleCI của bạn
- Tùy chọn đặt URL Cơ sở CircleCI của bạn (mặc định là
https://circleci.com)
- Thêm
Kiểm thử
-
Chạy bộ kiểm thử:
pnpm test -
Chạy kiểm thử ở chế độ theo dõi trong quá trình phát triển:
pnpm test:watch
Để biết hướng dẫn đóng góp chi tiết hơn, hãy xem CONTRIBUTING.md