项目简介
mcp-server-template 是一个基于 TypeScript 的 MCP 服务器模板,旨在帮助开发者快速搭建符合 Model Context Protocol (MCP) 规范的后端服务。它预置了资源管理和工具执行的基本框架,并提供了一个简单的字符串反转工具作为示例,方便用户理解和扩展 MCP 服务器的功能。此模板支持通过标准输入输出 (stdio) 和服务器发送事件 (SSE) 两种方式与 MCP 客户端进行通信。
主要功能点
- 资源管理: 提供 'greeting://hello' 和 'welcome://info' 两个预置资源,用于返回问候语和服务器信息,演示了如何托管和管理服务器端数据。
- 工具执行: 内置 'reverse' 工具,接收字符串输入并返回反转后的结果,展示了如何注册和执行外部功能,供 LLM 客户端调用。
- 传输协议: 支持 stdio 和 SSE 两种传输协议,满足不同场景下的客户端连接需求。
- 开发友好: 使用 TypeScript 开发,提供完整的构建流程和开发模式,方便开发者进行二次开发和定制。
安装步骤
-
安装 Node.js 和 npm: 确保你的开发环境中已安装 Node.js (v14 或更高版本) 和 npm 包管理器。
-
下载项目模板: 使用 'make-mine' 工具从 GitHub 下载模板项目到本地,并替换为你自定义的项目名称 '<mcp-server>',例如 'my-mcp-server'。
npx make-mine https://github.com/bladnman/mcp-server-template.git <mcp-server> -
进入项目目录: 切换到你创建的项目目录。
cd <mcp-server> -
安装依赖: 使用 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 模式下服务器监听的端口。
基本使用方法
-
启动服务器 (stdio 传输): 在项目根目录下,运行 'run-server.sh' 脚本即可启动基于 stdio 传输的 MCP 服务器。
bash run-server.sh -
启动服务器 (SSE 传输): 在项目根目录下,设置 'TRANSPORT_TYPE' 环境变量为 'sse',然后运行 'npm run start' 命令启动基于 SSE 传输的 MCP 服务器。
TRANSPORT_TYPE=sse npm run startSSE 服务器默认运行在 4000 端口,可以通过修改 'src/CONST.ts' 文件中的 'HTTP_PORT' 常量来更改端口。
-
使用 MCP Inspector 测试: 可以使用 MCP Inspector 工具测试服务器的功能。
- 运行命令 'npx fastmcp inspect server.ts' 启动 Inspector。
- 访问 Inspector 提供的 URL (通常是 http://localhost:5173)。
- 在 Inspector 中配置服务器启动命令和参数,连接到你启动的 MCP 服务器进行测试。
信息
分类
AI与计算