使用说明

项目简介

'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: 数组,用于配置总是允许访问的资源或工具,默认为空数组 '[]'。

基本使用方法

  1. 创建 MCP 服务器:
    使用 'createToolsServer' 函数定义你的 MCP 服务器,包括服务器信息、工具列表和工具处理函数。参考仓库中的 'examples' 目录下的示例代码 ('getStringLength.ts', 'readUrl.ts')。

  2. 运行 MCP 服务器:
    在 Deno 环境中运行你的服务器文件,例如:'deno run -A examples/getStringLength.ts'。 服务器将通过标准输入/输出 (stdio) 与 MCP 客户端进行通信。

  3. 配置 MCP 客户端:
    将上面提供的服务器配置信息添加到你的 MCP 客户端配置中,确保客户端能够找到并连接到你的 MCP 服务器。

  4. 客户端调用工具:
    MCP 客户端通过 MCP 协议发送请求,调用你在服务器中定义的工具。服务器将执行相应的处理函数,并将结果返回给客户端。

通过 'mcp-helper',你可以更专注于实现 MCP 服务器的核心业务逻辑,而无需过多关注底层的协议细节和类型安全问题。

信息

分类

开发者工具