Come creare un server MCP in TypeScript

Come creare un server MCP

Come creare un server MCP in TypeScript (SDK v2) | We.Inc

Crea un server MCP funzionante con l'SDK TypeScript ufficiale v2: installa, registra un tool con uno schema Zod, connettilo via stdio e testalo nell'MCP Inspector.

Installa il pacchetto ufficiale @modelcontextprotocol/server e Zod, crea un McpServer con nome e versione, registra ogni tool con registerTool, una descrizione e uno schema di input Zod, poi collega uno StdioServerTransport. Esegui npx @modelcontextprotocol/inspector per chiamare i tuoi tool a mano prima che qualsiasi applicazione AI li tocchi.

I pezzi che ti servono

Spunta ogni passaggio man mano che procedi. La checklist ricorda dove sei arrivato, e ogni passaggio ha il comando o il file esatto che ti serve. Il server finito cerca in un piccolo elenco di note, sufficiente per vedere ogni parte in movimento senza un database.

Domande frequenti

Quale pacchetto npm devo installare?

Per la versione 2 dell'SDK, installa @modelcontextprotocol/server per i server e @modelcontextprotocol/client per i client. Il vecchio pacchetto v1, @modelcontextprotocol/sdk, vive su un branch v1.x e riceve correzioni di bug e di sicurezza per almeno sei mesi dopo il rilascio della v2.

Mi serve Zod?

Il README della v2 usa Zod v4 per gli schemi di input e lo importa da zod/v4, e dice che funzionano anche altre librerie Standard Schema come Valibot e ArkType. Installa quella che scegli insieme all'SDK.

Il server può girare su Bun o Deno?

Il README dell'SDK dice che gira su Node.js, Bun e Deno. L'Inspector è uno strumento Node separato e il suo README richiede Node 22.19.0 o successivo.

Come rendo il server disponibile da remoto?

Sostituisci il transport stdio con Streamable HTTP e ospita il processo in un posto raggiungibile. Aggiungi l'autenticazione prima di esporre qualsiasi tool che modifica dati, perché chiunque raggiunga l'URL può inviare richieste.

Come faccio a sapere se un'applicazione AI capirà il mio tool?

Leggi la descrizione e lo schema come se non sapessi nient'altro del progetto. Se un estraneo non riuscisse a capire quando chiamare il tool e cosa passargli, anche un modello andrà a tentativi. L'Inspector mostra esattamente ciò che vedrà un host.

Perché partire da stdio

Progettare la risposta dell'handler

Il server completo

Due file. Sostituisci l'array notes con ciò in cui il tuo server deve cercare.

type module permette di eseguire direttamente la sintassi import ES; lo script start usa tsx così salti la fase di build.

Un tool con uno schema Zod, una semplice funzione di ricerca e una connessione stdio. I log vanno su stderr così non si mescolano mai con i messaggi del protocollo.

Testalo con l'Inspector

L'Inspector ha tre modalità. La UI web è il punto di partenza più facile; la modalità CLI è adatta a script e CI.

Modalità dell'Inspector

Nella UI web, connettiti con il comando che avvia il tuo server (npx tsx server.ts), poi apri l'elenco dei tool.

Installa l'SDK, Zod e un runner TypeScript

Scrivi server.ts con un tool

Avvia il server una volta per verificare che non vada in crash

Apri l'Inspector e connettiti al tuo server

Elenca i tool e chiama notes_search a mano

Checklist di realizzazione

{n} di {v} passaggi completati

Togli le spunte

Copia comando

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito