Claude Architect · Lezione

Server della community vs personalizzati

Preferisca server collaudati per le integrazioni standard.

Lezione 4 di 413 passaggi

Server della community vs personalizzati è una lezione Claude Architect gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Claude Architect, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Claude Architect include 4 lezioni in totale.

La decisione: creare o adottare

Ogni integrazione MCP inizia con un bivio: dovete adottare un server della community già creato da qualcuno oppure scriverne uno personalizzato da zero?

La scelta predefinita, valida per l'esame, è chiara: preferite server MCP della community collaudati per le integrazioni standard. Ricorrete a un server personalizzato solo quando la vostra esigenza è realmente non standard.

Questa lezione vi insegna a prendere questa decisione come un architect, valutando manutenzione, sicurezza e funzionalità, non solo il numero di righe di codice.

Cosa offre realmente un server MCP

Prima di scegliere, ricordate che cosa espone un server. I server MCP offrono tre primitive:

  • Tools — azioni che il modello può invocare (creare un issue, eseguire una query).
  • Resources — dati e contesto in sola lettura (schemi, cataloghi, file).
  • Prompts — modelli riutilizzabili.

Un'"integrazione standard" — GitHub, Postgres, Slack, filesystem — corrisponde quasi sempre a queste primitive in un modo che la community ha già risolto. È proprio questa sovrapposizione a rendere preferibile l'adozione rispetto alla ricostruzione.

Perché i server collaudati vincono nei casi standard

Un server della community ampiamente utilizzato non è solo codice: è il risultato di un consolidamento maturato in produzione:

  • Casi limite scoperti da centinaia di utenti e già corretti.
  • Flussi di autenticazione, paginazione e gestione dei limiti di frequenza verificati sul campo.
  • Descrizioni degli strumenti perfezionate nel tempo; le descrizioni sono il meccanismo principale che il modello usa per selezionare gli strumenti.
  • Manutenzione continua per la quale non dovete impiegare personale.

Ricostruire da zero un server GitHub o Postgres significa riscoprire ogni bug che la community ha già corretto.

Adottare un server della community

L'adozione consiste di solito in una voce di configurazione, non in un progetto di sviluppo. Registrate il server nella configurazione MCP e il modello acquisisce i relativi strumenti e risorse.

Notate la scelta dell'ambito: un file .mcp.json nella radice del progetto è condiviso tramite il controllo versione, quindi l'intero team ottiene la stessa integrazione.

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}

Segreti: non eseguite mai il commit dei token

Adottare un server in modo sicuro significa gestire correttamente le credenziali. Inserite i segreti tramite variabili d'ambiente come ${GITHUB_TOKEN}; non inserite mai direttamente un token in .mcp.json, perché questo file viene sottoposto a commit in VCS.

Vale sia per i server della community sia per quelli personalizzati. La configurazione è condivisa; il segreto no.

# Provide the secret at runtime, not in the committed config
export GITHUB_TOKEN="ghp_your_real_token_here"

# .mcp.json references ${GITHUB_TOKEN} — the literal token never lands in git

Ambito di progetto e ambito utente

Il punto in cui registrate un server determina chi lo riceve:

  • Ambito di progetto — .mcp.json nel repository, condiviso tramite VCS. Usatelo per le integrazioni necessarie all'intero team (il server Postgres condiviso, il server GitHub del team).
  • Ambito utente — ~/.claude.json, personale e NON condiviso. Usatelo per le vostre credenziali o per server sperimentali.

Per un'integrazione standard destinata a tutto il team, un server collaudato nell'ambito di progetto è la scelta più pulita.

Quando è giustificato un server personalizzato

La scelta personalizzata è corretta quando non esiste un server collaudato adatto, in genere perché l'integrazione è proprietaria o non standard:

  • Un'API o un servizio interno sviluppato dall'azienda, a cui nessun server della community si rivolge.
  • Logica aziendale specifica del dominio che deve risiedere dietro lo strumento.
  • La necessità di esporre errori strutturati e recuperabili in un modo che solo voi potete modellare.

La regola decisionale è: integrazione standard → adottare; superficie proprietaria o innovativa → creare.

I server personalizzati richiedono buone descrizioni degli strumenti

Quando create un server, vi assumete responsabilità che un server maturo della community ha già assolto. Tra queste, la principale riguarda le descrizioni degli strumenti, il meccanismo di selezione primario.

