使用说明
项目简介
'mcp-helper' 是一个 Deno 工具库,用于简化 MCP 服务器的开发流程。它提供了一系列工具和函数,帮助开发者更轻松地创建类型安全、易于测试和维护的 MCP 服务器。该库的核心特点是利用 TypeScript 的类型系统和 Zod 库进行数据验证,从而提高代码的健壮性和开发效率。
主要功能点
- 类型安全的 MCP 服务器创建: 利用 TypeScript 的强大类型系统,确保工具定义和处理函数之间的类型一致性,减少运行时错误。
- 基于 Zod 的数据校验: 使用 Zod 库定义工具的输入输出数据结构,自动进行请求和响应的数据验证,保证数据格式的正确性。
- 内置内存测试客户端: 提供了一个轻量级的内存测试客户端,方便开发者在不启动真实服务器的情况下进行单元测试和集成测试。
- 自动类型推断: 针对工具定义,提供 TypeScript 类型推断能力,简化工具处理函数的类型定义。
安装步骤
由于 'mcp-helper' 发布在 JSR (jsr.io) 上,你可以直接通过 'jsr:' 协议引入该库:
import { createToolsServer } from "jsr:@mizchi/mcp-helper";
服务器配置
要将基于 'mcp-helper' 创建的 MCP 服务器集成到 MCP 客户端,你需要在客户端的 MCP 服务器配置中添加相应的服务器信息。以下是针对 'mcp-helper' 创建的服务器的典型配置示例,你需要根据你实际运行的服务器文件路径进行调整。
假设你的服务器实现文件为 'examples/getStringLength.ts' 或 'examples/readUrl.ts',以下是对应的 MCP 服务器配置:
{ "mcpServers": { "stringLengthServer": { // 服务器名称,可以自定义,例如 "stringLengthServer" "command": "deno", "args": ["run", "-A", "./examples/getStringLength.ts"], // 指向你的服务器实现文件路径,这里是 examples/getStringLength.ts "env": {}, "disabled": false, "alwaysAllow": [] }, "urlReaderServer": { // 服务器名称,可以自定义,例如 "urlReaderServer" "command": "deno", "args": ["run", "-A", "./examples/readUrl.ts"], // 指向你的服务器实现文件路径,这里是 examples/readUrl.ts "env": {}, "disabled": false, "alwaysAllow": [] } } }
配置参数说明:
- server name: 为你的 MCP 服务器指定一个唯一的名称,例如 "stringLengthServer" 或 "urlReaderServer"。这个名称将在 MCP 客户端中用于识别和调用该服务器。
- command: 指定启动 MCP 服务器的命令,通常为 "deno",表示使用 Deno 运行时环境。
- args: 一个字符串数组,包含启动服务器的参数。
- '"run"': Deno 的 'run' 命令,用于执行脚本文件。
- '"-A"': Deno 的 '-A' 参数,表示授予脚本所有权限 (all permissions)。根据你的服务器需求,可以调整权限设置。
- '"./examples/getStringLength.ts"' 或 '"./examples/readUrl.ts"': 指向你的 MCP 服务器实现文件的路径。请根据实际文件位置修改。
- env: 用于设置服务器运行时的环境变量,默认为空对象 '{}'。
- disabled: 布尔值,用于启用或禁用该服务器。'false' 表示启用,'true' 表示禁用。
- alwaysAllow: 数组,用于配置总是允许访问的资源或工具,默认为空数组 '[]'。
基本使用方法
-
创建 MCP 服务器:
使用 'createToolsServer' 函数定义你的 MCP 服务器,包括服务器信息、工具列表和工具处理函数。参考仓库中的 'examples' 目录下的示例代码 ('getStringLength.ts', 'readUrl.ts')。 -
运行 MCP 服务器:
在 Deno 环境中运行你的服务器文件,例如:'deno run -A examples/getStringLength.ts'。 服务器将通过标准输入/输出 (stdio) 与 MCP 客户端进行通信。 -
配置 MCP 客户端:
将上面提供的服务器配置信息添加到你的 MCP 客户端配置中,确保客户端能够找到并连接到你的 MCP 服务器。 -
客户端调用工具:
MCP 客户端通过 MCP 协议发送请求,调用你在服务器中定义的工具。服务器将执行相应的处理函数,并将结果返回给客户端。
通过 'mcp-helper',你可以更专注于实现 MCP 服务器的核心业务逻辑,而无需过多关注底层的协议细节和类型安全问题。
信息
分类
开发者工具