Home
Login

Serveur MCP CircleCI - Une implémentation serveur spécialisée conçue pour le protocole de contexte de modèle, intégrée aux flux de travail de développement CircleCI.

Apache-2.0TypeScript 50CircleCI-Publicmcp-server-circleci Last Updated: 2025-06-23

Présentation du projet CircleCI MCP Server

Aperçu du projet

CircleCI MCP Server est une implémentation de serveur spécialisée conçue pour le protocole de contexte de modèle (MCP), visant à intégrer les flux de travail de développement de CircleCI. Ce projet sert de pont entre l'infrastructure CircleCI et le protocole de contexte de modèle, offrant une expérience de développement améliorée basée sur l'IA.

Ce serveur permet aux outils d'IA tels que Cursor, Claude Code, Windsurf, etc., de comprendre votre système de construction. Il est basé sur le protocole de contexte de modèle (MCP), une norme légère qui permet aux agents basés sur LLM d'extraire des données structurées à partir de systèmes externes.

Fonctionnalités principales

Principaux outils et fonctionnalités

1. get_build_failure_logs

Récupère les journaux de défaillance détaillés des builds CircleCI. Cet outil prend en charge deux modes d'utilisation :

Utilisation de l'URL CircleCI :

Utilisation du contexte de projet local :

  • Travaille à partir de l'espace de travail local en fournissant les informations suivantes :
    • Chemin racine de l'espace de travail
    • URL distante Git
    • Nom de la branche
  • Exemple : "Trouver la dernière pipeline en échec sur ma branche actuelle"

Les journaux formatés renvoyés incluent :

  • Nom de la tâche
  • Détails de l'exécution étape par étape
  • Messages d'erreur et contexte

2. find_flaky_tests

Identifie les tests instables dans un projet CircleCI en analysant l'historique d'exécution des tests. Prend en charge deux modes d'utilisation :

Utilisation de l'URL du projet CircleCI :

Utilisation du contexte de projet local :

  • Travaille à partir de l'espace de travail local en fournissant le chemin racine de l'espace de travail et l'URL distante Git.

Renvoie des informations détaillées sur les tests instables, notamment :

  • Nom du test et emplacement du fichier
  • Messages d'erreur et contexte

3. get_latest_pipeline_status

Récupère l'état de la dernière pipeline pour une branche donnée. L'outil renvoie un état formaté de la dernière pipeline :

  • Nom du workflow et son état actuel
  • Durée de chaque workflow
  • Horodatages de création et d'achèvement
  • État général de la pipeline

Exemple de sortie :

--- 
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

4. get_job_test_results

Récupère les métadonnées des tests d'une tâche CircleCI, vous permettant d'analyser les résultats des tests sans quitter votre IDE.

Renvoie des informations détaillées sur les résultats des tests :

  • Résumé de tous les tests (total, succès, échecs)
  • Détails des tests en échec, notamment :
    • Nom du test et classe
    • Emplacement du fichier
    • Message d'erreur
    • Durée d'exécution
  • Liste des tests réussis avec des informations de temps

5. config_helper

Aide aux tâches de configuration de CircleCI, en fournissant des conseils et une validation. Cet outil vous aide à :

  • Valider la configuration CircleCI :
    • Vérifie si votre .circleci/config.yml contient des erreurs de syntaxe et de sémantique.
    • Exemple : "Valider ma configuration CircleCI"

Fournit :

  • Des résultats de validation détaillés
  • Des recommandations de configuration

6. create_prompt_template

Génère des modèles d'invite structurés basés sur les exigences fonctionnelles, pour les applications compatibles avec l'IA. Cet outil :

  • Convertit les exigences fonctionnelles en invites structurées :
    • Transforme les besoins des utilisateurs en modèles d'invite optimisés.
    • Exemple : "Créer un modèle d'invite pour générer des histoires au coucher par âge et par thème"

7. recommend_prompt_template_tests

Génère des cas de test pour les modèles d'invite, garantissant qu'ils produisent les résultats attendus.

Installation et configuration

Configuration système requise

IDE et outils pris en charge

Cursor IDE

Ajoutez ce qui suit à votre configuration MCP Cursor :

{
  "mcpServers": {
    "circleci-mcp-server": {
      "command": "npx",
      "args": ["-y", "@circleci/mcp-server-circleci"],
      "env": {
        "CIRCLECI_TOKEN": "your-circleci-token",
        "CIRCLECI_BASE_URL": "https://circleci.com" // Optionnel - Uniquement nécessaire pour les clients déployés localement
      }
    }
  }
}

