项目简介

该仓库提供一个基于 Node.js 实现的 Model Context Protocol (MCP) 服务器,并支持将其打包成独立的、无需安装 Node.js 环境即可运行的可执行文件(例如 'mcp_server.exe')。它实现了 MCP 协议的核心功能,用于为大型语言模型 (LLM) 客户端提供上下文信息和外部能力。

主要功能点

  • 上下文服务核心: 按照 MCP 协议提供标准化的上下文服务,使 LLM 能够更好地理解和执行任务。
  • 资源管理: 托管和管理各种数据资源,允许 LLM 通过标准方式访问信息。
  • 工具调用: 注册和执行外部工具或服务,赋予 LLM 调用外部功能的能力。
  • Prompt 定制: 支持定义和渲染 Prompt 模板,灵活控制 LLM 的交互方式。
  • 多种连接方式: 支持现代 Streamable HTTP ( '/mcp' 端点) 和传统 SSE/消息 ( '/sse', '/messages' 端点) 等多种客户端连接协议。
  • 高度可定制: 通过配置文件 ('--mcp-js' 参数) 自定义服务器名称、端口,以及注册自己的资源、工具和提示。
  • 打包成可执行文件: 可以将整个服务器应用打包成一个跨平台的可执行文件,简化部署和分发。

安装步骤

  1. 确保你已经安装了 Node.js 环境 (建议使用 LTS 版本)。
  2. 克隆或下载本仓库到本地。
  3. 打开命令行终端,进入仓库目录。
  4. 运行以下命令安装项目依赖:
    npm install
  5. (可选)如果你想生成独立的可执行文件,可以运行对应的打包命令(例如 Windows 系统运行 'npm run package-win',macOS 系统运行 'npm run package-mac')。打包好的文件会在 'executables' 目录下。

服务器配置 (供 MCP 客户端使用)

MCP 服务器启动后,会监听一个端口并提供服务。MCP 客户端需要知道如何连接到这个服务器。通常,这涉及到在客户端的配置文件中指定服务器的名称、连接 URL 或启动服务器的命令和参数。

以下是一个典型的 MCP 客户端配置示例(JSON 格式),用于连接到本 MCP 服务器:

{
  "mcpServers": {
    // 为你的服务器起一个唯一的名称,供客户端内部识别
    "my-mcp-server-name": {
      // 选项 1: 直接指定服务器的连接 URL (适用于服务器已经运行的情况)
      // 如果使用 SSE 连接 (推荐用于兼容旧客户端或某些场景),URL 通常是 /sse
      // "url": "http://127.0.0.1:3000/sse", 
      // 如果服务器配置支持,也可以使用现代 /mcp 端点 (Streamable HTTP)
      "url": "http://127.0.0.1:3000/mcp", 

      // 选项 2: 指定启动服务器的命令和参数 (适用于客户端需要自动启动服务器的情况)
      // "command": "./path/to/your/executables/mcp_server", 
      // "args": [
      //   // 服务器监听的端口号,客户端会尝试连接此端口
      //   "--port", "3000", 
      //   // 服务器名称,应与上面的键名保持一致或根据需要指定
      //   "--server-name", "my-mcp-server-name",
      //   // 可选: 指定自定义 MCP 配置文件的路径,用于加载自定义资源、工具和提示
      //   "--mcp-js", "./path/to/your/custom-mcp-config.js" 
      // ]
    }
    // 可以添加更多服务器配置
  }
}

重要提示:

  • 你需要根据实际运行服务器的机器 IP 地址和端口号替换 '127.0.0.1' 和 '3000'。
  • 如果你选择通过 'command' 和 'args' 启动服务器,请确保 'command' 指定的可执行文件路径或 Node.js 脚本路径是正确的,并且 '--mcp-js' 参数指向你的自定义配置文件(如果使用)。
  • '/sse' 端点通常用于基于 Server-Sent Events 的传统连接,而 '/mcp' 端点用于基于 Streamable HTTP 的现代连接。选择哪一个取决于你的 MCP 客户端支持。服务器默认同时启用这两个端点。

基本使用方法

  1. 启动服务器:
    • 使用 Node.js 环境:
      npm start 
      # 或在开发模式下 (通常有热重载等功能):
      npm run dev
    • 使用打包的可执行文件:
      ./executables/mcp_server 
      # 或 (Windows):
      # .\executables\mcp_server.exe
  2. 使用自定义配置启动 (推荐): 你可以创建或修改 'examples/custom-mcp-config.js' 文件来定义你自己的资源、工具和提示。然后使用 '--mcp-js' 参数启动服务器:
    npm start -- --mcp-js ./examples/custom-mcp-config.js
    # 或使用可执行文件:
    # ./executables/mcp_server --mcp-js ./examples/custom-mcp-config.js
  3. 服务器启动后,你会在终端看到服务器正在监听的端口信息(默认为 3000)。
  4. 配置你的 MCP 客户端(参考上面的“服务器配置”部分),使其能够连接到这个运行中的 MCP 服务器。
  5. 通过你的 MCP 客户端,即可利用该服务器提供的资源、工具和提示能力与 LLM 进行交互。

信息

分类

开发者工具