使用说明

项目简介

Modular MCP Server Framework 是一个功能强大且高度可扩展的框架,用于构建 Model Context Protocol (MCP) 服务器。它旨在简化将各种命令行工具集成到 AI 生态系统中的过程,使 LLM 能够通过标准化的 MCP 协议调用这些工具,从而扩展 LLM 的能力边界。该框架通过配置文件驱动,模块化设计,易于添加和管理工具,并支持 SSE (Server-Sent Events) 传输协议。

主要功能点

  • 工具集成: 轻松将非交互式的命令行工具封装为 MCP 工具,扩展 LLM 的功能。
  • 配置驱动: 通过 'config.ini' 文件集中管理服务器和所有工具模块的配置,易于定制和维护。
  • 模块化设计: 每个工具作为一个独立的 Python 模块存在,方便扩展和维护,新增工具只需遵循模板简单开发。
  • SSE 传输: 使用 Server-Sent Events 协议与 MCP 客户端通信,提供实时的事件流支持。
  • 安全可扩展: 为 LLM 应用提供安全、可扩展的上下文服务框架。
  • 详细日志: 提供详细的日志记录,方便问题排查和监控。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/trtyr/Modular-MCP-Server-Framework.git
    cd Modular-MCP-Server-Framework
  2. 创建并激活 Python 虚拟环境 (推荐):

    python -m venv .venv
    source .venv/bin/activate  # Linux/macOS
    .venv\Scripts\activate.bat  # Windows (CMD)
    .\.venv\Scripts\Activate.ps1 # Windows (PowerShell)
  3. 安装 Python 依赖:

    pip install -r requirements.txt
  4. 配置 'config.ini':

    • 打开项目根目录下的 'config.ini' 文件。
    • 修改 '[Server]' 段的 'host' 和 'port' 设置,例如:
      [Server]
      host = 0.0.0.0  # 监听所有网络接口
      port = 8020     # 服务器端口
      log_level = DEBUG # 日志级别,开发时可设置为 DEBUG,生产环境建议 INFO
    • 在 'config.ini' 中启用和配置你想要使用的工具模块,例如启用 'nmap' 工具:
      [nmap]
      enabled = true
      execution_type = direct
      executable_path = /usr/bin/nmap  # 替换为你的 nmap 可执行文件路径
      log_level = INFO
      注意: 'executable_path' 需要配置为工具可执行文件的绝对路径

服务器配置 (MCP 客户端)

MCP 客户端需要以下 JSON 格式的配置信息来连接到 Modular MCP Server Framework。请根据你的实际配置进行修改:

{
  "serverName": "Modular MCP Server",  //  自定义服务器名称,用于在客户端显示
  "command": "python",             //  运行 MCP 服务器的命令,通常是 python 或 python3
  "args": [                        //  命令参数
    "mcp_sse_server.py"           //  执行服务器主程序的脚本名称
  ],
  "serverUrl": "http://127.0.0.1:8020/sse" //  MCP 服务器的 SSE 地址,根据 config.ini 中的 host 和 port 配置
}
  • 'serverName': 在 MCP 客户端中显示的服务器名称,可以自定义。
  • 'command': 运行服务器的命令,通常为 'python' 或 'python3',确保 MCP 客户端能够找到 Python 解释器。
  • 'args': 传递给 'command' 的参数,这里指定运行 'mcp_sse_server.py' 脚本。
  • 'serverUrl': MCP 服务器的 SSE 端点 URL,客户端通过此 URL 建立连接。请根据你在 'config.ini' 中配置的 'host' 和 'port' 替换 '127.0.0.1:8020'。如果服务器运行在远程机器上,请将 '127.0.0.1' 替换为服务器的 IP 地址或域名。

重要提示: 确保 MCP 客户端能够访问到配置的 'serverUrl'。如果服务器运行在防火墙后或云服务器上,可能需要配置防火墙规则或安全组策略以允许客户端连接。

基本使用方法

  1. 启动 MCP 服务器: 在激活的虚拟环境中,进入项目根目录,运行:

    python mcp_sse_server.py

    服务器成功启动后,会显示监听地址和端口信息。

  2. 在 MCP 客户端中添加服务器: 将上面生成的 JSON 配置信息添加到你的 MCP 客户端(例如 Cursor 编辑器)中。

  3. 验证连接和使用工具: 客户端成功连接后,应该能够发现服务器提供的工具列表(在 'config.ini' 中启用的工具)。你可以在 MCP 客户端中调用这些工具,并查看执行结果。

添加新工具

如果需要添加新的命令行工具,请参考 'README.md' 中 “🧩 添加新工具” 章节的详细步骤,包括:复制模板文件、编辑模块文件、配置 'config.ini' 等。

信息

分类

开发者工具