项目简介

mcp-server-template 是一个基于 TypeScript 的 MCP 服务器模板,旨在帮助开发者快速搭建符合 Model Context Protocol (MCP) 规范的后端服务。它预置了资源管理和工具执行的基本框架,并提供了一个简单的字符串反转工具作为示例,方便用户理解和扩展 MCP 服务器的功能。此模板支持通过标准输入输出 (stdio) 和服务器发送事件 (SSE) 两种方式与 MCP 客户端进行通信。

主要功能点

  • 资源管理: 提供 'greeting://hello' 和 'welcome://info' 两个预置资源,用于返回问候语和服务器信息,演示了如何托管和管理服务器端数据。
  • 工具执行: 内置 'reverse' 工具,接收字符串输入并返回反转后的结果,展示了如何注册和执行外部功能,供 LLM 客户端调用。
  • 传输协议: 支持 stdio 和 SSE 两种传输协议,满足不同场景下的客户端连接需求。
  • 开发友好: 使用 TypeScript 开发,提供完整的构建流程和开发模式,方便开发者进行二次开发和定制。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的开发环境中已安装 Node.js (v14 或更高版本) 和 npm 包管理器。

  2. 下载项目模板: 使用 'make-mine' 工具从 GitHub 下载模板项目到本地,并替换为你自定义的项目名称 '<mcp-server>',例如 'my-mcp-server'。

    npx make-mine https://github.com/bladnman/mcp-server-template.git <mcp-server>
  3. 进入项目目录: 切换到你创建的项目目录。

    cd <mcp-server>
  4. 安装依赖: 使用 npm 安装项目所需的依赖包。

    npm install

服务器配置

MCP 客户端需要配置以下 JSON 信息才能连接到此 MCP 服务器。请注意,以下配置中的 'command' 和 'args' 需要根据你的实际项目路径进行调整。

{
  "serverName": "Template MCP Server",
  "command": "<项目绝对路径>/run-server.sh",
  "args": [],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': 服务器名称,默认为 "Template MCP Server"。
  • 'command': 服务器启动命令,指向 'run-server.sh' 脚本的绝对路径。请务必替换为你的项目实际路径。
  • 'args': 启动参数,默认为空数组,stdio 传输方式无需额外参数。
  • 'transport': 传输协议,默认为 "stdio"。如果需要使用 SSE 传输,请将此值设置为 '"sse"',并参考基本使用方法中的 SSE 启动方式。

如果使用 SSE 传输,MCP 客户端配置示例:

{
  "serverName": "Template MCP Server",
  "command": "npm",
  "args": ["run", "start"],
  "transport": "sse",
  "sseEndpoint": "/sse",
  "httpPort": 4000
}

SSE 配置参数说明 (额外):

  • 'transport': 传输协议设置为 '"sse"'。
  • 'sseEndpoint': SSE 端点,默认为 "/sse"。
  • 'httpPort': HTTP 端口,默认为 4000。SSE 模式下服务器监听的端口。

基本使用方法

  1. 启动服务器 (stdio 传输): 在项目根目录下,运行 'run-server.sh' 脚本即可启动基于 stdio 传输的 MCP 服务器。

    bash run-server.sh
  2. 启动服务器 (SSE 传输): 在项目根目录下,设置 'TRANSPORT_TYPE' 环境变量为 'sse',然后运行 'npm run start' 命令启动基于 SSE 传输的 MCP 服务器。

    TRANSPORT_TYPE=sse npm run start

    SSE 服务器默认运行在 4000 端口,可以通过修改 'src/CONST.ts' 文件中的 'HTTP_PORT' 常量来更改端口。

  3. 使用 MCP Inspector 测试: 可以使用 MCP Inspector 工具测试服务器的功能。

    • 运行命令 'npx fastmcp inspect server.ts' 启动 Inspector。
    • 访问 Inspector 提供的 URL (通常是 http://localhost:5173)。
    • 在 Inspector 中配置服务器启动命令和参数,连接到你启动的 MCP 服务器进行测试。

信息

分类

AI与计算