Vai al contenuto principale
Integrazione SI/IA · open source

Server MCP per Codecov

Server Model Context Protocol pronto per la produzione, realizzato in 2 ore con sviluppo assistito da SI/IA: consente a Claude Code di interrogare i dati di copertura di Codecov, con il 100% di copertura dei test al rilascio

Pre-agentico · Assistito da SI/IA
AssistenteSI/IAServerMCPDati dicoperturaTestato al 100% al rilascio

Panoramica del progetto

Tempistiche: dicembre 2025 (2 ore in totale)

Il server MCP per Codecov è un server Model Context Protocol (MCP) pronto per la produzione che consente a Claude Code e ad altri assistenti di SI/IA di interrogare direttamente i dati di copertura di Codecov. Realizzato in sole 2 ore con sviluppo assistito da SI/IA, questo progetto dimostra come i moderni strumenti di SI/IA possano accelerare la produttività degli sviluppatori mantenendo standard di qualità da produzione.

Il progetto ha risolto un problema concreto: il server MCP di terze parti esistente per Codecov era stato archiviato e non supportava le istanze self-hosted. Invece di fare il fork di un progetto abbandonato, la scelta di costruirlo da zero ha permesso di offrire funzionalità enterprise, test approfonditi e codice manutenibile in una frazione del tempo richiesto dallo sviluppo tradizionale.

Risultato chiave: pubblicato su npm come mcp-server-codecov con il 100% di copertura dei test al rilascio (v1.0, dicembre 2025), in sostituzione di una soluzione archiviata con uno strumento più completo e pronto per l’uso aziendale.

Contesto del progetto

Il problema

  • Il server MCP esistente per Codecov era archiviato (non più manutenuto)
  • La soluzione archiviata supportava solo le istanze cloud di codecov.io
  • Nessun supporto per le installazioni self-hosted di Codecov Enterprise
  • Gli sviluppatori dovevano uscire da Claude Code per consultare i dati di copertura
  • Non esisteva un modo affidabile per consentire agli assistenti di SI/IA di accedere alle metriche di copertura dei test

L’opportunità

  • Il Model Context Protocol (MCP) è lo standard emergente di Anthropic per l’integrazione di strumenti con la SI/IA
  • Realizzare server MCP colloca gli sviluppatori all’avanguardia degli strumenti nativi per la SI/IA
  • Lo sviluppo rapido con l’assistenza della SI/IA dimostra il concetto: la SI/IA che costruisce strumenti per la SI/IA
  • Contributo open source a un ecosistema MCP in crescita

L’approccio

Realizzare un sostituto pronto per la produzione da zero, in una sessione limitata a 2 ore, con sviluppo assistito da SI/IA (Claude Code), puntando su:

  • Velocità: MVP in 30 minuti, pronto per la produzione in 2 ore
  • Qualità: 100% di copertura dei test, documentazione completa
  • Supporto enterprise: configurabile sia per istanze cloud sia self-hosted
  • Manutenibilità: TypeScript con un’architettura chiara, pronto per i contributi della community

Architettura tecnica

Stack tecnologico

  • Linguaggio: TypeScript 5.7+ (tipizzazione sicura, async/await moderno)
  • Framework: MCP SDK (@modelcontextprotocol/sdk)
  • Test: Vitest con il 100% di copertura del codice su tutte le metriche
  • Runtime: Node.js 18.0.0+
  • Client API: fetch integrato di Node.js per le richieste HTTP
  • Build: compilatore TypeScript (tsc) con target ES2022

Architettura 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

Dimensioni dell’implementazione: 265 righe di codice principale (esclusi test, configurazione e documentazione)

Integrazione con il protocollo MCP

Il server implementa tre strumenti MCP che Claude Code può richiamare:

  1. get_file_coverage: recupera la copertura riga per riga di file specifici
  2. get_commit_coverage: accede alle statistiche di copertura di commit specifici
  3. get_repo_coverage: ottiene i dati di copertura aggregati di interi repository

Scelte di progettazione dell’API

  • URL di base configurabile: la variabile d’ambiente CODECOV_BASE_URL supporta sia codecov.io sia le istanze self-hosted
  • Autenticazione tramite token: gestione sicura del token API tramite la variabile d’ambiente CODECOV_TOKEN
  • Orientato a GitHub: l’implementazione attuale è rivolta ai repository GitHub (estendibile a GitLab e Bitbucket)
  • Gestione degli errori: messaggi di errore completi per autenticazione fallita, problemi di rete e parametri non validi

