Aller au contenu principal
Intégration de SI/IA · open source

Serveur MCP pour Codecov

Serveur Model Context Protocol prêt pour la production, construit en 2 heures grâce au développement assisté par SI/IA : il permet à Claude Code d'interroger les données de couverture de Codecov, avec 100 % de couverture de tests à la sortie

Pré-agentique · Assisté par SI/IA
AssistantSI/IAServeurMCPDonnées decouverture100 % testé à la sortie

Présentation du projet

Calendrier : décembre 2025 (2 heures au total)

Le serveur MCP pour Codecov est un serveur Model Context Protocol (MCP) prêt pour la production, qui permet à Claude Code et à d’autres assistants SI/IA d’interroger directement les données de couverture de Codecov. Construit en seulement 2 heures grâce au développement assisté par SI/IA, ce projet montre comment les outils modernes de SI/IA peuvent accélérer la productivité des développeurs tout en respectant des standards de qualité dignes de la production.

Le projet répondait à un vrai problème : le serveur MCP tiers existant pour Codecov avait été archivé et ne prenait pas en charge les instances auto-hébergées. Plutôt que de forker un projet abandonné, nous sommes repartis de zéro, ce qui a permis de livrer des fonctionnalités pour l’entreprise, des tests complets et un code maintenable en une fraction du temps qu’exigerait un développement traditionnel.

Réalisation clé : publié sur npm sous le nom mcp-server-codecov, avec 100 % de couverture de tests à la sortie (v1.0, décembre 2025), il remplace une solution archivée par un outil plus complet et prêt pour l’entreprise.

Contexte du projet

Le problème

  • Le serveur MCP existant pour Codecov était archivé (plus maintenu)
  • La solution archivée ne prenait en charge que les instances cloud codecov.io
  • Aucune prise en charge des déploiements auto-hébergés de Codecov Enterprise
  • Les développeurs devaient quitter Claude Code pour consulter les données de couverture
  • Aucun moyen fiable pour les assistants SI/IA d’accéder aux métriques de couverture de tests

L’opportunité

  • Le Model Context Protocol (MCP) est le standard émergent d’Anthropic pour l’intégration d’outils de SI/IA
  • Construire des serveurs MCP place les développeurs à la pointe de l’outillage natif SI/IA
  • Le développement rapide assisté par SI/IA valide le concept : la SI/IA construit des outils pour la SI/IA
  • Une contribution open source à l’écosystème MCP en pleine croissance

L’approche

Construire de zéro un remplaçant prêt pour la production, lors d’une session limitée à 2 heures, grâce au développement assisté par SI/IA (Claude Code), en mettant l’accent sur :

  • La vitesse : un MVP en 30 minutes, prêt pour la production en 2 heures
  • La qualité : 100 % de couverture de tests, une documentation complète
  • La prise en charge de l’entreprise : configurable pour les instances cloud comme auto-hébergées
  • La maintenabilité : du TypeScript avec une architecture claire, prêt à accueillir les contributions de la communauté

Architecture technique

Stack technique

  • Langage : TypeScript 5.7+ (typage sûr, async/await moderne)
  • Framework : MCP SDK (@modelcontextprotocol/sdk)
  • Tests : Vitest, avec 100 % de couverture de code sur toutes les métriques
  • Runtime : Node.js 18.0.0+
  • Client d’API : fetch natif de Node.js pour les requêtes HTTP
  • Build : compilateur TypeScript (tsc) avec la cible ES2022

Architecture principale

mcp-server-codecov/
├── src/
│   ├── index.ts           # MCP server initialization & tool registration
│   ├── codecov-client.ts  # Codecov API client with authentication
│   ├── tools.ts           # Tool handlers (file, commit, repo coverage)
│   └── types.ts           # TypeScript interfaces for API responses
├── tests/
│   ├── index.test.ts      # Integration tests for MCP server
│   ├── codecov-client.test.ts  # Unit tests with mocked API calls
│   └── tools.test.ts      # Tool handler validation
└── package.json           # npm package configuration

Taille de l’implémentation : 265 lignes de code principal (hors tests, configuration et documentation)

Intégration du protocole MCP

Le serveur implémente trois outils MCP que Claude Code peut appeler :

  1. get_file_coverage : récupère la couverture ligne par ligne de fichiers précis
  2. get_commit_coverage : donne accès aux statistiques de couverture de commits précis
  3. get_repo_coverage : fournit les données de couverture agrégées de dépôts entiers

