ts#mcp-server
Générateur de serveur MCP TypeScript
Section intitulée « Générateur de serveur MCP TypeScript »Générez un serveur Model Context Protocol (MCP) en TypeScript pour fournir du contexte aux grands modèles de langage (LLMs).
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 LLMs puissent :
- Exécuter des outils (fonctions) réalisant des actions ou récupérant 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 |
---|---|---|---|
name Requis | string | - | MCP server project name. |
directory | string | packages | Parent directory where the MCP server is placed. |
subDirectory | string | - | The sub directory the MCP server is placed in. By default this is the MCP server project name. |
Résultat du générateur
Section intitulée « Résultat du générateur »Le générateur créera les fichiers projet suivants :
Répertoirepackages/<name>/
- README.md Documentation du serveur MCP avec instructions d’utilisation
- project.json Configuration de projet Nx avec les cibles build, bundle et dev
Répertoiresrc/
- index.ts Point d’entrée du serveur MCP
- server.ts Définition principale du serveur, décrivant les outils et ressources
- global.d.ts Déclarations de types TypeScript pour l’import de fichiers markdown
Répertoireresources/
- example-context.md Exemple de fichier markdown utilisé comme ressource pour le 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 :
// Ressource statique depuis un fichierimport exampleContext from './resources/example-context.md';
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 les assistants IA
Section intitulée « Configuration avec les assistants IA »Pour utiliser votre serveur MCP avec des assistants IA, vous devez d’abord le bundler :
pnpm nx run your-mcp-server:bundle
yarn nx run your-mcp-server:bundle
npx nx run your-mcp-server:bundle
bunx nx run your-mcp-server:bundle
Ceci crée une version bundle dans dist/packages/your-mcp-server/bundle/index.js
(le chemin peut varier selon votre configuration).
Fichiers de configuration
Section intitulée « Fichiers de configuration »La plupart des assistants IA supportant 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": "node", "args": [ "/path/to/workspace/dist/packages/your-mcp-server/bundle/index.js" ], "transportType": "stdio" } }}
Remplacez /path/to/workspace/dist/packages/your-mcp-server/bundle/index.js
par le chemin réel vers votre serveur MCP bundle.
Configuration spécifique aux assistants
Section intitulée « Configuration spécifique aux assistants »Veuillez consulter la documentation suivante pour configurer MCP avec des assistants IA spécifiques :
Note: Tous les éléments soumis étaient des noms de produits/projets ou des liens techniques - aucun contenu traduisible n’était présent dans le texte source selon les contraintes données.
Workflow de développement
Section intitulée « Workflow de développement »Cibles de build
Section intitulée « Cibles de build »Le générateur est basé sur le générateur de projet TypeScript et hérite donc de ses cibles, tout en ajoutant les cibles supplémentaires suivantes :
La tâche bundle
utilise esbuild pour créer un fichier JavaScript unique qui peut être utilisé avec les assistants IA :
pnpm nx run your-mcp-server:bundle
yarn nx run your-mcp-server:bundle
npx nx run your-mcp-server:bundle
bunx nx run your-mcp-server:bundle
Ceci crée une version bundle dans dist/packages/your-mcp-server/bundle/index.js
(le chemin peut varier selon votre configuration).
La tâche dev
surveille les modifications de votre projet et reconstruit automatiquement le bundle :
pnpm nx run your-mcp-server:dev
yarn nx run your-mcp-server:dev
npx nx run your-mcp-server:dev
bunx nx run your-mcp-server:dev
Ceci est particulièrement utile pendant le développement car il garantit que votre assistant IA utilise la dernière version de votre serveur MCP.