Processo di sviluppo

Sviluppo rapido assistito da SI/IA

Questo progetto mette in mostra la SI/IA che costruisce strumenti per la SI/IA: Claude Code è stato usato per realizzare un server MCP che estende le capacità di Claude Code stesso.

Tempo di sviluppo totale: 2 ore

  • Sviluppo dell’MVP: 30 minuti (client API di base + handler degli strumenti MCP)
  • Test e qualità: 1 ora (100% di copertura raggiunto con Vitest)
  • Documentazione e rifinitura: 30 minuti (README di 350 righe con risoluzione dei problemi)

Flusso di lavoro

  1. Raccolta dei requisiti (5 min): analisi del server MCP archiviato e individuazione delle lacune
  2. Pianificazione dell’architettura (10 min): progettazione della struttura dei moduli TypeScript con la SI/IA
  3. Prototipazione rapida (30 min): implementazione iniziale generata dalla SI/IA, con integrazione dell’MCP SDK
  4. Affinamento guidato dai test (1 ora): scrittura di test approfonditi e iterazioni fino al 100% di copertura
  5. Documentazione (30 min): stesura del README assistita da SI/IA, con guida alla risoluzione dei problemi
  6. Pubblicazione (15 min): configurazione del pacchetto npm, versionamento e rilascio nel registry

Ambiente di sviluppo

  • IDE: VS Code con il language server di TypeScript
  • Assistente SI/IA: Claude Code per generazione del codice, scrittura dei test e documentazione
  • Controllo di versione: Git con conventional commits
  • CI/CD: GitHub Actions per test automatizzati e pubblicazione su npm
  • Gestore di pacchetti: npm per la gestione delle dipendenze e la pubblicazione

Scelte di sviluppo chiave

  • TypeScript anziché JavaScript: la tipizzazione sicura previene gli errori a runtime e migliora la manutenibilità
  • Vitest anziché Jest: esecuzione dei test più rapida, miglior supporto a ESM, esperienza di sviluppo moderna
  • Test con API simulate: i test unitari usano risposte simulate di Codecov per affidabilità e velocità
  • README completo: individuati in anticipo i punti critici (token di autenticazione, configurazione dell’URL di base) e documentate le soluzioni

Funzionalità principali

Strumenti di interrogazione della copertura

Copertura a livello di file

  • Recupera i dati di copertura riga per riga di file specifici
  • Parametri: owner, repo, percorso del file, SHA del commit facoltativo
  • Restituisce: una mappa dettagliata della copertura con le righe coperte e non coperte
  • Caso d’uso: individuare le sezioni di codice non testate durante la code review

Analisi della copertura per commit

  • Accede alle statistiche di copertura di commit specifici
  • Parametri: owner, repo, SHA del commit
  • Restituisce: percentuali di copertura aggregate e dettaglio per file
  • Caso d’uso: monitorare le variazioni di copertura nelle pull request

Panoramica della copertura del repository

  • Ottiene le metriche di copertura dell’intero progetto
  • Parametri: owner, repo, branch facoltativo
  • Restituisce: percentuale di copertura totale, andamenti e dati storici
  • Caso d’uso: monitoraggio della copertura in stile dashboard

Funzionalità enterprise

  • Supporto self-hosted: URL di base configurabile per le istanze di Codecov Enterprise
  • Supporto cloud: funziona subito con codecov.io usando la configurazione predefinita
  • Autenticazione sicura: gestione del token API basata su variabili d’ambiente
  • Resilienza agli errori: gestione completa degli errori con messaggi che indicano come intervenire

Esperienza dello sviluppatore

  • Installazione globale della CLI: npm install -g mcp-server-codecov
  • Modelli di configurazione MCP: configurazioni pronte da copiare e incollare per Claude Desktop e Claude Code
  • Guida alla risoluzione dei problemi: il README di 350 righe affronta i problemi di configurazione più comuni
  • Tipi TypeScript: i tipi esportati per le risposte dell’API consentono integrazioni con tipizzazione sicura

Sfide tecniche risolte

Sfida 1: confusione sui token di autenticazione

Problema: l’implementazione iniziale falliva con errori 401 nonostante credenziali Codecov “valide”.

Individuazione della causa principale: Codecov utilizza due tipi di token distinti:

  • Token di upload: usati dalla CI/CD per caricare i report di copertura (si trovano nelle impostazioni dell’interfaccia di Codecov)
  • Token API: usati per accedere ai dati tramite l’API REST (vanno generati separatamente)

