使用说明
项目简介
本仓库 'mcp-boilerplate' 是一个使用 Bun 构建的 MCP (Model Context Protocol) 服务器脚手架。它旨在帮助开发者快速搭建支持 MCP 协议的应用后端,以便为大型语言模型 (LLM) 客户端提供上下文信息和功能扩展。此脚手架已集成了 MCP SDK,并预配置了 Express 服务器和 SSE (Server-Sent Events) 传输协议,方便用户快速上手和定制开发。
主要功能点
- 快速启动的 MCP 服务器: 基于 Bun 运行时,提供高性能的 MCP 服务器基础框架。
- 资源管理: 虽然脚手架本身未预置资源管理功能,但其架构设计支持用户方便地添加和管理各种类型的资源,并通过 MCP 协议向客户端提供数据访问能力。(需开发者自行扩展实现)
- 工具注册与执行: 允许注册和执行外部工具,扩展 LLM 的能力边界。示例中提供了一个简单的 'find_post' 工具,展示了如何集成外部 API 并将其作为工具提供给 LLM 客户端。
- Prompt 模板支持: 脚手架架构支持 Prompt 模板的定义和渲染,以便根据不同的上下文和需求定制 LLM 的交互模式。(需开发者自行扩展实现)
- SSE 传输协议: 默认使用 SSE 协议与 MCP 客户端通信,实现实时的双向数据传输。
- 环境配置: 支持通过 '.env' 文件进行服务器配置,方便管理端口、API 密钥等敏感信息。
安装步骤
- 克隆仓库
git clone https://github.com/jhon2c/mcp-boilerplate.git cd mcp-boilerplate - 安装依赖 (推荐使用 Bun,或使用 npm)
或者bun installnpm install - 配置环境变量
在项目根目录下创建 '.env' 文件,并根据需要配置以下环境变量 (示例):
PORT=3000 MCP_API_KEY=your_api_key_here DEBUG=mcp:* - 启动开发服务器
服务器默认运行在 'http://localhost:3000',SSE 端点为 'http://localhost:3000/sse'。bun run dev
服务器配置 (MCP 客户端)
对于 MCP 客户端 (例如 Cursor 编辑器),需要配置 MCP 服务器的连接信息。以下是一个配置示例 JSON,用于告知客户端如何连接到本脚手架启动的 MCP 服务器。请注意,客户端通常需要的是服务器的 URL 地址,而不是启动命令。
{ "mcpServers": { "mcp-boilerplate": { "url": "http://localhost:3000/sse" } } }
- '"mcpServers"': 定义 MCP 服务器配置的根对象。
- '"mcp-boilerplate"': 服务器名称,可以自定义,用于在客户端中标识该服务器。
- '"url"': MCP 服务器的 SSE 端点 URL,客户端将通过此 URL 建立连接。 请确保 URL 与您实际运行的服务器地址和端口一致。
重要提示: MCP 客户端通常不需要配置服务器的启动命令 (command) 和参数 (args)。客户端仅需要知道如何通过网络 (例如 URL) 连接到已经运行的 MCP 服务器。 本脚手架已经提供了 'bun run dev' 命令来启动服务器,您只需要在客户端配置正确的服务器 URL 即可。
基本使用方法
- 按照 "安装步骤" 启动 MCP 服务器。
- 在 MCP 客户端 (如 Cursor 编辑器) 中,配置服务器连接信息,将 "url" 设置为 'http://localhost:3000/sse' (或您实际运行的地址)。
- 客户端成功连接后,即可通过 MCP 协议与服务器进行通信,例如调用预置的 'find_post' 工具 (或其他您自行添加的工具) 来扩展 LLM 的功能。
扩展开发
- 添加更多工具: 在 'src/tools/index.ts' 文件中,可以参考 'find_post' 工具的示例,添加更多自定义工具,以满足不同的 LLM 应用场景需求。
- 实现资源管理: 根据实际需求,扩展服务器以管理和提供各种类型的资源,例如知识库、文档、代码片段等。
- 支持 Prompt 模板: 实现 Prompt 模板的定义、存储和渲染逻辑,以便为 LLM 提供更灵活和可定制的交互模式。
- 修改传输协议: 虽然默认使用 SSE,但您可以根据 MCP 协议规范,扩展服务器以支持其他传输协议,例如 WebSocket。
信息
分类
开发者工具