MCP服务器TypeScript模板

本项目是一个使用TypeScript开发的MCP服务器模板,旨在帮助开发者快速搭建能够与LLM客户端(如Claude Desktop)交互的后端应用。它展示了如何利用 Model Context Protocol (MCP) 协议,通过注册工具扩展LLM的功能,并提供结构化的上下文信息。

主要功能点:

  • MCP协议实现: 遵循 Model Context Protocol 规范,能够处理来自LLM客户端的请求,并返回符合MCP协议的响应。
  • 工具注册与调用: 支持注册自定义工具(如示例中的 'example_operation' 和 'addition' 工具),允许LLM客户端调用这些工具执行外部操作。
  • JSON-RPC通信: 使用 JSON-RPC 协议与客户端进行通信,实现标准化的请求和响应交互。
  • Stdio传输: 默认使用 Stdio 作为传输协议,方便本地开发和测试。
  • 输入参数校验: 使用 Zod 进行工具输入参数的校验,确保数据类型安全。
  • 可扩展性: 项目结构清晰,易于扩展和添加新的工具及功能。

安装步骤:

  1. 克隆仓库:

    git clone https://github.com/minimind-org/mcp-server-typescript-template
    cd mcp-server-typescript-template
  2. 安装依赖:

    npm install
  3. 构建项目:

    npm run build
  4. 启动服务器:

    npm run start

    启动成功后,服务器将在stdio上运行,并输出 'Example MCP Server running on stdio' 信息。

服务器配置 (MCP客户端配置):

要让MCP客户端(例如 Claude Desktop)连接到此MCP服务器,您需要在客户端的配置文件中添加服务器信息。以 'claude_desktop_config.json' 为例,您需要配置 'mcpServers' 字段,指定服务器的名称、启动命令和参数。

{
  "mcpServers": {
    "example": {  // 服务器名称,客户端配置中引用
      "command": "node",  // 启动服务器的命令,这里使用 node
      "args": [  // 启动命令的参数
        "/path/to/mcp-server-typescript-template/dist/index.js" //  指向编译后的服务器入口文件 index.js 的绝对路径,请替换为您的实际路径
      ]
    }
  }
}

注意:

  • 请将 '/path/to/mcp-server-typescript-template/dist/index.js' 替换为您本地仓库 'dist/index.js' 文件的绝对路径。您可以使用 'pwd'/'cd' 命令和相对路径计算出绝对路径。
  • 'example' 是您为该服务器定义的名称,在客户端配置中会使用这个名称来引用此服务器。您可以自定义服务器名称。

基本使用方法:

  1. 配置MCP客户端: 按照上述“服务器配置”部分修改您的MCP客户端配置文件,确保客户端能够找到并启动您的MCP服务器。
  2. 启动MCP服务器: 运行 'npm run start' 启动服务器。
  3. 在LLM客户端中使用工具: 在支持MCP协议的LLM客户端中,您应该能够看到并调用服务器提供的工具 (例如 'example_operation' 和 'addition')。具体使用方式请参考您的LLM客户端的文档。例如,在 Claude Desktop 中,您可能需要在对话中提及工具名称,客户端会自动识别并调用。

示例工具说明:

  • example_operation: 一个示例操作,可能用于演示如何调用外部API(实际代码中调用了 'example.com')。
  • addition: 一个简单的加法工具,接受两个数字作为输入,返回它们的和。

通过修改 'operations' 目录下的文件和 'index.ts',您可以轻松添加和扩展更多自定义工具,构建功能丰富的LLM后端应用。

信息

分类

开发者工具