Inizialmente il team aveva usato i token di upload, che non dispongono dei permessi di accesso all’API.

Soluzione:

  • Documentata con chiarezza nel README la differenza tra i tipi di token
  • Aggiunta una sezione di risoluzione dei problemi che spiega gli errori di autenticazione
  • Fornita una guida passo passo per generare i token API corretti
  • Implementati messaggi di errore chiari che distinguono gli errori di autenticazione dai problemi di rete

Risultato: grazie a una documentazione proattiva, i futuri utenti evitano 30 minuti di debug a vuoto.

Sfida 2: supporto enterprise e cloud

Problema: il server MCP archiviato funzionava solo con le istanze cloud di codecov.io. I team che usavano Codecov Enterprise in modalità self-hosted non potevano utilizzare lo strumento.

Soluzione:

  • Reso configurabile l’URL di base tramite la variabile d’ambiente CODECOV_BASE_URL
  • Valore predefinito https://codecov.io per gli utenti cloud (nessuna configurazione necessaria)
  • Sostituibile con un URL personalizzato per le installazioni enterprise
  • Documentati entrambi i casi d’uso con configurazioni di esempio

Risultato: un’unica codebase serve sia gli utenti cloud sia quelli enterprise, senza fork né logica condizionale.

Sfida 3: 100% di copertura dei test in 1 ora

Problema: raggiungere una copertura dei test da produzione entro un limite rigoroso di 2 ore, senza compromettere la qualità del codice.

Soluzione:

  • Risposte API simulate: usati i mock di Vitest per simulare l’API di Codecov senza chiamate di rete
  • Generazione dei test assistita da SI/IA: Claude Code ha generato casi di test approfonditi che coprono i casi limite
  • Iterazione guidata dalla copertura: eseguito vitest --coverage ripetutamente, colmando le lacune fino al 100%
  • Struttura dei test: separati i test unitari (client API) dai test di integrazione (server MCP)

Risultato: 100% di copertura su istruzioni, branch, funzioni e righe in 1 ora di sviluppo concentrato.

Sfida 4: documentazione rapida per una configurazione complessa

Problema: la configurazione di un server MCP coinvolge più file (configurazione di Claude Desktop, impostazioni di Claude Code) e variabili d’ambiente. Una documentazione carente ne avrebbe ostacolato l’adozione.

Soluzione:

  • README generato con la SI/IA: Claude Code ha redatto una guida completa di 350 righe
  • Configurazioni da copiare e incollare: forniti gli snippet JSON esatti per i file di configurazione MCP
  • Sezione di risoluzione dei problemi: anticipati i problemi più comuni (tipo di token errato, URL di base configurato male)
  • Percorsi specifici per piattaforma: documentate le posizioni dei file di configurazione per macOS, Windows e Linux

Risultato: nessuna issue GitHub aperta per problemi di installazione o configurazione dopo il lancio.

Risultati e impatto

Risultati tecnici

  • 100% di copertura dei test: tutti i percorsi del codice testati (istruzioni, branch, funzioni, righe)
  • Realizzato in 2 ore: MVP in 30 minuti, pronto per la produzione in 2 ore complessive
  • Pubblicato su npm: disponibile a livello globale come pacchetto mcp-server-codecov
  • Una sola dipendenza a runtime: solo l’SDK MCP; tutto il resto sono dipendenze di sviluppo per test e build
  • Tipizzazione sicura con TypeScript: la copertura completa dei tipi previene gli errori a runtime
  • Documentazione completa: README di 350 righe con risoluzione dei problemi

Impatto sulla produttività degli sviluppatori

  • Eliminato il cambio di contesto: gli sviluppatori possono consultare la copertura senza uscire da Claude Code
  • Flusso di lavoro nativo per la SI/IA: Claude può individuare in modo proattivo le lacune nei test durante la code review
  • Feedback immediato sulla copertura: nessuna navigazione manuale nell’interfaccia web di Codecov
  • Revisione delle PR potenziata: dati di copertura disponibili durante le code review assistite da SI/IA

Contributo open source

  • Crescita dell’ecosistema MCP: aggiunto uno strumento pronto per l’uso aziendale alla directory dei server MCP di Anthropic
  • Sostituzione di un progetto archiviato: offerta un’alternativa attivamente manutenuta a una soluzione abbandonata
  • Adozione in ambito enterprise: il supporto self-hosted ne consente l’uso nei settori regolamentati
  • Modello per la community: dimostra un pattern per lo sviluppo rapido di server MCP

