Sobre el proyecto
@mcp-z/client es una librería de cliente MCP programática para Node.js (requiere Node.js >= 22). Permite conectarse a múltiples servidores MCP dentro de un mismo proceso, ejecutar herramientas MCP desde scripts y escribir pruebas de integración para servidores MCP.
Los transportes compatibles incluyen stdio y HTTP. Los servidores HTTP pueden iniciarse opcionalmente mediante una extensión de bloque `start` utilizando la opción `dialects: ['start']`. La librería también soporta OAuth a través de Dynamic Client Registration (DCR) cuando el servidor HTTP lo permite, permitiendo pasar un almacén de tokens (por ejemplo, Keyv) a través de `dcrAuthenticator`.
La API central se basa en un registro de servidores creado mediante `createServerRegistry(config, options?)`. El registro proporciona métodos para conectarse a servidores nombrados (`registry.connect`), buscar capacidades entre servidores (`registry.searchCapabilities`) y cerrar todas las conexiones (`registry.close`). Los clientes gestionados exponen métodos para llamar a herramientas (`callTool`), obtener prompts (`getPrompt`), leer recursos (`readResource`) y listar herramientas, recursos o prompts. También están disponibles variantes de respuesta raw del SDK (`callToolRaw`, `getPromptRaw`, `readResourceRaw`).
Los envoltorios de respuesta proporcionan métodos auxiliares: `json()` para analizar contenido estructurado, `text()` para el primer resultado de texto y `raw()` para la respuesta MCP original. Las opciones del registro incluyen `cwd` para el directorio de trabajo del proceso iniciado, `env` para las variables de entorno base y `dialects` para controlar qué tipos de servidores iniciar (servidores stdio, bloques de inicio HTTP o ambos). La documentación de la API está disponible en el sitio de documentación del proyecto.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.