Choix de conception de l’API

  • URL de base configurable : la variable d’environnement CODECOV_BASE_URL prend en charge codecov.io comme les instances auto-hébergées
  • Authentification par jeton : gestion sécurisée du jeton d’API via la variable d’environnement CODECOV_TOKEN
  • Centré sur GitHub : l’implémentation actuelle cible les dépôts GitHub (extensible à GitLab et Bitbucket)
  • Gestion des erreurs : messages d’erreur détaillés pour les échecs d’authentification, les problèmes réseau et les paramètres invalides

Processus de développement

Développement rapide assisté par SI/IA

Ce projet illustre le principe la SI/IA construit des outils pour la SI/IA : utiliser Claude Code pour construire un serveur MCP qui étend les capacités de Claude Code.

Durée totale de développement : 2 heures

  • Développement du MVP : 30 minutes (client d’API de base + gestionnaires d’outils MCP)
  • Tests et qualité : 1 heure (100 % de couverture atteinte avec Vitest)
  • Documentation et finitions : 30 minutes (README de 350 lignes avec guide de dépannage)

Déroulement

  1. Recueil des besoins (5 min) : analyse du serveur MCP archivé, identification des manques
  2. Planification de l’architecture (10 min) : conception de la structure des modules TypeScript avec la SI/IA
  3. Prototypage rapide (30 min) : implémentation initiale générée par SI/IA, avec intégration du MCP SDK
  4. Affinage piloté par les tests (1 heure) : rédaction de tests complets, itérations jusqu’à 100 % de couverture
  5. Documentation (30 min) : rédaction du README assistée par SI/IA, avec guide de dépannage
  6. Publication (15 min) : configuration du paquet npm, gestion des versions, publication sur le registre

Environnement de développement

  • IDE : VS Code avec le serveur de langage TypeScript
  • Assistant SI/IA : Claude Code pour la génération de code, l’écriture des tests et la documentation
  • Gestion de versions : Git avec des commits conventionnels
  • CI/CD : GitHub Actions pour les tests automatisés et la publication sur npm
  • Gestionnaire de paquets : npm pour la gestion des dépendances et la publication

Choix de développement clés

  • TypeScript plutôt que JavaScript : le typage prévient les erreurs à l’exécution et améliore la maintenabilité
  • Vitest plutôt que Jest : exécution des tests plus rapide, meilleure prise en charge d’ESM, expérience développeur moderne
  • Tests avec API simulée : les tests unitaires utilisent des réponses Codecov simulées, pour plus de fiabilité et de rapidité
  • README complet : anticipation des points de friction (jetons d’authentification, configuration de l’URL de base) et solutions documentées

Fonctionnalités clés

Outils d’interrogation de la couverture

Couverture par fichier

  • Récupère les données de couverture ligne par ligne de fichiers précis
  • Paramètres : owner, repo, chemin du fichier, SHA de commit facultatif
  • Renvoie : une carte de couverture détaillée indiquant les lignes couvertes et non couvertes
  • Cas d’usage : repérer les portions de code non testées lors de la revue de code

Analyse de la couverture par commit

  • Donne accès aux statistiques de couverture de commits précis
  • Paramètres : owner, repo, SHA du commit
  • Renvoie : les pourcentages de couverture agrégés et le détail par fichier
  • Cas d’usage : suivre l’évolution de la couverture dans les pull requests

Vue d’ensemble de la couverture du dépôt

  • Fournit les métriques de couverture à l’échelle du projet
  • Paramètres : owner, repo, branche facultative
  • Renvoie : le pourcentage de couverture total, les tendances et l’historique
  • Cas d’usage : suivi de la couverture façon tableau de bord

Fonctionnalités pour l’entreprise

  • Prise en charge de l’auto-hébergement : URL de base configurable pour les instances Codecov Enterprise
  • Prise en charge du cloud : fonctionne d’emblée avec codecov.io grâce à la configuration par défaut
  • Authentification sécurisée : gestion du jeton d’API par variables d’environnement
  • Résilience aux erreurs : gestion complète des erreurs, avec des messages exploitables

Expérience développeur

  • Installation globale en CLI : npm install -g mcp-server-codecov
  • Modèles de configuration MCP : configurations prêtes à copier-coller pour Claude Desktop et Claude Code
  • Guide de dépannage : un README de 350 lignes qui traite les problèmes de configuration courants
  • Types TypeScript : les types exportés des réponses de l’API permettent des intégrations typées

Défis techniques relevés

Défi 1 : la confusion autour des jetons d’authentification

