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é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 :
fetchnatif 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 :
- get_file_coverage : récupère la couverture ligne par ligne de fichiers précis
- get_commit_coverage : donne accès aux statistiques de couverture de commits précis
- 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_URLprend 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
- Recueil des besoins (5 min) : analyse du serveur MCP archivé, identification des manques
- Planification de l’architecture (10 min) : conception de la structure des modules TypeScript avec la SI/IA
- Prototypage rapide (30 min) : implémentation initiale générée par SI/IA, avec intégration du MCP SDK
- Affinage piloté par les tests (1 heure) : rédaction de tests complets, itérations jusqu’à 100 % de couverture
- Documentation (30 min) : rédaction du README assistée par SI/IA, avec guide de dépannage
- 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.iopour 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 --coverageet 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
fetchnatif : 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
- Paquet publié : npm: mcp-server-codecov
- Code source : GitHub: egulatee/mcp-server-codecov
- Article de blog : Building Codecov MCP Server in 2 Hours
- Documentation MCP : Anthropic MCP SDK
À 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 :
- 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
- 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
- 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
- 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
- Expertise MCP : une spécialisation dans l’écosystème d’outillage SI/IA de pointe
- Savoir-faire en outillage pour développeurs : la capacité à repérer les points de friction et à livrer rapidement des solutions
- 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 →