Validazione dello sviluppo basato sulla SI/IA

Questo progetto conferma la tesi della SI/IA che costruisce strumenti per la SI/IA:

  • MVP in 30 minuti: l’assistenza della SI/IA ha compresso giorni di lavoro in pochi minuti
  • Qualità mantenuta: il 100% di copertura dei test dimostra che la SI/IA può rispettare gli standard di produzione
  • Documentazione eccellente: README di 350 righe scritto con l’assistenza della SI/IA
  • Iterazione rapida: lacune di copertura individuate e colmate in minuti, non in ore

Cronologia dello sviluppo

Sessione 1: realizzazione rapida (2 ore in totale)

Fase 1: sviluppo dell’MVP (30 minuti)

  • Analisi dei requisiti e pianificazione dell’architettura (10 min)
  • Implementazione del client API di Codecov con autenticazione (10 min)
  • Configurazione del server MCP con integrazione dell’SDK (5 min)
  • Handler di base degli strumenti per le interrogazioni sulla copertura (5 min)

Fase 2: test e qualità (60 minuti)

  • Installazione e configurazione di Vitest (10 min)
  • Test unitari del client API con risposte simulate (20 min)
  • Test di integrazione degli strumenti del server MCP (20 min)
  • Analisi delle lacune di copertura e aggiunta di test fino al 100% (10 min)

Fase 3: documentazione e pubblicazione (30 minuti)

  • README completo con guida all’installazione (15 min)
  • Sezione di risoluzione dei problemi di autenticazione e configurazione (10 min)
  • Configurazione e pubblicazione del pacchetto npm (5 min)

Dopo il lancio: manutenzione

  • v1.0.0: rilascio iniziale con le funzionalità principali
  • v1.0.1: correzione di un bug in un caso limite di configurazione
  • In corso: supporto alla community tramite issue GitHub (minimo, perché un’ottima documentazione previene i problemi)

Strumenti e flusso di lavoro

  • Sviluppo con la SI/IA: Claude Code per la generazione rapida del codice e la scrittura dei test
  • IDE: VS Code con TypeScript IntelliSense
  • Test: Vitest con report di copertura
  • Controllo di versione: Git con conventional commits
  • Pubblicazione: registry npm per la distribuzione globale
  • CI/CD: GitHub Actions per i test automatizzati sulle pull request

Tecnologie utilizzate

  • TypeScript 5.7+: sviluppo con tipizzazione sicura e async/await moderno
  • MCP SDK: @modelcontextprotocol/sdk per l’implementazione del protocollo
  • Vitest: framework di test veloce e moderno con report di copertura
  • Node.js 18+: ambiente di runtime per il server MCP
  • fetch integrato: client HTTP di Node.js per le richieste all’API di Codecov
  • npm: gestione dei pacchetti e distribuzione globale della CLI
  • GitHub Actions: CI/CD per test automatizzati e pubblicazione

Punti chiave

Questo progetto dimostra il potenziale trasformativo dello sviluppo assistito da SI/IA nella realizzazione di strumenti per sviluppatori di qualità da produzione:

  1. Velocità accelerata dalla SI/IA: 2 ore di sviluppo, dall’idea a un pacchetto npm pubblicato con il 100% di copertura dei test
  2. La SI/IA che costruisce strumenti per la SI/IA: il risultato, quasi meta, di usare Claude Code per realizzare server MCP che estendono le capacità di Claude
  3. Qualità senza compromessi: l’assistenza della SI/IA consente uno sviluppo rapido senza sacrificare test, documentazione o qualità del codice
  4. Consegna pronta per l’uso aziendale: il supporto self-hosted e la documentazione completa soddisfano gli standard di produzione
  5. Competenza su MCP: dimostra la specializzazione nell’ecosistema degli strumenti di SI/IA più all’avanguardia
  6. Competenze negli strumenti per sviluppatori: capacità di individuare i punti critici e rilasciare soluzioni rapidamente
  7. Impatto open source: sostituito un progetto archiviato con un’alternativa più completa e attivamente manutenuta

Il futuro dello sviluppo: questo progetto esemplifica il modello emergente in cui l’assistenza della SI/IA comprime progetti di settimane in poche ore, mantenendo standard di qualità professionali. Il risultato: gli sviluppatori possono rilasciare più strumenti, più rapidamente e con una qualità mai vista prima.

Veda su npm → | Veda su GitHub → | Legga l’articolo del blog →

    ↑