SuperAPI AI 工具集

mcp-z-client

智能体与模型

查看项目

更新于 10-16 00:22

技能介绍

@mcp-z/client 用于在 Node.js 代码中连接并操作 MCP 服务器,负责服务器配置管理、进程启动、连接、能力发现、调用与清理。安装命令为 npm install @mcp-z/client。使用前应先阅读项目已有的 MCP 配置,标准 .mcp.json 将条目存放在 mcpServers 下;HTTP 条目带 type: 'http',Stdio 条目使用 command 及可选 args、env。

主要能力:客户端提供便捷方法 client.callTool(name, args)、client.getPrompt(name, args)、client.readResource(uri)。工具响应包含 content、structuredContent、isError 和 _meta;提示响应包含 description、messages 和 _meta;资源响应包含 contents 和 _meta。json() 与 text() 助手保持各自转换语义,工具场景下 json() 优先返回 structuredContent,否则解析首个文本块;用 JSON.stringify(response) 可序列化包含扩展在内的完整 MCP 结果。

使用方式:createServerRegistry(config, { cwd, env, dialects }) 控制派生进程,env 会替换基础环境而非合并。默认 dialects 为 ['servers'],启动 stdio command 条目;带 start 块的 HTTP 条目需 dialects: ['start'],两种形式都启动时用 ['servers', 'start']。registry.close() 关闭所有受管客户端与派生进程,应放在 finally 中,或在运行环境与项目约定支持显式资源管理时使用 await using registry = createServerRegistry(config)。registry.connect(name, { versionNegotiation: { mode: 'auto' } }) 探测当前协议版本并回退到旧序列,仅在需要固定协议版本时指定版本。

限制:工具名称与 schema 属于所连接的服务器,不属于本技能;组合不熟悉的调用前先调用 client.listTools() 并使用返回的 input schema。发现是只读的,工具调用可能改变外部状态,须限定在用户请求的操作范围内。await 的 callTool() 遇到 MCP isError 结果会以 ToolResponseError 拒绝,其响应保留完整 MCP 错误结果;协议与传输拒绝会继续传播,解析或不兼容内容失败会在调用 json() 或 text() 时发生。其余功能细节与示例暂未提供。