Sobre o projeto
@mcp-z/client é uma biblioteca de cliente MCP programática para Node.js (requer Node.js >= 22). Ela suporta a conexão a múltiplos servidores MCP dentro de um único processo, a execução de ferramentas MCP a partir de scripts e a escrita de testes de integração para servidores MCP.
Os transportes suportados incluem stdio e HTTP. Servidores HTTP podem opcionalmente ser iniciados via uma extensão de bloco `start` usando a opção `dialects: ['start']`. A biblioteca também suporta OAuth via Dynamic Client Registration (DCR) quando um servidor HTTP o suporta, permitindo que um armazenamento de tokens (ex: Keyv) seja passado através de `dcrAuthenticator`.
A API principal centra-se em um registro de servidores criado via `createServerRegistry(config, options?)`. O registro fornece métodos para conectar a servidores nomeados (`registry.connect`), pesquisar capacidades entre servidores (`registry.searchCapabilities`) e fechar todas as conexões (`registry.close`). Clientes gerenciados expõem métodos para chamar ferramentas (`callTool`), obter prompts (`getPrompt`), ler recursos (`readResource`) e listar ferramentas, recursos ou prompts. Variantes de resposta bruta do SDK também estão disponíveis (`callToolRaw`, `getPromptRaw`, `readResourceRaw`).
Os wrappers de resposta fornecem métodos auxiliares: `json()` para analisar conteúdo estruturado, `text()` para o primeiro resultado de texto e `raw()` para a resposta MCP bruta. As opções do registro incluem `cwd` para o diretório de trabalho do processo iniciado, `env` para variáveis de ambiente base e `dialects` para controlar quais tipos de servidor iniciar (servidores stdio, blocos de início HTTP ou ambos). A documentação da API está disponível no site de documentação do projeto.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.