CircleCI MCP Server
resmiYapay zeka ajanlarının CircleCI'dan gelen derleme hatalarını düzeltmesini sağlar.
Dokümantasyon
CircleCI MCP Sunucusu
Model Context Protocol (MCP), büyük dil modelleri (LLM'ler) ile harici sistemler arasındaki bağlamı yönetmek için yeni, standartlaştırılmış bir protokoldür. Bu depoda, CircleCI için bir MCP Sunucusu sunuyoruz.
IDE'nizden ayrılmadan, doğal dil kullanarak CircleCI ile etkileşim kurmak için Cursor, Windsurf, Copilot, Claude veya herhangi bir MCP uyumlu istemciyi kullanın.
Araçlar
| Araç | Açıklama |
|---|---|
analyze_diff | Git farklarını imleç kurallarına göre ihlaller için analiz edin |
config_helper | CircleCI yapılandırmanızı doğrulayın ve rehberlik alın |
create_prompt_template | Yapay zeka uygulamaları için yapılandırılmış istem şablonları oluşturun |
download_usage_api_data | CircleCI Kullanım API'sinden kullanım verilerini indirin |
find_flaky_tests | Test yürütme geçmişini analiz ederek dengesiz testleri belirleyin |
find_underused_resource_classes | Yetersiz kullanılan işlem kaynaklarına sahip işleri bulun |
get_build_failure_logs | CircleCI derlemelerinden ayrıntılı hata günlüklerini alın |
get_job_test_results | CircleCI işleri için test meta verilerini ve sonuçlarını alın |
get_latest_pipeline_status | Bir dal için en son işlem hattının durumunu alın |
list_artifacts | Bir CircleCI işi tarafından üretilen yapıtları listeleyin |
list_component_versions | Bir CircleCI bileşeni için tüm sürümleri listeleyin |
list_followed_projects | Takip ettiğiniz tüm CircleCI projelerini listeleyin |
recommend_prompt_template_tests | İstem şablonları için test senaryoları oluşturun |
rerun_workflow | Bir iş akışını baştan veya başarısız işten itibaren yeniden çalıştırın |
run_evaluation_tests | Bir CircleCI işlem hattında değerlendirme testlerini çalıştırın |
run_pipeline | Bir işlem hattını çalıştırmak için tetikleyin |
run_rollback_pipeline | Bir proje için geri alma işlemini tetikleyin |
Kurulum
Ekip / merkezi dağıtım: Kuruluşunuz için geliştirici başına veya paylaşılan CircleCI belirteçleriyle tek bir paylaşılan uzak sunucu (Kubernetes, Docker, vb.) çalıştırmak için Kendi Kendine Yönetilen Uzak MCP Sunucusu bölümüne bakın.
Cursor
Ön koşullar:
- CircleCI Kişisel API belirteci (daha fazla bilgi)
- NPX: Node.js >= v18 ve pnpm
- Docker: Docker
Yerel bir MCP Sunucusunda NPX Kullanma
Cursor MCP yapılandırmanıza aşağıdakini ekleyin:
{
"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_URListeğe bağlıdır — yalnızca şirket içi müşteriler için gereklidir.MAX_MCP_OUTPUT_LENGTHisteğe bağlıdır — MCP yanıtları için maksimum çıktı uzunluğu (varsayılan: 50000).
Yerel bir MCP Sunucusunda Docker Kullanma
Cursor MCP yapılandırmanıza aşağıdakini ekleyin:
{
"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"
}
}
}
}
Kendi Kendine Yönetilen Uzak MCP Sunucusu Kullanma
Kendi Kendine Yönetilen Uzak MCP Sunucusu bölümüne bakın. Kullanıcı başına istemci yapılandırmasını kullanın ve Cursor MCP yapılandırmanıza ekleyin (Cursor Settings → MCP).
VS Code
Ön koşullar:
- CircleCI Kişisel API belirteci (daha fazla bilgi)
- NPX: Node.js >= v18 ve pnpm
- Docker: Docker
Yerel bir MCP Sunucusunda NPX Kullanma
Projenizdeki .vscode/mcp.json dosyasına aşağıdakini ekleyin:
{
"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}"
}
}
}
}
💡 Girdiler ilk sunucu başlatıldığında istenir, ardından VS Code tarafından güvenli bir şekilde saklanır.
Yerel bir MCP Sunucusunda Docker Kullanma
Projenizdeki .vscode/mcp.json dosyasına aşağıdakini ekleyin:
{
"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}"
}
}
}
}
Kendi Kendine Yönetilen Uzak MCP Sunucusu Kullanma
Kendi Kendine Yönetilen Uzak MCP Sunucusu bölümüne bakın. .vscode/mcp.json içindeki kullanıcı başına istemci yapılandırmasını kullanın.
Claude Desktop
Ön koşullar:
- CircleCI Kişisel API belirteci (daha fazla bilgi)
- NPX: Node.js >= v18 ve pnpm
- Docker: Docker
Yerel bir MCP Sunucusunda NPX Kullanma
claude_desktop_config.json dosyanıza aşağıdakini ekleyin:
{
"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"
}
}
}
}
Yerel bir MCP Sunucusunda Docker Kullanma
claude_desktop_config.json dosyanıza aşağıdakini ekleyin:
{
"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"
}
}
}
}
Kendi Kendine Yönetilen Uzak MCP Sunucusu Kullanma
Kendi Kendine Yönetilen Uzak MCP Sunucusu bölümüne bakın. Claude Desktop ve CLI istemcileri bölümünde gösterildiği gibi bir sarmalayıcı betik oluşturun, ardından claude_desktop_config.json dosyanızı ona yönlendirin.
Yapılandırma dosyanızı bulmak veya oluşturmak için Claude Desktop ayarlarını açın, sol kenar çubuğunda Geliştirici seçeneğine tıklayın, ardından Yapılandırmayı Düzenle seçeneğine tıklayın. Yapılandırma dosyası şu konumdadır:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Daha fazla bilgi için: https://modelcontextprotocol.io/quickstart/user
Claude Code
Ön koşullar:
- CircleCI Kişisel API belirteci (daha fazla bilgi)
- NPX: Node.js >= v18 ve pnpm
- Docker: Docker
Yerel bir MCP Sunucusunda NPX Kullanma
claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx -y @circleci/mcp-server-circleci@latest
Yerel bir MCP Sunucusunda Docker Kullanma
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
Kendi Kendine Yönetilen Uzak MCP Sunucusu Kullanma
Kendi Kendine Yönetilen Uzak MCP Sunucusu ve oradaki Claude Code istemci kurulumuna bakın.
Windsurf
Ön koşullar:
- CircleCI Kişisel API belirteci (daha fazla bilgi)
- NPX: Node.js >= v18 ve pnpm
- Docker: Docker
Yerel bir MCP Sunucusunda NPX Kullanma
Windsurf mcp_config.json dosyanıza aşağıdakini ekleyin:
{
"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"
}
}
}
}
Yerel bir MCP Sunucusunda Docker Kullanma
Windsurf mcp_config.json dosyanıza aşağıdakini ekleyin:
{
"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"
}
}
}
}
Kendi Kendine Yönetilen Uzak MCP Sunucusu Kullanma
Kendi Kendine Yönetilen Uzak MCP Sunucusu bölümüne bakın. Windsurf mcp_config.json dosyanızdaki kullanıcı başına istemci yapılandırmasını kullanın.
Daha fazla bilgi için: https://docs.windsurf.com/windsurf/mcp
Amazon Q Developer CLI
Ön koşullar:
Amazon Q Developer'da MCP istemci yapılandırması, mcp.json adlı bir dosyada JSON formatında saklanır. İki yapılandırma düzeyi desteklenir:
- Genel:
~/.aws/amazonq/mcp.json— tüm çalışma alanları için geçerlidir - Çalışma Alanı:
.amazonq/mcp.json— geçerli çalışma alanına özeldir
Her iki dosya da mevcutsa, içerikleri birleştirilir. Çakışma durumunda, çalışma alanı yapılandırması önceliklidir.
Yerel bir MCP Sunucusunda NPX Kullanma
~/.aws/amazonq/mcp.json dosyasını düzenleyin veya aşağıdaki içerikle .amazonq/mcp.json oluşturun:
{
"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
}
}
}
Kendi Kendine Yönetilen Uzak MCP Sunucusu Kullanma
Kendi Kendine Yönetilen Uzak MCP Sunucusu bölümüne bakın. Claude Desktop ve CLI istemcileri bölümünde gösterildiği gibi bir sarmalayıcı betik kullanın, ardından q mcp add ile kaydedin.
IDE'de Amazon Q Developer
Ön koşullar:
Yerel bir MCP Sunucusunda NPX Kullanma
~/.aws/amazonq/mcp.json dosyasını düzenleyin veya aşağıdaki içerikle .amazonq/mcp.json oluşturun:
{
"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
}
}
}
Kendi Kendine Yönetilen Uzak MCP Sunucusu Kullanma
Kendi Kendine Yönetilen Uzak MCP Sunucusu bölümüne bakın. Claude Desktop ve CLI istemcileri bölümünde gösterildiği gibi bir sarmalayıcı betik kullanın, ardından MCP yapılandırma kullanıcı arayüzü aracılığıyla ekleyin:
- MCP yapılandırma kullanıcı arayüzüne erişin
- + sembolünü seçin
- Kapsamı seçin: genel veya yerel
- Bir ad girin (örn.
circleci-remote-mcp) - Aktarım protokolünü seçin: stdio
- Betiğinize giden komut yolunu girin
- Kaydet seçeneğine tıklayın
Smithery
CircleCI MCP Sunucusunu Smithery aracılığıyla Claude Desktop için otomatik olarak kurmak üzere:
npx -y @smithery/cli install @CircleCI-Public/mcp-server-circleci --client claude
Kendi Kendine Yönetilen Uzak MCP Sunucusu
MCP sunucusunu merkezi olarak çalıştırın (örneğin Kubernetes veya Docker üzerinde), böylece ekibiniz tek bir dağıtımı paylaşır. Geliştiricilerin nasıl kimlik doğrulayacağını seçin:
Bir dağıtım modu seçin
| Mod | Ne zaman kullanılır | Sunucu kurulumu | İstemci kurulumu | CircleCI denetim izi |
|---|---|---|---|---|
| Kullanıcı başına belirteçler (önerilir) | SSO destekli Kişisel API Belirteçlerine sahip ekipler | REQUIRE_REQUEST_TOKEN=true, sunucu PAT'si yok | Her geliştirici kendi PAT'sini iletir | Geliştirici başına |
| Paylaşılan belirteç (geçici) | Hızlı kullanıma sunma, tek hizmet kimliği uygun | Sunucuda CIRCLECI_TOKEN, REQUIRE_REQUEST_TOKEN=false (açıkça devre dışı bırakma) | Yetkilendirme başlığı gerekmez | Tek paylaşılan kimlik |
Güvenlik: İstek kimlik doğrulaması uzak modda varsayılan olarak açıktır. Paylaşılan belirteç modu bunu devre dışı bırakır (
REQUIRE_REQUEST_TOKEN=false), böylece her arayan, kimlik bilgisi olmadan sunucununCIRCLECI_TOKENkimliği gibi hareket edebilir. Yalnızca tamamen güvendiğiniz bir ağda etkinleştirin ve aksi takdirde kullanıcı başına belirteçleri tercih edin. TLS'yi bir giriş noktasında sonlandırmak şifreleme sağlar, kimlik doğrulama değil.
1. Sunucuyu dağıtın
Her iki mod da uzak HTTP modunu kullanır (start=remote). 8000 bağlantı noktasını (veya seçtiğiniz bağlantı noktasını) yayınlayın.
Kullanıcı başına belirteçler (önerilir):
docker run --rm -p 8000:8000 \
-e start=remote \
-e port=8000 \
-e REQUIRE_REQUEST_TOKEN=true \
circleci/mcp-server-circleci
Paylaşılan belirteç (geçici):
docker run --rm -p 8000:8000 \
-e start=remote \
-e port=8000 \
-e CIRCLECI_TOKEN=your-shared-circleci-pat \
-e REQUIRE_REQUEST_TOKEN=false \
circleci/mcp-server-circleci
Ortam değişkenleri:
| Değişken | Açıklama |
|---|---|
start=remote | Stdio yerine HTTP+SSE MCP sunucusunu başlatır |
port | Konteyner içindeki dinleme bağlantı noktası (varsayılan: 8000) |
REQUIRE_REQUEST_TOKEN | Authorization: Bearer veya Circle-Token başlığı olmayan istekleri reddeder. Varsayılan olarak gereklidir; kimlik doğrulanmamış isteklere izin vermek için REQUIRE_REQUEST_TOKEN=false olarak ayarlayın (paylaşılan belirteç modu) |
CIRCLECI_TOKEN | Kullanıcı başına başlıklar gönderilmediğinde tüm istekler için paylaşılan yedek PAT |
CIRCLECI_BASE_URL | İsteğe bağlı — yalnızca şirket içi için gereklidir (varsayılan: https://circleci.com) |
DISABLE_TELEMETRY=true | Kullanım metrikleri dışa aktarımından çıkın |
Sunucu, istek başına belirteçleri şu yollarla kabul eder:
Authorization: Bearer <circleci-pat>Circle-Token: <circleci-pat>
Bir istemci bir başlık belirteci gönderirse, sunucudaki CIRCLECI_TOKEN yerine öncelikli olur.
Bir istek sırasında kaydedilen telemetri metrikleri, o istekle aynı belirteç kullanılarak dışa aktarılır.
2. İstemcileri yapılandırın
Çoğu MCP istemcisi yalnızca yerel (stdio) süreçleri destekler. Bunları uzak sunucunuza bağlamak için üçüncü taraf bir stdio-HTTP köprüsü olan mcp-remote kullanın.
URL şeması: Yerel test için
http://localhost:8000/mcpile--allow-httpkullanın. Üretimde, TLS'yi giriş/dengeleyicinizde sonlandırın ve--allow-httpolmadanhttps://your-host/mcpkullanın.
Windows:
--headerdeğerlerinde iki nokta üst üste etrafında boşluk bırakmaktan kaçının. TamBearer <token>değerini bir ortam değişkenine koyun.
Güvenlik: Örnekler kolaylık sağlamak için
npxkullanır. Üretim veya ekip dağıtımları için MCP yapılandırmanızda belirli bir sürümü sabitleyin (örneğinmcp-remoteyerine[email protected]).0.1.16altındaki sürümleri kullanmayın (CVE-2025-6514).
İstemci yapılandırması: kullanıcı başına belirteçler
Her geliştirici, her istekte kendi CircleCI Kişisel API Belirtecini iletir:
{
"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}"
}
}
}
}
http://localhost:8000/mcp kısmını ekibinizin sunucu URL'si ile değiştirin. Cursor ve VS Code ${input:...} istemlerini destekler; diğer istemciler AUTH_HEADER değerini doğrudan ayarlayabilir.
İstemci yapılandırması: paylaşılan token
Sunucuda CIRCLECI_TOKEN ayarlandığında ve REQUIRE_REQUEST_TOKEN=false ile başlatıldığında (istek kimlik doğrulaması varsayılan olarak açıktır ve açıkça devre dışı bırakılması gerekir), istemcilerin bir token göndermesine gerek kalmaz:
{
"mcpServers": {
"circleci-mcp-server-remote": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8000/mcp",
"--allow-http"
]
}
}
}
Claude Desktop ve CLI istemcileri
Bir sarmalayıcı betik oluşturun (örn. 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}"
Çalıştırılabilir yapın (chmod +x circleci-remote-mcp.sh), ardından MCP yapılandırmanızdan buna başvurun:
{
"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}"
Paylaşılan token sunucusu kullanırken --header ve AUTH_HEADER öğelerini atlayın.
3. Dağıtımı doğrulayın
# 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
Çalışırken izleyin
Örnek: "Dalımdaki en son başarısız pipeline'ı bul ve günlükleri getir" — daha fazla örnek için wiki sayfasına bakın.
https://github.com/user-attachments/assets/3c765985-8827-442a-a8dc-5069e01edb74
Araç Detayları
analyze_diff
Kural ihlallerini belirlemek için git diff'lerini imleç kurallarına göre analiz eder.
Sağlayın:
- Git diff içeriği (örn.
git diff --cached,git diff HEAD) .cursorrulesveya.cursor/rulesdosyasından depo kuralları
Güven puanları ve açıklamalarla birlikte ayrıntılı ihlal raporları döndürür.
Şunlar için kullanışlıdır:
- Commit öncesi kod kalite kontrolleri
- Ekip kodlama standartlarıyla tutarlılığı sağlama
- Kod incelemesinden önce kural ihlallerini yakalama
config_helper
Rehberlik ve doğrulama sağlayarak CircleCI yapılandırma görevlerine yardımcı olur.
.circleci/config.ymldosyanızı sözdizimi ve anlamsal hatalara karşı doğrular- Ayrıntılı doğrulama sonuçları ve yapılandırma önerileri sağlar
- Örnek: "CircleCI yapılandırmamı doğrula"
create_prompt_template
Özellik gereksinimlerine dayalı olarak AI özellikli uygulamalar için yapılandırılmış istem şablonları oluşturur.
- Kullanıcı gereksinimlerini optimize edilmiş istem şablonlarına dönüştürür
- Yapılandırılmış bir şablon ve gerekli girdi parametrelerini tanımlayan bir bağlam şeması döndürür
- Örnek: "Yaşa ve konuya göre uyku öncesi hikayeleri oluşturmak için bir istem şablonu oluştur"
download_usage_api_data
Belirli bir organizasyon için CircleCI Kullanım API'sinden kullanım verilerini indirir. Esnek tarih girişini kabul eder (örn., "Mart 2025" veya "geçen ay"). Yalnızca bulut özelliğidir.
Seçenek 1: Aşağıdakileri sağlayarak yeni bir dışa aktarma işi başlatın:
orgId,startDate,endDate(en fazla 32 gün),outputDir
Seçenek 2: Aşağıdakileri sağlayarak mevcut bir dışa aktarma işini kontrol edin/indirin:
orgId,jobId,outputDir
Belirtilen zaman aralığı için CircleCI kullanım verilerini içeren bir CSV dosyası döndürür.
[!NOTE] Kullanım verileri, maliyet optimizasyonu analizi için
find_underused_resource_classesaracına beslenebilir.
find_flaky_tests
Test yürütme geçmişini analiz ederek CircleCI projenizdeki kararsız testleri belirler. CircleCI'daki kararsız test algılama özelliğinden yararlanır.
Bu araç üç şekilde kullanılabilir:
-
Proje Slug'ı Kullanarak (Önerilen):
- Önce projelerinizi almak için
list_followed_projectskullanın, ardından: - Örnek: "my-project için kararsız testleri getir"
- Önce projelerinizi almak için
-
CircleCI Proje URL'si Kullanarak:
- Örnek: "https://app.circleci.com/pipelines/github/org/repo adresindeki kararsız testleri bul"
-
Yerel Proje Bağlamı Kullanarak:
- Çalışma alanı kökü ve git remote URL'si sağlayarak yerel çalışma alanınızdan çalışır
- Örnek: "Mevcut projemdeki kararsız testleri bul"
Çıktı modları:
- Metin (varsayılan): Kararsız test ayrıntılarını metin biçiminde döndürür
- Dosya (
FILE_OUTPUT_DIRECTORYortam değişkeni gerektirir): Kararsız test ayrıntılarını içeren bir dizin oluşturur
find_underused_resource_classes
Ortalama veya maksimum CPU/RAM kullanımı belirli bir eşiğin altında olan işleri bulmak için bir CircleCI kullanım verisi CSV dosyasını analiz eder (varsayılan: %40).
download_usage_api_data aracından elde edilen bir CSV dosyası sağlayın.
Proje ve iş akışına göre düzenlenmiş, az kullanılan işlerin bir markdown listesini döndürür — maliyet optimizasyonu fırsatlarını belirlemek için kullanışlıdır.
get_build_failure_logs
CircleCI derlemelerinden ayrıntılı hata günlüklerini alır. Bu araç üç şekilde kullanılabilir:
-
Proje Slug'ı ve Dal Kullanarak (Önerilen):
- Önce projelerinizi almak için
list_followed_projectskullanın, ardından: - Örnek: "main dalındaki my-project için derleme hatalarını getir"
- Önce projelerinizi almak için
-
CircleCI URL'leri Kullanarak:
- Doğrudan başarısız bir iş URL'si veya pipeline URL'si sağlayın
- Örnek: "https://app.circleci.com/pipelines/github/org/repo/123 adresinden günlükleri al"
-
Yerel Proje Bağlamı Kullanarak:
- Çalışma alanı kökü, git remote URL'si ve dal adı sağlayarak yerel çalışma alanınızdan çalışır
- Örnek: "Mevcut dalımdaki en son başarısız pipeline'ı bul"
Araç, aşağıdakileri içeren biçimlendirilmiş günlükler döndürür:
- İş adları
- Adım adım yürütme ayrıntıları
- Hata mesajları ve bağlam
get_job_test_results
CircleCI işleri için test meta verilerini alır, IDE'nizden ayrılmadan test sonuçlarını analiz etmenizi sağlar. Bu araç üç şekilde kullanılabilir:
-
Proje Slug'ı ve Dal Kullanarak (Önerilen):
- Örnek: "main dalındaki my-project için test sonuçlarını getir"
-
CircleCI URL'si Kullanarak:
- İş URL'si:
https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def/jobs/789 - İş Akışı URL'si:
https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def - Pipeline URL'si:
https://app.circleci.com/pipelines/github/org/repo/123
- İş URL'si:
-
Yerel Proje Bağlamı Kullanarak:
- Çalışma alanı kökü, git remote URL'si ve dal adı sağlayarak yerel çalışma alanınızdan çalışır
Araç şunları döndürür:
- Tüm testlerin özeti (toplam, başarılı, başarısız)
- Başarısız testler hakkında ayrıntılı bilgi: ad, sınıf, dosya, hata mesajı, süre
- Zamanlama ile başarılı testlerin listesi
- Test sonucuna göre filtreleme
[!NOTE] Test meta verileri CircleCI yapılandırmanızda yapılandırılmalıdır. Kurulum talimatları için Test Verilerini Toplama sayfasına bakın.
get_latest_pipeline_status
Belirli bir dal için en son pipeline'ın durumunu alır. Bu araç üç şekilde kullanılabilir:
-
Proje Slug'ı ve Dal Kullanarak (Önerilen):
- Örnek: "main dalındaki my-project için en son pipeline'ın durumunu getir"
-
CircleCI Proje URL'si Kullanarak:
- Örnek: "https://app.circleci.com/pipelines/github/org/repo için en son pipeline'ın durumunu getir"
-
Yerel Proje Bağlamı Kullanarak:
- Çalışma alanı kökü, git remote URL'si ve dal adı sağlayarak yerel çalışma alanınızdan çalışır
Örnek çıktı:
---
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
Bir CircleCI işi tarafından üretilen yapıtların listesini alır. Bu araç üç şekilde kullanılabilir:
-
Proje Slug'ı ve Dal Kullanarak (Önerilen):
- Önce projelerinizi almak için
list_followed_projectskullanın, ardından: - Örnek: "main dalındaki my-project için yapıtları listele"
- Önce projelerinizi almak için
-
CircleCI URL'si Kullanarak:
- İş URL'si:
https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def/jobs/789 - İş Akışı URL'si:
https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def - Pipeline URL'si:
https://app.circleci.com/pipelines/gh/organization/project/123
- İş URL'si:
-
Yerel Proje Bağlamı Kullanarak:
- Çalışma alanı kökü, git remote URL'si ve dal adı sağlayarak yerel çalışma alanınızdan çalışır
Şunlar için kullanışlıdır:
- Derleme yapıtları (ikili dosyalar, raporlar, günlükler) için indirme URL'lerini bulma
- Bir pipeline çalıştırması tarafından hangi yapıtların üretildiğini kontrol etme
list_component_versions
Bir ortamdaki belirli bir CircleCI bileşeni için tüm sürümleri listeler. Dağıtım durumunu, commit bilgilerini ve zaman damgalarını içerir.
Sağlanmazsa araç, bileşeni ve ortamı seçmenizi isteyecektir.
Şunlar için kullanışlıdır:
- Hangi sürümün şu anda canlı olduğunu belirleme
- Geri alma işlemleri için hedef sürümleri seçme
- Dağıtım ayrıntılarını alma (pipeline, iş akışı, iş)
list_followed_projects
Kullanıcının CircleCI'da takip ettiği tüm projeleri listeler.
- Erişiminiz olan tüm projeleri
projectSlugile birlikte gösterir - Örnek: "CircleCI projelerimi listele"
Örnek çıktı:
Projects followed:
1. my-project (projectSlug: gh/organization/my-project)
2. another-project (projectSlug: gh/organization/another-project)
[!NOTE]
projectSlug(proje adı değil), diğer birçok CircleCI aracı için gereklidir.
recommend_prompt_template_tests
Beklenen sonuçları ürettiklerinden emin olmak için istem şablonları için test senaryoları oluşturur.
- İstem şablonunuza ve bağlam şemanıza dayalı olarak çeşitli test senaryoları oluşturur
- Çeşitli parametre kombinasyonlarına sahip önerilen test senaryolarından oluşan bir dizi döndürür
- Örnek: "Uyku öncesi hikaye istem şablonum için testler oluştur"
rerun_workflow
Bir iş akışını baştan veya başarısız olan işten itibaren yeniden çalıştırır.
Yeni oluşturulan iş akışının kimliğini ve onu izlemek için bir bağlantı döndürür.
run_evaluation_tests
Bir CircleCI pipeline'ında değerlendirme testlerini ("İstem Testleri" olarak da bilinir) çalıştırır. Uygun bir CircleCI yapılandırması oluşturur ve bunu kullanarak bir pipeline tetikler.
Bu araç üç şekilde kullanılabilir:
-
Proje Slug'ı ve Dal Kullanarak (Önerilen):
- Önce projelerinizi almak için
list_followed_projectskullanın, ardından: - Örnek: "main dalındaki my-project için değerlendirme testlerini çalıştır"
- Önce projelerinizi almak için
-
CircleCI URL'si Kullanarak:
- Proje URL'si, Pipeline URL'si, İş Akışı URL'si veya İş URL'si
- Örnek: "https://app.circleci.com/pipelines/gh/organization/project/123 için değerlendirme testlerini çalıştır"
-
Yerel Proje Bağlamı Kullanarak:
- Çalışma alanı kökü, git remote URL'si ve dal adı sağlayarak yerel çalışma alanınızdan çalışır
Araç, istem şablonu dosyalarını kabul eder ve tetiklenen pipeline'ı izlemek için bir URL döndürür.
[!NOTE] Projenin birden fazla pipeline tanımı varsa, araç seçmeniz için mevcut pipeline'ların bir listesini döndürecektir.
run_pipeline
Bir pipeline'ı çalıştırmak için tetikler. Bu araç üç şekilde kullanılabilir:
-
Proje Slug'ı ve Dal Kullanarak (Önerilen):
- Örnek: "main dalındaki my-project için pipeline'ı çalıştır"
-
CircleCI URL'si Kullanarak:
- Pipeline URL'si, İş Akışı URL'si, İş URL'si veya dallı Proje URL'si
- Örnek: "https://app.circleci.com/pipelines/github/org/repo/123 için pipeline'ı çalıştır"
-
Yerel Proje Bağlamı Kullanarak:
- Çalışma alanı kökü, git remote URL'si ve dal adı sağlayarak yerel çalışma alanınızdan çalışır
Araç, pipeline yürütmesini izlemek için bir bağlantı döndürür.
run_rollback_pipeline
Bir CircleCI projesi için geri alma işlemini tetikler. Araç, etkileşimli olarak size şu adımlarda rehberlik eder:
- Proje Seçimi — seçim yapmanız için takip edilen projeleri listeler
- Ortam Seçimi — mevcut ortamları listeler (yalnızca bir tane varsa otomatik seçer)
- Bileşen Seçimi — mevcut bileşenleri listeler (yalnızca bir tane varsa otomatik seçer)
- Sürüm Seçimi — mevcut sürümleri gösterir; geri alma için hedefi seçersiniz
- Geri Alma Modu Tespiti — bir geri alma ardışık düzeninin yapılandırılıp yapılandırılmadığını kontrol eder
- Geri Almayı Yürüt — iki seçenek:
- Ardışık Düzen Geri Alması: geri alma ardışık düzenini tetikler
- İş Akışı Yeniden Çalıştırma: iş akışı kimliğini kullanarak önceki bir iş akışını yeniden çalıştırır
- Onay — yürütmeden önce özetler ve onay ister
Sorun Giderme
Hızlı Çözümler
En yaygın sorunlar:
-
Paket önbelleklerini temizleyin:
npx clear-npx-cache npm cache clean --force -
En son sürüme zorlayın: Yapılandırmanıza
@latestekleyin:"args": ["-y", "@circleci/mcp-server-circleci@latest"] -
IDE'nizi tamamen yeniden başlatın (sadece pencereyi yeniden yüklemeyin)
Kimlik Doğrulama Sorunları
- Geçersiz belirteç hataları: Kişisel API Belirteçleri sayfasından
CIRCLECI_TOKENdoğrulayın - İzin hataları: Belirtecin projelerinize okuma erişimi olduğundan emin olun
- Ortam değişkenleri yüklenmiyor:
echo $CIRCLECI_TOKEN(Mac/Linux) veyaecho %CIRCLECI_TOKEN%(Windows) ile test edin
Bağlantı ve Ağ Sorunları
- Temel URL:
CIRCLECI_BASE_URLadresininhttps://circleci.comolduğunu doğrulayın - Kurumsal ağlar: Bir güvenlik duvarının arkasındaysanız npm proxy ayarlarını yapılandırın
- Güvenlik duvarı engellemesi: Güvenlik yazılımının paket indirmelerini engelleyip engellemediğini kontrol edin
Sistem Gereksinimleri
- Node.js sürümü:
node --versionile >= 18.0.0 olduğundan emin olun - Node.js'i güncelleyin: Uyumluluk sorunları yaşıyorsanız en son LTS sürümünü değerlendirin
- Paket yöneticisi: npm/pnpm'in çalıştığını doğrulayın:
npm --version
IDE'ye Özgü Sorunlar
- Yapılandırma dosyası konumu: İşletim sisteminiz için yolu iki kez kontrol edin
- Sözdizimi hataları: Yapılandırma dosyanızdaki JSON sözdizimini doğrulayın
- Konsol günlükleri: Belirli hatalar için IDE geliştirici konsolunu kontrol edin
- Farklı bir IDE deneyin: Sorunu izole etmek için desteklenen başka bir düzenleyicide test edin
İşlem Sorunları
Asılı kalan işlemler — mevcut MCP işlemlerini sonlandırın:
# Mac/Linux:
pkill -f "mcp-server-circleci"
# Windows:
taskkill /f /im node.exe
Bağlantı noktası çakışmaları: Bağlantı engellenmiş gibi görünüyorsa IDE'nizi yeniden başlatın.
Gelişmiş Hata Ayıklama
- Paketi doğrudan test edin:
npx @circleci/mcp-server-circleci@latest --help - Ayrıntılı günlükleme:
DEBUG=* npx @circleci/mcp-server-circleci@latest - Docker yedeği: npx sürekli başarısız olursa Docker kurulumunu deneyin
Hâlâ yardıma mı ihtiyacınız var?
- Benzer sorunlar için GitHub Sorunları sayfasını kontrol edin
- Sorun bildirirken işletim sisteminizi, Node sürümünüzü ve IDE'nizi ekleyin
- IDE konsolundan ilgili hata mesajlarını paylaşın
Telemetri
Sunucu, araç kullanımını izlemek için OpenTelemetry metriklerini destekler. DISABLE_TELEMETRY=true ayarlamadığınız sürece metrikler dışa aktarılır. Uzak dağıtımlarda metrikler, istekle aynı belirteci kullanır (kullanıcı başına PAT veya paylaşılan sunucu PAT'i).
| Metrik | Açıklama |
|---|---|
circleci.mcp.tool.invocations | Araç çağrılma sayısı |
circleci.mcp.tool.duration_ms | Milisaniye cinsinden yürütme süresi |
circleci.mcp.tool.errors | Hata sayısı |
Geliştirme
Başlarken
-
Depoyu klonlayın:
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git cd mcp-server-circleci -
Bağımlılıkları yükleyin:
pnpm install -
Projeyi derleyin:
pnpm build
Docker Konteyneri Oluşturma
Docker konteynerini yerel olarak şu komutla oluşturabilirsiniz:
docker build -t circleci:mcp-server-circleci .
Bu, herhangi bir MCP istemcisiyle kullanabileceğiniz circleci:mcp-server-circleci olarak etiketlenmiş bir Docker imajı oluşturacaktır.
Yerel stdio modu (tek geliştirici, belirteç istemcide):
docker run --rm -i \
-e CIRCLECI_TOKEN=your-circleci-token \
-e CIRCLECI_BASE_URL=https://circleci.com \
circleci/mcp-server-circleci
Uzak mod (bir ekip için merkezi sunucu): Kendi Kendine Yönetilen Uzak MCP Sunucusu sayfasına bakın.
MCP Inspector ile Geliştirme
MCP Sunucusu üzerinde yineleme yapmanın en kolay yolu MCP inspector kullanmaktır. MCP inspector hakkında daha fazla bilgiyi https://modelcontextprotocol.io/docs/tools/inspector adresinde bulabilirsiniz.
-
Geliştirme sunucusunu başlatın:
pnpm watch # Keep this running in one terminal -
Ayrı bir terminalde inspector'ı başlatın:
pnpm inspector -
Ortamı yapılandırın:
- Inspector kullanıcı arayüzündeki Ortam Değişkenleri bölümüne
CIRCLECI_TOKENekleyin - Belirtecin CircleCI projelerinize okuma erişimi olması gerekir
- İsteğe bağlı olarak CircleCI Temel URL'nizi ayarlayın (varsayılan
https://circleci.com)
- Inspector kullanıcı arayüzündeki Ortam Değişkenleri bölümüne
Test
-
Test paketini çalıştırın:
pnpm test -
Geliştirme sırasında testleri izleme modunda çalıştırın:
pnpm test:watch
Daha ayrıntılı katkı yönergeleri için CONTRIBUTING.md sayfasına bakın.