0Pricing
MCP Academy · Lezione

Negoziare le funzionalità

Verifichi quali funzionalità sono supportate da entrambe le parti.

Negoziare le funzionalità è una lezione MCP Academy gratuita su CoddyKit. Questa è la lezione 3 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 MCP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso MCP Academy include 4 lezioni in totale.

Non tutti supportano ogni funzionalità

MCP è ricco di funzionalità, ma nessun client o server le supporta tutte. Perciò, all’avvio, entrambe le parti negoziano le funzionalità disponibili, come due dispositivi che concordano su ciò che possono fare. 🤝

Avviene durante initialize

Questo accordo viene raggiunto durante l’handshake di initialize, il primo scambio in assoluto. Dopodiché ogni parte sa che cosa offre l’altra e quali funzionalità non sono disponibili.

Due insiemi di funzionalità

Il client annuncia le proprie clientCapabilities e il server annuncia le proprie serverCapabilities. Ogni insieme è semplicemente una mappa di flag di funzionalità e piccole opzioni.

Che cosa dichiara un server

Un server elenca ciò che fornisce: ad esempio tools, risorse e prompt. Se una chiave è assente, i client sanno di non dover aspettarsi quella primitiva da Lei.

"capabilities": { "tools": {}, "resources": {} }

Che cosa dichiara un client

Un client elenca le funzionalità che può offrire, come roots, sampling ed elicitation. È così che il server scopre se può almeno chiedere le radici.

"capabilities": { "roots": {}, "sampling": {} }

I sotto-flag aggiungono dettagli

Una funzionalità può contenere ulteriori opzioni. Per esempio, le radici possono includere listChanged: true, che significa che il client La informerà quando l’insieme delle radici cambia.

"roots": { "listChanged": true }

L’assenza significa no

La regola è semplice: se una funzionalità è assente, consideri la funzione non disponibile. Non chiami mai qualcosa che l’altra parte non ha promesso di poter eseguire.

Prima viene la versione

Insieme alle funzionalità, entrambe le parti inviano una protocolVersion. Devono concordare una versione comune; altrimenti la sessione viene rifiutata prima che inizi qualsiasi attività reale.

L’SDK svolge il lavoro più complesso

Raramente deve creare queste mappe a mano. Il Python SDK completa le funzionalità del server in base agli strumenti e alle risorse registrati, poi le scambia per Lei.

Leggere i flag dell’altra parte

Dopo init, può ispezionare le funzionalità del client acquisite dalla sessione. È proprio questo controllo a proteggere una chiamata facoltativa come list_roots.

caps = ctx.session.client_params.capabilities

Negoziare una volta, fidarsi per tutta la sessione

Le funzionalità vengono stabilite all’avvio e restano valide per la sessione. Può farvi affidamento per tutta la durata della connessione senza rinegoziarle a ogni chiamata.

Verifica rapida

Ricordi quando e come vengono concordate le funzionalità.

Riepilogo: l’accordo sulle funzionalità

Durante initialize, client e server si scambiano le mappe delle funzionalità e una versione del protocollo. Un flag assente indica che la funzionalità non è supportata, e l’SDK crea e legge queste informazioni per Lei. 🎯

Domande Frequenti

La lezione «Negoziare le funzionalità» è gratuita?

Sì — il testo completo di «Negoziare le funzionalità» è 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 MCP Academy, passa a CoddyKit PRO. Il corso MCP Academy include 4 lezioni in totale.

Cosa imparerò in «Negoziare le funzionalità»?

Verifichi quali funzionalità sono supportate da entrambe le parti. Eserciti MCP Academy 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 MCP Academy?

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

Quanto tempo richiede la lezione «Negoziare le funzionalità»?

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 MCP Academy?

Sì. Ogni lezione MCP Academy 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. Che cosa comunicano le root a un server
  2. Richiedere le root del client
  3. Negoziare le funzionalità
  4. Rispettare i limiti del client
← Torna a MCP Academy