Servidor MCP de TypeScript
Genera un servidor TypeScript del Model Context Protocol (MCP) para proporcionar contexto a Modelos de Lenguaje Grandes (LLMs).
¿Qué es MCP?
Sección titulada «¿Qué es MCP?»El Model Context Protocol (MCP) es un estándar abierto que permite a asistentes de IA interactuar con herramientas y recursos externos. Proporciona una forma consistente para que los LLMs puedan:
- Ejecutar herramientas (funciones) que realizan acciones o recuperan información
- Acceder a recursos que proveen contexto o datos
Generar un servidor MCP
Sección titulada «Generar un servidor MCP»Puedes generar un servidor MCP en TypeScript de dos formas:
- Instale el Nx Console VSCode Plugin si aún no lo ha hecho
- Abra la consola Nx en VSCode
- Haga clic en
Generate (UI)
en la sección "Common Nx Commands" - Busque
@aws/nx-plugin - ts#mcp-server
- Complete los parámetros requeridos
- Haga clic en
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
También puede realizar una ejecución en seco para ver qué archivos se cambiarían
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
Opciones
Sección titulada «Opciones»Parámetro | Tipo | Predeterminado | Descripción |
---|---|---|---|
project Requerido | string | - | The project to add an MCP server to |
name | string | - | The name of your MCP server (default: mcp-server) |
Salida del generador
Sección titulada «Salida del generador»El generador agregará los siguientes archivos a tu proyecto TypeScript existente:
Directoryyour-project/
Directorysrc/
Directorymcp-server/ (o nombre personalizado si se especifica)
- index.ts Punto de entrada para el servidor MCP
- server.ts Definición principal del servidor
Directorytools/
- add.ts Herramienta de ejemplo
Directoryresources/
- sample-guidance.ts Recurso de ejemplo
- package.json Actualizado con entrada bin y dependencias MCP
- project.json Actualizado con el target serve del servidor MCP
Trabajando con tu servidor MCP
Sección titulada «Trabajando con tu servidor MCP»Agregar herramientas
Sección titulada «Agregar herramientas»Las herramientas son funciones que el asistente de IA puede llamar para realizar acciones. Puedes agregar nuevas herramientas en el archivo server.ts
:
server.tool("toolName", "tool description", { param1: z.string(), param2: z.number() }, // Esquema de entrada usando Zod async ({ param1, param2 }) => { // Implementación de la herramienta return { content: [{ type: "text", text: "Result" }] }; });
Agregar recursos
Sección titulada «Agregar recursos»Los recursos proveen contexto al asistente de IA. Puedes agregar recursos estáticos desde archivos o recursos dinámicos:
const exampleContext = 'some context to return';
server.resource('resource-name', 'example://resource', async (uri) => ({ contents: [{ uri: uri.href, text: exampleContext }],}));
// Recurso dinámicoserver.resource('dynamic-resource', 'dynamic://resource', async (uri) => { const data = await fetchSomeData(); return { contents: [{ uri: uri.href, text: data }], };});
Configuración con asistentes de IA
Sección titulada «Configuración con asistentes de IA»Archivos de configuración
Sección titulada «Archivos de configuración»La mayoría de los asistentes de IA que admiten MCP utilizan un enfoque de configuración similar. Deberás crear o actualizar un archivo de configuración con los detalles de tu servidor MCP:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "/path/to/your-mcp-server/index.ts"] } }}
Recarga en caliente
Sección titulada «Recarga en caliente»Durante el desarrollo de tu servidor MCP, puedes configurar el flag --watch
para que el asistente de IA siempre vea las versiones más recientes de las herramientas/recursos:
{ "mcpServers": { "your-mcp-server": { "command": "npx", "args": ["tsx", "--watch", "/path/to/your-mcp-server/index.ts"] } }}
Configuración específica del asistente
Sección titulada «Configuración específica del asistente»Consulta la siguiente documentación para configurar MCP con asistentes de IA específicos:
Ejecutando tu servidor MCP
Sección titulada «Ejecutando tu servidor MCP»La forma más fácil de probar y usar un servidor MCP es configurándolo con un asistente de IA (como se muestra arriba). Sin embargo, puedes ejecutar el servidor usando el target <your-server-name>-serve
, lo cual puede ser útil si cambias del transporte STDIO al transporte HTTP transmitible.
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
Este comando usa tsx --watch
para reiniciar automáticamente el servidor cuando los archivos cambian.