VS Code

Installez CircleCI MCP Server dans .vscode/mcp.json :

{
  // 💡 L'entrée est demandée lors du premier démarrage du serveur, puis stockée en toute sécurité par VS Code
  "inputs": [
    {
      "type": "promptString",
      "id": "circleci-token",
      "description": "Jeton API CircleCI",
      "password": true
    }
  ],
  "servers": {
    "circleci-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@circleci/mcp-server-circleci"],
      "env": {
        "CIRCLECI_TOKEN": "${input:circleci-token}"
      }
    }
  }
}

Claude Desktop

Ajoutez ce qui suit à votre claude_desktop_config.json :

{
  "mcpServers": {
    "circleci-mcp-server": {
      "command": "npx",
      "args": ["-y", "@circleci/mcp-server-circleci"],
      "env": {
        "CIRCLECI_TOKEN": "your-circleci-token",
        "CIRCLECI_BASE_URL": "https://circleci.com" // Optionnel - Uniquement nécessaire pour les clients déployés localement
      }
    }
  }
}

Emplacement du fichier de configuration :

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Claude Code

Après avoir installé Claude Code, exécutez la commande suivante :

claude mcp add circleci-mcp-server -e CIRCLECI_TOKEN=your-circleci-token -- npx -y @circleci/mcp-server-circleci

Windsurf

Ajoutez ce qui suit à votre mcp_config.json Windsurf :

{
  "mcpServers": {
    "circleci-mcp-server": {
      "command": "npx",
      "args": ["-y", "@circleci/mcp-server-circleci"],
      "env": {
        "CIRCLECI_TOKEN": "your-circleci-token",
        "CIRCLECI_BASE_URL": "https://circleci.com" // Optionnel - Uniquement nécessaire pour les clients déployés localement
      }
    }
  }
}

Installation automatique

Installez automatiquement CircleCI MCP Server pour Claude Desktop via Smithery :

npx -y @smithery/cli install @CircleCI-Public/mcp-server-circleci --client claude

Développement et contribution

Configuration du développement local

  1. Cloner le dépôt :
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git
cd mcp-server-circleci
  1. Installer les dépendances :
pnpm install
  1. Construire le projet :
pnpm build

Développement avec MCP Inspector

La façon la plus simple d'itérer sur le serveur MCP est d'utiliser MCP Inspector.

  1. Démarrer le serveur de développement :
pnpm watch # Garder en marche dans un terminal
  1. Démarrer l'inspecteur dans un terminal séparé :
pnpm inspector
  1. Configurer l'environnement :
    • Ajouter votre CIRCLECI_TOKEN dans la section des variables d'environnement de l'interface utilisateur de l'inspecteur.
    • Le jeton doit avoir des autorisations de lecture sur votre projet CircleCI.
    • Définir éventuellement votre URL de base CircleCI, qui est par défaut https://circleci.com.

Tests

Exécuter la suite de tests :

pnpm test

Exécuter les tests en mode surveillance pendant le développement :

pnpm test:watch

Cas d'utilisation

Cet outil est particulièrement adapté pour :

  • Déboguer les builds en échec
  • Analyser les échecs de tests
  • Enquêter sur les problèmes de déploiement
  • Accéder rapidement aux journaux de build sans quitter l'IDE
  • Vérifier l'état des dernières pipelines
  • Identifier les tests non fiables dans la suite de tests
  • Prendre des décisions basées sur les données pour l'amélioration des tests

Avantages du projet

CircleCI MCP Server est conçu pour prendre en charge les moments réels du cycle de vie du développement. Que vous examiniez un build en échec, que vous déboguiez un déploiement défaillant ou que vous surveilliez une branche critique, il aide votre assistant à comprendre les échecs et à suggérer des correctifs en quelques secondes, sans changement de contexte.

En intégrant ce serveur MCP, les développeurs peuvent :

  • Interagir avec CircleCI en utilisant le langage naturel
  • Obtenir des informations sur les builds dans un environnement de développement familier
  • Diagnostiquer et résoudre rapidement les problèmes de CI/CD
  • Améliorer l'efficacité du flux de travail de développement

Ressources connexes

Pour des instructions de contribution plus détaillées, veuillez consulter le fichier CONTRIBUTING.md dans le projet.

Star History Chart