使用说明

项目简介

本仓库 '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 密钥等敏感信息。

安装步骤

  1. 克隆仓库
    git clone https://github.com/jhon2c/mcp-boilerplate.git
    cd mcp-boilerplate
  2. 安装依赖 (推荐使用 Bun,或使用 npm)
    bun install
    或者
    npm install
  3. 配置环境变量 在项目根目录下创建 '.env' 文件,并根据需要配置以下环境变量 (示例):
    PORT=3000
    MCP_API_KEY=your_api_key_here
    DEBUG=mcp:*
  4. 启动开发服务器
    bun run dev
    服务器默认运行在 'http://localhost:3000',SSE 端点为 'http://localhost:3000/sse'。

服务器配置 (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 即可。

基本使用方法

  1. 按照 "安装步骤" 启动 MCP 服务器。
  2. 在 MCP 客户端 (如 Cursor 编辑器) 中,配置服务器连接信息,将 "url" 设置为 'http://localhost:3000/sse' (或您实际运行的地址)。
  3. 客户端成功连接后,即可通过 MCP 协议与服务器进行通信,例如调用预置的 'find_post' 工具 (或其他您自行添加的工具) 来扩展 LLM 的功能。

扩展开发

  • 添加更多工具: 在 'src/tools/index.ts' 文件中,可以参考 'find_post' 工具的示例,添加更多自定义工具,以满足不同的 LLM 应用场景需求。
  • 实现资源管理: 根据实际需求,扩展服务器以管理和提供各种类型的资源,例如知识库、文档、代码片段等。
  • 支持 Prompt 模板: 实现 Prompt 模板的定义、存储和渲染逻辑,以便为 LLM 提供更灵活和可定制的交互模式。
  • 修改传输协议: 虽然默认使用 SSE,但您可以根据 MCP 协议规范,扩展服务器以支持其他传输协议,例如 WebSocket。

信息

分类

开发者工具