这是一个将基于 Model Context Protocol (MCP) SDK 构建的服务器打包成独立可执行文件的项目。它允许开发者将自定义的 MCP 工具、资源和提示集成到一个易于分发和运行的单一程序中。
主要功能点
- 打包为可执行文件: 将 Node.js 编写的 MCP 服务器代码及其依赖打包成单个可执行文件,无需安装 Node.js 环境即可运行。
- 灵活的 MCP 配置: 支持通过外部 JavaScript 配置文件 ('--mcp-js') 定义和注册自定义的工具、资源和提示,扩展服务器功能。
- 组合 MCP 服务: 支持通过外部 JSON 配置文件 ('--mcp-config') 加载并聚合多个独立的 MCP 服务器,将它们的能力整合成一个统一的服务。
- 多种连接方式: 支持基于 HTTP 的 SSE (Server-Sent Events) 模式和标准的 Stdio (标准输入输出) 模式,以适应不同的客户端集成需求。
- 命令行参数配置: 支持通过命令行参数覆盖默认或配置文件中的设置,方便运行时调整服务器行为。
安装步骤
- 克隆仓库:
git clone https://github.com/shadowcz007/mcp_server_exe.git cd mcp_server_exe - 安装依赖: 项目使用 Node.js 和 npm/yarn 进行开发和打包,请确保已安装 Node.js 环境。
或npm installyarn install - 打包可执行文件: 根据您的操作系统选择相应的打包命令。打包后的文件位于 'executables' 目录下。
- Windows:
npm run package-win - macOS:
npm run package-mac - (注意:打包 Linux 版本通常需要额外的配置,此处不赘述)
- Windows:
服务器配置 (供 MCP 客户端参考)
当您将此服务器作为 MCP 客户端(如支持 MCP 协议的 LLM 客户端)的后端时,客户端需要知道如何启动和连接到此服务器。以下是一个供客户端参考的 JSON 配置格式示例:
{ "name": "MyCustomMcpServer", "description": "我的打包MCP服务器实例", "command": "./path/to/your/executables/mcp_server", // 或 mcp_server.exe (Windows) "args": [ "--port", "3000", // 服务器监听的端口,如果使用SSE模式 "--transport", "sse", // 或 "stdio",指定传输模式 "--mcp-js", "./path/to/your/custom-config.js", // 指向您的自定义 MCP 配置 JavaScript 文件 "--mcp-config", "./path/to/your/mcp-services.json" // 指向您要组合的其他 MCP 服务的 JSON 配置文件 (可选) // 可以添加其他命令行参数,详情请参考项目 README ] }
- 'name': 给这个 MCP 服务器连接起一个唯一的名称。
- 'description': 对服务器连接的简要描述。
- 'command': 非常重要,指定可执行文件的完整路径。客户端将通过执行此命令来启动服务器进程。
- 'args': 启动命令的参数列表。请根据您实际使用的参数进行配置。'--mcp-js' 用于加载自定义的工具、资源、提示定义;'--mcp-config' 用于加载并组合其他 MCP 服务器;'--port' 用于指定 SSE 模式的监听端口;'--transport' 指定使用 SSE 或 Stdio 模式。
基本使用方法
- 完成安装和打包步骤后,在 'executables' 目录下找到生成的可执行文件 ('mcp_server' 或 'mcp_server.exe')。
- 准备您的自定义 MCP 配置 JavaScript 文件 (例如参考 'examples/custom-mcp-config.js') 和/或要组合的 MCP 服务 JSON 配置文件。
- 在命令行中运行可执行文件,并根据需要指定参数:
- 运行默认配置的 SSE 服务器:
./executables/mcp_server --transport sse --port 3000 - 运行加载自定义配置的 SSE 服务器:
./executables/mcp_server --mcp-js ./examples/custom-mcp-config.js --transport sse --port 3000 - 运行组合其他 MCP 服务并加载自定义配置的 SSE 服务器:
./executables/mcp_server --mcp-js ./examples/custom-mcp-config.js --mcp-config ./examples/mcp-services.json --transport sse --port 3000 - 运行 Stdio 模式服务器 (通常用于直接作为子进程由客户端启动):
./executables/mcp_server --transport stdio --mcp-js ./examples/custom-mcp-config.js
- 运行默认配置的 SSE 服务器:
- 服务器启动后,会输出相应的日志信息,包括监听端口(SSE模式)或运行状态(Stdio模式)。您可以根据日志信息确认服务器是否正常启动。
- 将上述“服务器配置”中生成的 'command' 和 'args' 信息提供给您的 MCP 客户端进行配置,客户端即可连接并使用此服务器提供的能力。
信息
分类
AI与计算