MCP Academy · Lezione

Eseguire il server con stdio

Avvii il server affinché un client possa connettersi localmente.

Lezione 3 di 413 passaggi

Eseguire il server con stdio è 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.

È il momento di avviarlo

Ha un oggetto server e uno strumento. Ora deve effettivamente eseguirlo, così un client potrà connettersi e usare ciò che ha creato. 🏃

Che cosa significa stdio

Il trasporto più semplice è stdio: input e output standard. Il client avvia lo script e comunica con esso attraverso questi due flussi.

Chiamare run()

Avviare il server richiede un solo metodo. La chiamata a mcp.run() trasferisce il controllo a FastMCP, che inizia subito ad ascoltare i messaggi.

mcp.run()

Scegliere il trasporto

Passi un argomento transport per rendere esplicita la scelta. Per l'uso locale serve "stdio", che è anche il valore predefinito quando chiama run.

mcp.run(transport="stdio")

Il controllo principale

Racchiuda la chiamata nel classico controllo __main__. In questo modo il server si avvia solo quando il file viene eseguito direttamente, non quando viene importato.

if __name__ == "__main__":
    mcp.run()

Il file completo

Ecco un server completo: importazione, istanza, strumento ed esecuzione. Bastano poche righe perché possa comunicare tramite MCP.

from mcp.server.fastmcp import FastMCP
mcp = FastMCP("demo")

@mcp.tool()
def hello() -> str:
    return "Hi!"

if __name__ == "__main__":
    mcp.run()

stdout è riservato

Una regola fondamentale: non esegua mai print sull'output standard. Quel flusso trasporta i messaggi del protocollo e il testo estraneo li corromperebbe.

Scrivere invece su stderr

Deve eseguire il debug? Scriva su stderr, non su stdout. Il client ignora stderr, quindi le annotazioni rimangono fuori dal flusso del protocollo.

import sys
print("starting up", file=sys.stderr)

È il client ad avviarla

Con stdio, raramente esegue lo script manualmente. L'applicazione host avvia il processo al suo posto usando un comando configurato.

Attende, non resta inattivo in un ciclo

Dopo run(), il server rimane bloccato in attesa dei messaggi. Non è congelato: sta ascoltando la prossima richiesta del client.

stdio è solo locale

Ricordi che stdio funziona solo sulla stessa macchina, perché dipende da un processo avviato. I server remoti usano invece il trasporto HTTP, che vedremo più avanti.

Verifica rapida

Perché deve evitare un semplice print() in un server stdio?

Riepilogo

Ha eseguito il server con mcp.run() tramite stdio, lo ha protetto con __main__ e ha mantenuto pulito stdout. È attivo e in ascolto. Verifichiamo che funzioni! ✅

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
30
Lezioni
120

Domande Frequenti

La lezione «Eseguire il server con stdio» è gratuita?

Sì — il testo completo di «Eseguire il server con stdio» è 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 «Eseguire il server con stdio»?

Avvii il server affinché un client possa connettersi localmente. 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 «Eseguire il server con stdio»?

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. Creare un'istanza FastMCP
  2. Aggiungere uno strumento Hello
  3. Eseguire il server con stdio
  4. Verificare il caricamento e l'elenco degli strumenti
← Torna a MCP Academy