Una buona descrizione specifica lo scopo, i valori restituiti, i formati degli input con esempi e i limiti di applicabilità. Descrizioni minime o ambigue fanno sì che il modello indirizzi erroneamente le chiamate.

@tool(
    description=(
        "Fetch an internal order by its UUID. "
        "Returns order status, line items, and total in cents. "
        "Input: order_id as a 36-char UUID, e.g. '3f2a...'. "
        "Use only for internal warehouse orders; not for marketplace orders."
    )
)
def get_internal_order(order_id: str) -> dict:
    ...

I server personalizzati devono restituire errori strutturati

Un generico "Operation failed" impedisce il recupero: il modello non può distinguere un timeout temporaneo da un rifiuto per mancanza di autorizzazioni. Un server collaudato restituisce in genere già errori strutturati; anche il vostro server personalizzato deve farlo.

Restituite una struttura con: un flag isError e un errorCategory (transient / validation / business / permission), isRetryable, un messaggio, la query tentata ed eventuali risultati parziali. È questo che consente di decidere in modo intelligente l'instradamento e i nuovi tentativi.

return {
    "isError": True,
    "errorCategory": "transient",
    "isRetryable": True,
    "message": "Upstream warehouse API timed out after 5s",
    "attempted_query": {"order_id": order_id},
    "partial_results": []
}

Non sovraccaricate un server personalizzato

Un anti-pattern allettante consiste nel comprimere ogni endpoint interno in un unico enorme server personalizzato. Evitatelo.

L'affidabilità della selezione diminuisce all'aumentare degli strumenti: 4–5 strumenti per agent è il valore ottimale; con 18 o più la selezione peggiora sensibilmente. Limitate ogni server a un ruolo coerente e fate in modo che il modello veda solo gli strumenti adatti al compito.

Questo è un altro motivo per cui l'adozione è vantaggiosa: un server mirato della community ha già un ambito definito, mentre uno personalizzato molto esteso vi tenta a inserire troppi strumenti.

Un approccio ibrido è normale

Nella maggior parte delle architetture reali si usano entrambe le soluzioni. Adottate server collaudati per la parte standard e create un server personalizzato sottile solo per la parte proprietaria.

  • Server GitHub della community per le operazioni sui repository.
  • Server Postgres della community per il catalogo in sola lettura (esposto come Resources).
  • Server billing personalizzato per la logica interna di determinazione dei prezzi e gli errori strutturati.

La competenza non consiste nello scegliere una sola parte, ma nel tracciare per ogni integrazione il confine tra "standard" e "proprietario".

Verifica rapida: scegliere un server

State progettando un agent che deve leggere gli issue e aprire pull request su GitHub: si tratta di un'integrazione completamente standard. Esiste un server MCP GitHub della community maturo e ampiamente utilizzato. Qual è la scelta migliore?

Riepilogo: adottare per impostazione predefinita, creare con intenzione

Punti chiave:

  • Preferite server MCP della community collaudati per le integrazioni standard: ereditate consolidamento, manutenzione e descrizioni degli strumenti perfezionate.
  • Create server personalizzati solo per superfici proprietarie o non standard (API interne, logica di dominio).
  • Quando create un server, siete responsabili degli aspetti più complessi: descrizioni dettagliate degli strumenti (il meccanismo di selezione) ed errori strutturati (isError + errorCategory + isRetryable).
  • Mantenete i server circoscritti: 4–5 strumenti è il valore ottimale; evitate server estesi con 18 o più strumenti.
  • Condividete tramite .mcp.json nell'ambito di progetto; inserite i segreti con variabili d'ambiente come ${TOKEN}, senza mai sottoporli a commit.

Adottate per impostazione predefinita, create con intenzione.

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
26
Lezioni
104

Domande Frequenti

La lezione «Server della community vs personalizzati» è gratuita?

Sì — il testo completo di «Server della community vs personalizzati» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Claude Architect, passa a CoddyKit PRO. Il corso Claude Architect include 4 lezioni in totale.

Cosa imparerò in «Server della community vs personalizzati»?

Preferisca server collaudati per le integrazioni standard. Eserciti Claude Architect con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Claude Architect?

Non è richiesta alcuna esperienza precedente. Claude Architect su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Server della community vs personalizzati»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Claude Architect?

Sì. Ogni lezione Claude Architect include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Tools, Resources e Prompts
  2. Ambito del progetto vs dell’utente
  3. Segreti con variabili d’ambiente
  4. Server della community vs personalizzati
← Torna a Claude Architect