CircleCI MCP Server
oficialPermita que Agentes de IA corrijam falhas de build do CircleCI.
Documentação
Servidor MCP do CircleCI
O Model Context Protocol (MCP) é um novo protocolo padronizado para gerenciar o contexto entre modelos de linguagem de grande porte (LLMs) e sistemas externos. Neste repositório, fornecemos um Servidor MCP para o CircleCI.
Use o Cursor, Windsurf, Copilot, Claude ou qualquer cliente compatível com MCP para interagir com o CircleCI usando linguagem natural — sem sair do seu IDE.
Ferramentas
| Ferramenta | Descrição |
|---|---|
analyze_diff | Analisa diffs do git em relação às regras do cursor para encontrar violações |
config_helper | Valida e fornece orientação para sua configuração do CircleCI |
create_prompt_template | Gera modelos de prompt estruturados para aplicações de IA |
download_usage_api_data | Baixa dados de uso da API de Uso do CircleCI |
find_flaky_tests | Identifica testes instáveis analisando o histórico de execução de testes |
find_underused_resource_classes | Encontra jobs com recursos de computação subutilizados |
get_build_failure_logs | Recupera logs detalhados de falha de builds do CircleCI |
get_job_test_results | Recupera metadados e resultados de testes para jobs do CircleCI |
get_latest_pipeline_status | Obtém o status do pipeline mais recente para uma branch |
list_artifacts | Lista artefatos produzidos por um job do CircleCI |
list_component_versions | Lista todas as versões de um componente do CircleCI |
list_followed_projects | Lista todos os projetos do CircleCI que você está seguindo |
recommend_prompt_template_tests | Gera casos de teste para modelos de prompt |
rerun_workflow | Reexecuta um workflow do início ou a partir do job com falha |
run_evaluation_tests | Executa testes de avaliação em um pipeline do CircleCI |
run_pipeline | Aciona a execução de um pipeline |
run_rollback_pipeline | Aciona um rollback para um projeto |
Instalação
Implantação em equipe / centralizada: Para executar um servidor remoto compartilhado para sua organização (Kubernetes, Docker, etc.) com tokens do CircleCI por desenvolvedor ou compartilhados, consulte Servidor MCP Remoto Autogerenciado.
Cursor
Pré-requisitos:
- Token de API Pessoal do CircleCI (saiba mais)
- NPX: Node.js >= v18 e pnpm
- Docker: Docker
Usando NPX em um Servidor MCP local
Adicione o seguinte à sua configuração MCP do Cursor:
{
"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_URLé opcional — necessário apenas para clientes on-prem.MAX_MCP_OUTPUT_LENGTHé opcional — comprimento máximo de saída para respostas MCP (padrão: 50000).
Usando Docker em um Servidor MCP local
Adicione o seguinte à sua configuração MCP do Cursor:
{
"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"
}
}
}
}
Usando um Servidor MCP Remoto Autogerenciado
Consulte Servidor MCP Remoto Autogerenciado. Use a configuração de cliente por usuário e adicione-a à sua configuração MCP do Cursor (Cursor Settings → MCP).
VS Code
Pré-requisitos:
- Token de API Pessoal do CircleCI (saiba mais)
- NPX: Node.js >= v18 e pnpm
- Docker: Docker
Usando NPX em um Servidor MCP local
Adicione o seguinte ao .vscode/mcp.json no seu projeto:
{
"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}"
}
}
}
}
💡 As entradas são solicitadas na primeira inicialização do servidor e, em seguida, armazenadas com segurança pelo VS Code.
Usando Docker em um Servidor MCP local
Adicione o seguinte ao .vscode/mcp.json no seu projeto:
{
"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}"
}
}
}
}
Usando um Servidor MCP Remoto Autogerenciado
Consulte Servidor MCP Remoto Autogerenciado. Use a configuração de cliente por usuário no .vscode/mcp.json.
Claude Desktop
Pré-requisitos:
- Token de API Pessoal do CircleCI (saiba mais)
- NPX: Node.js >= v18 e pnpm
- Docker: Docker
Usando NPX em um Servidor MCP local
Adicione o seguinte ao seu claude_desktop_config.json:
{
"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"
}
}
}
}
Usando Docker em um Servidor MCP local
Adicione o seguinte ao seu claude_desktop_config.json:
{
"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"
}
}
}
}
Usando um Servidor MCP Remoto Autogerenciado
Consulte Servidor MCP Remoto Autogerenciado. Crie um script wrapper conforme mostrado em Clientes Claude Desktop e CLI e, em seguida, aponte seu claude_desktop_config.json para ele.
Para localizar ou criar seu arquivo de configuração, abra as configurações do Claude Desktop, clique em Developer na barra lateral esquerda e, em seguida, clique em Edit Config. O arquivo de configuração está localizado em:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Para mais informações: https://modelcontextprotocol.io/quickstart/user
Claude Code
Pré-requisitos:
- Token de API Pessoal do CircleCI (saiba mais)
- NPX: Node.js >= v18 e pnpm
- Docker: Docker
Usando NPX em um Servidor MCP local
claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx -y @circleci/mcp-server-circleci@latest
Usando Docker em um Servidor MCP local
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
Usando um Servidor MCP Remoto Autogerenciado
Consulte Servidor MCP Remoto Autogerenciado e a configuração do cliente Claude Code lá.
Windsurf
Pré-requisitos:
- Token de API Pessoal do CircleCI (saiba mais)
- NPX: Node.js >= v18 e pnpm
- Docker: Docker
Usando NPX em um Servidor MCP local
Adicione o seguinte ao seu mcp_config.json do Windsurf:
{
"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"
}
}
}
}
Usando Docker em um Servidor MCP local
Adicione o seguinte ao seu mcp_config.json do Windsurf:
{
"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"
}
}
}
}
Usando um Servidor MCP Remoto Autogerenciado
Consulte Servidor MCP Remoto Autogerenciado. Use a configuração de cliente por usuário no seu mcp_config.json do Windsurf.
Para mais informações: https://docs.windsurf.com/windsurf/mcp
Amazon Q Developer CLI
Pré-requisitos:
A configuração do cliente MCP no Amazon Q Developer é armazenada em formato JSON em um arquivo chamado mcp.json. Dois níveis de configuração são suportados:
- Global:
~/.aws/amazonq/mcp.json— aplica-se a todos os workspaces - Workspace:
.amazonq/mcp.json— específico para o workspace atual
Se ambos os arquivos existirem, seus conteúdos são mesclados. Em caso de conflito, a configuração do workspace tem precedência.
Usando NPX em um Servidor MCP local
Edite ~/.aws/amazonq/mcp.json ou crie .amazonq/mcp.json com o seguinte:
{
"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
}
}
}
Usando um Servidor MCP Remoto Autogerenciado
Consulte Servidor MCP Remoto Autogerenciado. Use um script wrapper conforme mostrado em Clientes Claude Desktop e CLI e, em seguida, registre-o com q mcp add.
Amazon Q Developer no IDE
Pré-requisitos:
Usando NPX em um Servidor MCP local
Edite ~/.aws/amazonq/mcp.json ou crie .amazonq/mcp.json com o seguinte:
{
"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
}
}
}
Usando um Servidor MCP Remoto Autogerenciado
Consulte Servidor MCP Remoto Autogerenciado. Use um script wrapper conforme mostrado em Clientes Claude Desktop e CLI e, em seguida, adicione-o através da interface de configuração MCP:
- Acesse a interface de configuração MCP
- Escolha o símbolo +
- Selecione o escopo: global ou local
- Insira um nome (ex.:
circleci-remote-mcp) - Selecione o protocolo de transporte: stdio
- Insira o caminho do comando para seu script
- Clique em Save
Smithery
Para instalar o Servidor MCP do CircleCI para Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @CircleCI-Public/mcp-server-circleci --client claude
Servidor MCP Remoto Autogerenciado
Execute o servidor MCP centralmente (por exemplo, no Kubernetes ou Docker) para que sua equipe compartilhe uma única implantação. Escolha como os desenvolvedores se autenticam:
Escolha um modo de implantação
| Modo | Quando usar | Configuração do servidor | Configuração do cliente | Trilha de auditoria do CircleCI |
|---|---|---|---|---|
| Tokens por usuário (recomendado) | Equipes com Tokens de API Pessoais vinculados ao SSO | REQUIRE_REQUEST_TOKEN=true, sem PAT no servidor | Cada dev encaminha seu PAT | Por desenvolvedor |
| Token compartilhado (provisório) | Implantação rápida, identidade de serviço única é aceitável | CIRCLECI_TOKEN no servidor, REQUIRE_REQUEST_TOKEN=false (exclusão explícita) | Nenhum cabeçalho de autenticação necessário | Identidade compartilhada única |
Segurança: A autenticação de solicitação está ativada por padrão no modo remoto. O modo de token compartilhado a desativa (
REQUIRE_REQUEST_TOKEN=false), permitindo que qualquer chamador atue como a identidadeCIRCLECI_TOKENdo servidor sem credenciais. Habilite-o apenas em uma rede totalmente confiável e prefira tokens por usuário caso contrário. Terminar o TLS em um ingress fornece criptografia, não autenticação.
1. Implante o servidor
Ambos os modos usam o modo HTTP remoto (start=remote). Publique a porta 8000 (ou a porta de sua escolha).
Tokens por usuário (recomendado):
docker run --rm -p 8000:8000 \
-e start=remote \
-e port=8000 \
-e REQUIRE_REQUEST_TOKEN=true \
circleci/mcp-server-circleci
Token compartilhado (provisório):
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
Variáveis de ambiente:
| Variável | Descrição |
|---|---|
start=remote | Inicia o servidor MCP HTTP+SSE em vez de stdio |
port | Porta de escuta dentro do contêiner (padrão: 8000) |
REQUIRE_REQUEST_TOKEN | Rejeita solicitações sem o cabeçalho Authorization: Bearer ou Circle-Token. Padrão: obrigatório; defina REQUIRE_REQUEST_TOKEN=false para permitir solicitações não autenticadas (modo de token compartilhado) |
CIRCLECI_TOKEN | PAT de fallback compartilhado para todas as solicitações quando cabeçalhos por usuário não são enviados |
CIRCLECI_BASE_URL | Opcional — necessário apenas para on-prem (padrão: https://circleci.com) |
DISABLE_TELEMETRY=true | Desativa a exportação de métricas de uso |
O servidor aceita tokens por solicitação via:
Authorization: Bearer <circleci-pat>Circle-Token: <circleci-pat>
Se um cliente enviar um token de cabeçalho, ele terá precedência sobre CIRCLECI_TOKEN no servidor.
As métricas de telemetria registradas durante uma solicitação são exportadas usando o mesmo token dessa solicitação.
2. Configure os clientes
A maioria dos clientes MCP suporta apenas processos locais (stdio). Use mcp-remote, uma ponte stdio-para-HTTP de terceiros, para conectá-los ao seu servidor remoto.
Esquema de URL: Use
http://localhost:8000/mcpcom--allow-httppara testes locais. Em produção, termine o TLS no seu ingress/load balancer e usehttps://your-host/mcpsem--allow-http.
Windows: Evite espaços ao redor dos dois pontos em valores
--header. Coloque o valor completo deBearer <token>em uma variável de ambiente.
Segurança: Os exemplos usam
npxpor conveniência. Para produção ou implantações em equipe, fixe uma versão específica na sua configuração MCP (por exemplo,[email protected]em vez demcp-remote). Não use versões abaixo de0.1.16(CVE-2025-6514).
Configuração do cliente: tokens por usuário
Cada desenvolvedor encaminha seu próprio Token de API Pessoal do CircleCI em cada solicitação:
{
"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}"
}
}
}
}
Substitua http://localhost:8000/mcp pela URL do servidor da sua equipe. Cursor e VS Code suportam prompts ${input:...}; outros clientes podem definir AUTH_HEADER diretamente.
Configuração do cliente: token compartilhado
Quando o servidor tem CIRCLECI_TOKEN definido e é iniciado com REQUIRE_REQUEST_TOKEN=false (a autenticação de solicitação está ativada por padrão e deve ser explicitamente desativada), os clientes não precisam enviar um token:
{
"mcpServers": {
"circleci-mcp-server-remote": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8000/mcp",
"--allow-http"
]
}
}
}
Clientes Claude Desktop e CLI
Crie um script wrapper (ex.: 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}"
Torne-o executável (chmod +x circleci-remote-mcp.sh) e, em seguida, faça referência a ele na sua configuração MCP:
{
"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}"
Omita --header e AUTH_HEADER ao usar um servidor de token compartilhado.
3. Verifique a implantação
# 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"}}}'
Demonstração
Veja em ação
Exemplo: "Encontre o pipeline com falha mais recente na minha branch e obtenha os logs" — veja a wiki para mais exemplos.
https://github.com/user-attachments/assets/3c765985-8827-442a-a8dc-5069e01edb74
Detalhes das Ferramentas
analyze_diff
Analisa diffs do git em relação às regras do cursor para identificar violações de regras.
Forneça:
- Conteúdo do git diff (ex.:
git diff --cached,git diff HEAD) - Regras do repositório de
.cursorrulesou.cursor/rules
Retorna relatórios detalhados de violação com pontuações de confiança e explicações.
Útil para:
- Verificações de qualidade de código pré-commit
- Garantir consistência com os padrões de codificação da equipe
- Capturar violações de regras antes da revisão de código
config_helper
Auxilia nas tarefas de configuração do CircleCI, fornecendo orientação e validação.
- Valida seu
.circleci/config.ymlem busca de erros de sintaxe e semântica - Fornece resultados de validação detalhados e recomendações de configuração
- Exemplo: "Valide minha configuração do CircleCI"
create_prompt_template
Gera modelos de prompt estruturados para aplicações habilitadas para IA com base nos requisitos do recurso.
- Transforma os requisitos do usuário em modelos de prompt otimizados
- Retorna um modelo estruturado e um esquema de contexto definindo os parâmetros de entrada necessários
- Exemplo: "Crie um modelo de prompt para gerar histórias de ninar por idade e tópico"
download_usage_api_data
Baixa dados de uso da API de Uso do CircleCI para uma determinada organização. Aceita entrada de data flexível (ex.: "Março de 2025" ou "mês passado"). Recurso apenas para nuvem.
Opção 1: Inicie um novo job de exportação fornecendo:
orgId,startDate,endDate(máx. 32 dias),outputDir
Opção 2: Verifique/baixe um job de exportação existente fornecendo:
orgId,jobId,outputDir
Retorna um arquivo CSV com dados de uso do CircleCI para o período especificado.
[!NOTE] Os dados de uso podem ser alimentados na ferramenta
find_underused_resource_classespara análise de otimização de custos.
find_flaky_tests
Identifica testes instáveis no seu projeto do CircleCI analisando o histórico de execução de testes. Aproveita o recurso de detecção de testes instáveis no CircleCI.
Esta ferramenta pode ser usada de três maneiras:
-
Usando o Project Slug (Recomendado):
- Primeiro use
list_followed_projectspara obter seus projetos e, em seguida: - Exemplo: "Obtenha testes instáveis para meu-projeto"
- Primeiro use
-
Usando a URL do Projeto no CircleCI:
- Exemplo: "Encontre testes instáveis em https://app.circleci.com/pipelines/github/org/repo"
-
Usando o Contexto do Projeto Local:
- Funciona a partir do seu workspace local, fornecendo a raiz do workspace e a URL remota do git
- Exemplo: "Encontre testes instáveis no meu projeto atual"
Modos de saída:
- Texto (padrão): Retorna detalhes dos testes instáveis em formato de texto
- Arquivo (requer a variável de ambiente
FILE_OUTPUT_DIRECTORY): Cria um diretório com detalhes dos testes instáveis
find_underused_resource_classes
Analisa um arquivo CSV de dados de uso do CircleCI para encontrar jobs com uso médio ou máximo de CPU/RAM abaixo de um determinado limite (padrão: 40%).
Forneça um arquivo CSV obtido de download_usage_api_data.
Retorna uma lista em markdown de jobs subutilizados organizados por projeto e workflow — útil para identificar oportunidades de otimização de custos.
get_build_failure_logs
Recupera logs detalhados de falha de builds do CircleCI. Esta ferramenta pode ser usada de três maneiras:
-
Usando Project Slug e Branch (Recomendado):
- Primeiro use
list_followed_projectspara obter seus projetos e, em seguida: - Exemplo: "Obtenha falhas de build para meu-projeto na branch main"
- Primeiro use
-
Usando URLs do CircleCI:
- Forneça uma URL de job com falha ou URL de pipeline diretamente
- Exemplo: "Obtenha logs de https://app.circleci.com/pipelines/github/org/repo/123"
-
Usando o Contexto do Projeto Local:
- Funciona a partir do seu workspace local, fornecendo a raiz do workspace, URL remota do git e nome da branch
- Exemplo: "Encontre o pipeline com falha mais recente na minha branch atual"
A ferramenta retorna logs formatados incluindo:
- Nomes dos jobs
- Detalhes da execução passo a passo
- Mensagens de falha e contexto
get_job_test_results
Recupera metadados de teste para jobs do CircleCI, permitindo que você analise os resultados dos testes sem sair do seu IDE. Esta ferramenta pode ser usada de três maneiras:
-
Usando Project Slug e Branch (Recomendado):
- Exemplo: "Obtenha resultados de teste para meu-projeto na branch main"
-
Usando URL do CircleCI:
- URL do Job:
https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def/jobs/789 - URL do Workflow:
https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def - URL do Pipeline:
https://app.circleci.com/pipelines/github/org/repo/123
- URL do Job:
-
Usando o Contexto do Projeto Local:
- Funciona a partir do seu workspace local, fornecendo a raiz do workspace, URL remota do git e nome da branch
A ferramenta retorna:
- Resumo de todos os testes (total, bem-sucedidos, com falha)
- Informações detalhadas sobre testes com falha: nome, classe, arquivo, mensagem de erro, duração
- Lista de testes bem-sucedidos com tempo
- Filtrar por resultado do teste
[!NOTE] Os metadados de teste devem ser configurados na sua configuração do CircleCI. Consulte Coletar Dados de Teste para instruções de configuração.
get_latest_pipeline_status
Recupera o status do pipeline mais recente para uma determinada branch. Esta ferramenta pode ser usada de três maneiras:
-
Usando Project Slug e Branch (Recomendado):
- Exemplo: "Obtenha o status do pipeline mais recente para meu-projeto na branch main"
-
Usando a URL do Projeto no CircleCI:
- Exemplo: "Obtenha o status do pipeline mais recente para https://app.circleci.com/pipelines/github/org/repo"
-
Usando o Contexto do Projeto Local:
- Funciona a partir do seu workspace local, fornecendo a raiz do workspace, URL remota do git e nome da branch
Exemplo de saída:
---
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
Recupera a lista de artefatos produzidos por um job do CircleCI. Esta ferramenta pode ser usada de três maneiras:
-
Usando Project Slug e Branch (Recomendado):
- Primeiro use
list_followed_projectspara obter seus projetos e, em seguida: - Exemplo: "Liste artefatos para meu-projeto na branch main"
- Primeiro use
-
Usando URL do CircleCI:
- URL do Job:
https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def/jobs/789 - URL do Workflow:
https://app.circleci.com/pipelines/gh/organization/project/123/workflows/abc-def - URL do Pipeline:
https://app.circleci.com/pipelines/gh/organization/project/123
- URL do Job:
-
Usando o Contexto do Projeto Local:
- Funciona a partir do seu workspace local, fornecendo a raiz do workspace, URL remota do git e nome da branch
Útil para:
- Encontrar URLs de download para artefatos de build (binários, relatórios, logs)
- Verificar quais artefatos foram produzidos por uma execução de pipeline
list_component_versions
Lista todas as versões de um componente específico do CircleCI em um ambiente. Inclui status de implantação, informações de commit e timestamps.
A ferramenta solicitará que você selecione o componente e o ambiente se não forem fornecidos.
Útil para:
- Identificar qual versão está atualmente em produção
- Selecionar versões de destino para operações de rollback
- Obter detalhes de implantação (pipeline, workflow, job)
list_followed_projects
Lista todos os projetos que o usuário está seguindo no CircleCI.
- Mostra todos os projetos aos quais você tem acesso com seus
projectSlug - Exemplo: "Liste meus projetos do CircleCI"
Exemplo de saída:
Projects followed:
1. my-project (projectSlug: gh/organization/my-project)
2. another-project (projectSlug: gh/organization/another-project)
[!NOTE] O
projectSlug(não o nome do projeto) é necessário para muitas outras ferramentas do CircleCI.
recommend_prompt_template_tests
Gera casos de teste para modelos de prompt para garantir que produzam os resultados esperados.
- Cria cenários de teste diversos com base no seu modelo de prompt e esquema de contexto
- Retorna um array de casos de teste recomendados com várias combinações de parâmetros
- Exemplo: "Gere testes para meu modelo de prompt de história de ninar"
rerun_workflow
Reexecuta um workflow do início ou a partir do job com falha.
Retorna o ID do workflow recém-criado e um link para monitorá-lo.
run_evaluation_tests
Executa testes de avaliação (também conhecidos como "Testes de Prompt") em um pipeline do CircleCI. Gera uma configuração apropriada do CircleCI e aciona um pipeline usando-a.
Esta ferramenta pode ser usada de três maneiras:
-
Usando Project Slug e Branch (Recomendado):
- Primeiro use
list_followed_projectspara obter seus projetos e, em seguida: - Exemplo: "Execute testes de avaliação para meu-projeto na branch main"
- Primeiro use
-
Usando URL do CircleCI:
- URL do Projeto, URL do Pipeline, URL do Workflow ou URL do Job
- Exemplo: "Execute testes de avaliação para https://app.circleci.com/pipelines/gh/organization/project/123"
-
Usando o Contexto do Projeto Local:
- Funciona a partir do seu workspace local, fornecendo a raiz do workspace, URL remota do git e nome da branch
A ferramenta aceita arquivos de modelo de prompt e retorna uma URL para monitorar o pipeline acionado.
[!NOTE] Se o projeto tiver várias definições de pipeline, a ferramenta retornará uma lista de pipelines disponíveis para você escolher.
run_pipeline
Aciona a execução de um pipeline. Esta ferramenta pode ser usada de três maneiras:
-
Usando Project Slug e Branch (Recomendado):
- Exemplo: "Execute o pipeline para meu-projeto na branch main"
-
Usando URL do CircleCI:
- URL do Pipeline, URL do Workflow, URL do Job ou URL do Projeto com branch
- Exemplo: "Execute o pipeline para https://app.circleci.com/pipelines/github/org/repo/123"
-
Usando o Contexto do Projeto Local:
- Funciona a partir do seu workspace local, fornecendo a raiz do workspace, URL remota do git e nome da branch
A ferramenta retorna um link para monitorar a execução do pipeline.
run_rollback_pipeline
Aciona um rollback para um projeto do CircleCI. A ferramenta guia você interativamente através de:
- Seleção do Projeto — lista os projetos seguidos para você escolher
- Seleção do Ambiente — lista os ambientes disponíveis (seleciona automaticamente se houver apenas um)
- Seleção do Componente — lista os componentes disponíveis (seleciona automaticamente se houver apenas um)
- Seleção da Versão — exibe as versões disponíveis; você seleciona o destino para o rollback
- Detecção do Modo de Rollback — verifica se um pipeline de rollback está configurado
- Executar Rollback — duas opções:
- Rollback de Pipeline: aciona o pipeline de rollback
- Reexecução de Workflow: reexecuta um workflow anterior usando seu ID de workflow
- Confirmação — resume e confirma antes da execução
Solução de Problemas
Correções Rápidas
Problemas mais comuns:
-
Limpar caches de pacotes:
npx clear-npx-cache npm cache clean --force -
Forçar a versão mais recente: Adicione
@latestà sua configuração:"args": ["-y", "@circleci/mcp-server-circleci@latest"] -
Reinicie seu IDE completamente (não apenas recarregue a janela)
Problemas de Autenticação
- Erros de token inválido: Verifique seu
CIRCLECI_TOKENem Tokens de API Pessoais - Erros de permissão: Certifique-se de que o token tenha acesso de leitura aos seus projetos
- Variáveis de ambiente não carregando: Teste com
echo $CIRCLECI_TOKEN(Mac/Linux) ouecho %CIRCLECI_TOKEN%(Windows)
Problemas de Conexão e Rede
- URL Base: Confirme se
CIRCLECI_BASE_URLéhttps://circleci.com - Redes corporativas: Configure as definições de proxy do npm se estiver atrás de um firewall
- Bloqueio de firewall: Verifique se o software de segurança bloqueia downloads de pacotes
Requisitos do Sistema
- Versão do Node.js: Certifique-se de que seja >= 18.0.0 com
node --version - Atualizar Node.js: Considere a LTS mais recente se tiver problemas de compatibilidade
- Gerenciador de pacotes: Verifique se o npm/pnpm está funcionando:
npm --version
Problemas Específicos do IDE
- Localização do arquivo de configuração: Verifique novamente o caminho para o seu SO
- Erros de sintaxe: Valide a sintaxe JSON no seu arquivo de configuração
- Logs do console: Verifique o console do desenvolvedor do IDE para erros específicos
- Experimente um IDE diferente: Teste em outro editor suportado para isolar o problema
Problemas de Processo
Processos travados — mate os processos MCP existentes:
# Mac/Linux:
pkill -f "mcp-server-circleci"
# Windows:
taskkill /f /im node.exe
Conflitos de porta: Reinicie seu IDE se a conexão parecer bloqueada.
Depuração Avançada
- Testar o pacote diretamente:
npx @circleci/mcp-server-circleci@latest --help - Log detalhado:
DEBUG=* npx @circleci/mcp-server-circleci@latest - Fallback do Docker: Experimente a instalação do Docker se o npx falhar consistentemente
Ainda precisa de ajuda?
- Verifique GitHub Issues para problemas semelhantes
- Inclua seu SO, versão do Node e IDE ao relatar problemas
- Compartilhe mensagens de erro relevantes do console do IDE
Telemetria
O servidor suporta métricas OpenTelemetry para rastrear o uso da ferramenta. As métricas são exportadas, a menos que você defina DISABLE_TELEMETRY=true. Em implantações remotas, as métricas usam o mesmo token da solicitação (PAT por usuário ou PAT compartilhado do servidor).
| Métrica | Descrição |
|---|---|
circleci.mcp.tool.invocations | Contagem de invocações da ferramenta |
circleci.mcp.tool.duration_ms | Tempo de execução em ms |
circleci.mcp.tool.errors | Contagem de erros |
Desenvolvimento
Primeiros Passos
-
Clone o repositório:
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git cd mcp-server-circleci -
Instale as dependências:
pnpm install -
Construa o projeto:
pnpm build
Construindo o Contêiner Docker
Você pode construir o contêiner Docker localmente usando:
docker build -t circleci:mcp-server-circleci .
Isso criará uma imagem Docker marcada como circleci:mcp-server-circleci que você pode usar com qualquer cliente MCP.
Modo stdio local (desenvolvedor único, token no cliente):
docker run --rm -i \
-e CIRCLECI_TOKEN=your-circleci-token \
-e CIRCLECI_BASE_URL=https://circleci.com \
circleci/mcp-server-circleci
Modo remoto (servidor centralizado para uma equipe): consulte Servidor MCP Remoto Autogerenciado.
Desenvolvimento com o MCP Inspector
A maneira mais fácil de iterar no Servidor MCP é usando o MCP Inspector. Você pode aprender mais sobre o MCP Inspector em https://modelcontextprotocol.io/docs/tools/inspector
-
Inicie o servidor de desenvolvimento:
pnpm watch # Keep this running in one terminal -
Em um terminal separado, inicie o inspector:
pnpm inspector -
Configure o ambiente:
- Adicione seu
CIRCLECI_TOKENà seção de Variáveis de Ambiente na interface do inspector - O token precisa de acesso de leitura aos seus projetos do CircleCI
- Opcionalmente, defina sua URL Base do CircleCI (padrão:
https://circleci.com)
- Adicione seu
Testes
-
Execute a suíte de testes:
pnpm test -
Execute os testes no modo watch durante o desenvolvimento:
pnpm test:watch
Para diretrizes de contribuição mais detalhadas, consulte CONTRIBUTING.md