Serveur MCP TypeScript
Générez un serveur TypeScript Model Context Protocol (MCP) pour fournir du contexte aux grands modèles de langage (LLM).
Qu’est-ce que le MCP ?
Section intitulée « Qu’est-ce que le MCP ? »Le Model Context Protocol (MCP) est un standard ouvert permettant aux assistants IA d’interagir avec des outils et ressources externes. Il fournit une méthode cohérente pour que les LLM puissent :
- Exécuter des outils (fonctions) qui effectuent des actions ou récupèrent des informations
- Accéder à des ressources fournissant du contexte ou des données
Utilisation
Section intitulée « Utilisation »Générer un serveur MCP
Section intitulée « Générer un serveur MCP »Vous pouvez générer un serveur MCP TypeScript de deux manières :
- Installez le Nx Console VSCode Plugin si ce n'est pas déjà fait
- Ouvrez la console Nx dans VSCode
- Cliquez sur
Generate (UI)
dans la section "Common Nx Commands" - Recherchez
@aws/nx-plugin - ts#mcp-server
- Remplissez les paramètres requis
- Cliquez sur
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
Vous pouvez également effectuer une simulation pour voir quels fichiers seraient modifiés
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
Paramètre | Type | Par défaut | Description |
---|---|---|---|
project Requis | string | - | The project to add an MCP server to |
name | string | - | The name of your MCP server (default: mcp-server) |
Résultat du générateur
Section intitulée « Résultat du générateur »Le générateur ajoutera les fichiers suivants à votre projet TypeScript existant :
Répertoireyour-project/
Répertoiresrc/
Répertoiremcp-server/ (ou nom personnalisé si spécifié)
- index.ts Point d’entrée du serveur MCP
- server.ts Définition principale du serveur
Répertoiretools/
- add.ts Exemple d’outil
Répertoireresources/
- sample-guidance.ts Exemple de ressource
- package.json Mis à jour avec l’entrée bin et les dépendances MCP
- project.json Mis à jour avec la cible de service du serveur MCP
Utilisation de votre serveur MCP
Section intitulée « Utilisation de votre serveur MCP »Ajout d’outils
Section intitulée « Ajout d’outils »Les outils sont des fonctions que l’assistant IA peut appeler pour effectuer des actions. Vous pouvez ajouter de nouveaux outils dans le fichier server.ts
:
server.tool("toolName", "tool description", { param1: z.string(), param2: z.number() }, // Schéma d'entrée utilisant Zod async ({ param1, param2 }) => { // Implémentation de l'outil return { content: [{ type: "text", text: "Result" }] }; });
Ajout de ressources
Section intitulée « Ajout de ressources »Les ressources fournissent du contexte à l’assistant IA. Vous pouvez ajouter des ressources statiques depuis des fichiers ou des ressources dynamiques :
const exampleContext = 'some context to return';
server.resource('resource-name', 'example://resource', async (uri) => ({ contents: [{ uri: uri.href, text: exampleContext }],}));
// Ressource dynamiqueserver.resource('dynamic-resource', 'dynamic://resource', async (uri) => { const data = await fetchSomeData(); return { contents: [{ uri: uri.href, text: data }], };});
Configuration avec des assistants IA
Section intitulée « Configuration avec des assistants IA »Fichiers de configuration
Section intitulée « Fichiers de configuration »La plupart des assistants IA compatibles avec MCP utilisent une approche de configuration similaire. Vous devrez créer ou mettre à jour un fichier de configuration avec les détails de votre serveur MCP :
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "/path/to/your-mcp-server/index.ts"] } }}
Rechargement à chaud
Section intitulée « Rechargement à chaud »Pendant le développement de votre serveur MCP, vous pouvez configurer le flag --watch
pour que l’assistant IA voit toujours les dernières versions des outils/ressources :
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/index.ts"] } }}
Configuration spécifique à l’assistant
Section intitulée « Configuration spécifique à l’assistant »Consultez la documentation suivante pour configurer MCP avec des assistants IA spécifiques :
Exécution du serveur MCP
Section intitulée « Exécution du serveur MCP »La méthode la plus simple pour tester et utiliser un serveur MCP est de le configurer avec un assistant IA (comme ci-dessus). Vous pouvez cependant exécuter le serveur en utilisant la cible <your-server-name>-serve
, ce qui peut être utile si vous passez du transport STDIO au transport HTTP streamable.
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
Cette commande utilise tsx --watch
pour redémarrer automatiquement le serveur lors des modifications de fichiers.