Server MCP TypeScript
Genera un server TypeScript per il Model Context Protocol (MCP) per fornire contesto ai Grandi Modelli Linguistici (LLM).
Cos’è l’MCP?
Sezione intitolata “Cos’è l’MCP?”Il Model Context Protocol (MCP) è uno standard aperto che permette agli assistenti AI di interagire con strumenti e risorse esterne. Fornisce un modo coerente per i LLM di:
- Eseguire strumenti (funzioni) che compiono azioni o recuperano informazioni
- Accedere a risorse che forniscono contesto o dati
Utilizzo
Sezione intitolata “Utilizzo”Generare un server MCP
Sezione intitolata “Generare un server MCP”Puoi generare un server MCP TypeScript in due modi:
- Installa il Nx Console VSCode Plugin se non l'hai già fatto
- Apri la console Nx in VSCode
- Clicca su
Generate (UI)
nella sezione "Common Nx Commands" - Cerca
@aws/nx-plugin - ts#mcp-server
- Compila i parametri richiesti
- Clicca su
Generate
pnpm nx g @aws/nx-plugin:ts#mcp-server
yarn nx g @aws/nx-plugin:ts#mcp-server
npx nx g @aws/nx-plugin:ts#mcp-server
bunx nx g @aws/nx-plugin:ts#mcp-server
Puoi anche eseguire una prova per vedere quali file verrebbero modificati
pnpm nx g @aws/nx-plugin:ts#mcp-server --dry-run
yarn nx g @aws/nx-plugin:ts#mcp-server --dry-run
npx nx g @aws/nx-plugin:ts#mcp-server --dry-run
bunx nx g @aws/nx-plugin:ts#mcp-server --dry-run
Opzioni
Sezione intitolata “Opzioni”Parametro | Tipo | Predefinito | Descrizione |
---|---|---|---|
project Obbligatorio | string | - | The project to add an MCP server to |
name | string | - | The name of your MCP server (default: mcp-server) |
Output del Generatore
Sezione intitolata “Output del Generatore”Il generatore aggiungerà i seguenti file al tuo progetto TypeScript esistente:
Directoryyour-project/
Directorysrc/
Directorymcp-server/ (o nome personalizzato se specificato)
- index.ts Punto d’ingresso del server MCP
- server.ts Definizione principale del server
Directorytools/
- add.ts Strumento di esempio
Directoryresources/
- sample-guidance.ts Risorsa di esempio
- package.json Aggiornato con entry bin e dipendenze MCP
- project.json Aggiornato con target serve del server MCP
Lavorare con il Server MCP
Sezione intitolata “Lavorare con il Server MCP”Aggiungere Strumenti
Sezione intitolata “Aggiungere Strumenti”Gli strumenti sono funzioni che l’assistente AI può chiamare per eseguire azioni. Puoi aggiungere nuovi strumenti nel file server.ts
:
server.tool("toolName", "tool description", { param1: z.string(), param2: z.number() }, // Input schema using Zod async ({ param1, param2 }) => { // Tool implementation return { content: [{ type: "text", text: "Result" }] }; });
Aggiungere Risorse
Sezione intitolata “Aggiungere Risorse”Le risorse forniscono contesto all’assistente AI. Puoi aggiungere risorse statiche da file o risorse dinamiche:
const exampleContext = 'some context to return';
server.resource('resource-name', 'example://resource', async (uri) => ({ contents: [{ uri: uri.href, text: exampleContext }],}));
// Risorsa dinamicaserver.resource('dynamic-resource', 'dynamic://resource', async (uri) => { const data = await fetchSomeData(); return { contents: [{ uri: uri.href, text: data }], };});
Configurazione con Assistenti AI
Sezione intitolata “Configurazione con Assistenti AI”File di configurazione
Sezione intitolata “File di configurazione”La maggior parte degli assistenti AI che supportano MCP utilizza un approccio di configurazione simile. È necessario creare o aggiornare un file di configurazione con i dettagli del server MCP:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "/path/to/your-mcp-server/index.ts"] } }}
Ricarica a caldo
Sezione intitolata “Ricarica a caldo”Durante lo sviluppo del server MCP, puoi configurare il flag --watch
affinché l’assistente AI visualizzi sempre le versioni più recenti di strumenti/risorse:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/index.ts"] } }}
Configurazione specifica dell’assistente
Sezione intitolata “Configurazione specifica dell’assistente”Consulta la seguente documentazione per configurare MCP con assistenti AI specifici:
Eseguire il Server MCP
Sezione intitolata “Eseguire il Server MCP”Il modo più semplice per testare e utilizzare un server MCP è configurarlo con un assistente AI (come sopra). Puoi comunque eseguire il server usando il target <your-server-name>-serve
, utile se passi dal trasporto STDIO al trasporto HTTP streamabile.
pnpm nx run your-project:your-server-name-serve
yarn nx run your-project:your-server-name-serve
npx nx run your-project:your-server-name-serve
bunx nx run your-project:your-server-name-serve
Questo comando utilizza tsx --watch
per riavviare automaticamente il server quando i file cambiano.