Problème : l’implémentation initiale échouait avec des erreurs 401, malgré des identifiants Codecov « valides ».

Cause identifiée : Codecov utilise deux types de jetons distincts :

  • Jetons d’envoi (upload tokens) : utilisés par la CI/CD pour envoyer les rapports de couverture (disponibles dans les paramètres de l’interface Codecov)
  • Jetons d’API : utilisés pour accéder aux données via l’API REST (à générer séparément)

L’équipe avait d’abord utilisé des jetons d’envoi, qui n’ont pas les droits d’accès à l’API.

Solution :

  • Distinction entre les types de jetons clairement documentée dans le README
  • Ajout d’une section de dépannage expliquant les erreurs d’authentification
  • Guide pas à pas pour générer les bons jetons d’API
  • Messages d’erreur clairs qui distinguent les échecs d’authentification des problèmes réseau

Résultat : une documentation proactive qui épargne aux futurs utilisateurs 30 minutes de débogage laborieux.

Défi 2 : entreprise ou cloud

Problème : le serveur MCP archivé ne fonctionnait qu’avec les instances cloud codecov.io. Les équipes utilisant Codecov Enterprise en auto-hébergement ne pouvaient pas utiliser l’outil.

Solution :

  • URL de base configurable via la variable d’environnement CODECOV_BASE_URL
  • Valeur par défaut https://codecov.io pour les utilisateurs du cloud (aucune configuration nécessaire)
  • Remplacement par une URL personnalisée pour les déploiements en entreprise
  • Les deux cas d’usage documentés avec des exemples de configuration

Résultat : une seule base de code sert à la fois les utilisateurs du cloud et ceux de l’entreprise, sans fork ni logique conditionnelle.

Défi 3 : 100 % de couverture de tests en 1 heure

Problème : atteindre une couverture de tests digne de la production dans un délai strict de 2 heures, sans sacrifier la qualité du code.

Solution :

  • Réponses d’API simulées : utilisation des mocks de Vitest pour simuler l’API Codecov sans appel réseau
  • Génération de tests assistée par SI/IA : Claude Code a généré des cas de test complets couvrant les cas limites
  • Itérations guidées par la couverture : exécution répétée de vitest --coverage et comblement des manques jusqu’à 100 %
  • Structure des tests : séparation des tests unitaires (client d’API) et des tests d’intégration (serveur MCP)

Résultat : 100 % de couverture des instructions, des branches, des fonctions et des lignes, en 1 heure de développement concentré.

Défi 4 : une documentation rapide pour une configuration complexe

Problème : la configuration d’un serveur MCP fait intervenir plusieurs fichiers (configuration de Claude Desktop, paramètres de Claude Code) et des variables d’environnement. Une documentation médiocre aurait freiné l’adoption.

Solution :

  • README généré par SI/IA : Claude Code a rédigé un guide complet de 350 lignes
  • Configurations prêtes à copier-coller : extraits JSON exacts pour les fichiers de configuration MCP
  • Section de dépannage : anticipation des problèmes courants (mauvais type de jeton, URL de base mal configurée)
  • Chemins propres à chaque plateforme : emplacements des fichiers de configuration documentés pour macOS, Windows et Linux

Résultat : aucune issue GitHub ouverte pour des problèmes d’installation ou de configuration depuis le lancement.

Résultats et impact

Réalisations techniques

  • 100 % de couverture de tests : tous les chemins de code sont testés (instructions, branches, fonctions, lignes)
  • Construit en 2 heures : un MVP en 30 minutes, prêt pour la production en 2 heures au total
  • Publié sur npm : disponible partout sous le nom de paquet mcp-server-codecov
  • Une seule dépendance d’exécution : uniquement le MCP SDK ; tout le reste est une dépendance de développement pour les tests et le build
  • Typage TypeScript : une couverture de types complète qui prévient les erreurs à l’exécution
  • Documentation complète : un README de 350 lignes avec guide de dépannage

Impact sur la productivité des développeurs

  • Fini les changements de contexte : les développeurs interrogent la couverture sans quitter Claude Code
  • Flux de travail natif SI/IA : Claude peut repérer de lui-même les manques de tests pendant la revue de code
  • Retour immédiat sur la couverture : plus besoin de naviguer manuellement dans l’interface web de Codecov
  • Des revues de PR enrichies : les données de couverture sont accessibles pendant les revues de code assistées par SI/IA

Contribution à l’open source

  • Croissance de l’écosystème MCP : ajout d’un outil prêt pour l’entreprise à l’annuaire des serveurs MCP d’Anthropic
  • Remplacement d’un projet archivé : une alternative activement maintenue à une solution abandonnée
  • Adoption en entreprise : la prise en charge de l’auto-hébergement ouvre l’outil aux secteurs réglementés
  • Modèle pour la communauté : illustre une méthode de développement rapide de serveurs MCP

Le développement propulsé par la SI/IA, validé

Ce projet confirme la thèse la SI/IA construit des outils pour la SI/IA :

  • Un MVP en 30 minutes : l’assistance de la SI/IA a ramené des jours de travail à quelques minutes
  • Qualité préservée : 100 % de couverture de tests prouvent que la SI/IA peut respecter les standards de production
  • Une documentation de qualité : un README de 350 lignes rédigé avec l’aide de la SI/IA
  • Itérations rapides : manques de couverture repérés et comblés en minutes, pas en heures

Calendrier de développement

Session 1 : construction rapide (2 heures au total)

Phase 1 : développement du MVP (30 minutes)

  • Analyse des besoins et planification de l’architecture (10 min)
  • Implémentation du client d’API Codecov avec authentification (10 min)
  • Mise en place du serveur MCP avec intégration du SDK (5 min)
  • Gestionnaires d’outils de base pour les requêtes de couverture (5 min)

Phase 2 : tests et qualité (60 minutes)

  • Installation et configuration de Vitest (10 min)
  • Tests unitaires du client d’API avec réponses simulées (20 min)
  • Tests d’intégration des outils du serveur MCP (20 min)
  • Analyse des manques de couverture et ajout de tests pour atteindre 100 % (10 min)

Phase 3 : documentation et publication (30 minutes)

  • README complet avec guide d’installation (15 min)
  • Section de dépannage pour les problèmes d’authentification et de configuration (10 min)
  • Configuration et publication du paquet npm (5 min)

Après le lancement : maintenance

  • v1.0.0 : version initiale avec les fonctionnalités principales
  • v1.0.1 : correction d’un cas limite de configuration
  • En continu : support de la communauté via les issues GitHub (minime, car une excellente documentation prévient les problèmes)

Outils et flux de travail

  • Développement avec la SI/IA : Claude Code pour la génération rapide de code et l’écriture des tests
  • IDE : VS Code avec TypeScript IntelliSense
  • Tests : Vitest avec rapports de couverture
  • Gestion de versions : Git avec des commits conventionnels
  • Publication : registre npm pour une distribution mondiale
  • CI/CD : GitHub Actions pour les tests automatisés sur les pull requests

Technologies utilisées

  • TypeScript 5.7+ : développement typé avec async/await moderne
  • MCP SDK : @modelcontextprotocol/sdk pour l’implémentation du protocole
  • Vitest : framework de test rapide et moderne, avec rapports de couverture
  • Node.js 18+ : environnement d’exécution du serveur MCP
  • fetch natif : client HTTP de Node.js pour les requêtes à l’API Codecov
  • npm : gestion des paquets et distribution globale de la CLI
  • GitHub Actions : CI/CD pour les tests automatisés et la publication

Liens et ressources

À retenir

Ce projet montre le potentiel transformateur du développement assisté par SI/IA pour construire des outils pour développeurs dignes de la production :

  1. Une vitesse accélérée par la SI/IA : 2 heures de développement, du concept au paquet npm publié avec 100 % de couverture de tests
  2. La SI/IA construit des outils pour la SI/IA : une réussite « méta », qui consiste à utiliser Claude Code pour construire des serveurs MCP étendant les capacités de Claude
  3. La qualité sans compromis : l’assistance de la SI/IA permet un développement rapide sans sacrifier les tests, la documentation ni la qualité du code
  4. Une livraison prête pour l’entreprise : la prise en charge de l’auto-hébergement et une documentation complète répondent aux standards de production
  5. Expertise MCP : une spécialisation dans l’écosystème d’outillage SI/IA de pointe
  6. Savoir-faire en outillage pour développeurs : la capacité à repérer les points de friction et à livrer rapidement des solutions
  7. Impact open source : un projet archivé remplacé par une alternative plus complète et activement maintenue

L’avenir du développement : ce projet incarne une tendance émergente, où l’assistance de la SI/IA ramène des projets d’une semaine à quelques heures tout en maintenant des standards de qualité professionnels. Résultat : les développeurs peuvent livrer plus d’outils, plus vite et avec une meilleure qualité que jamais.

Voir sur npm → | Voir sur GitHub → | Lire l’article de blog →

    ↑