Lucius MCP Server

  • 项目介绍

    • Lucius MCP Server 使用 MCP 协议标准,为大型语言模型/代理提供对资源、工具和提示模板的标准化访问,便于在 AI 助手中实现测试管理场景的上下文服务与能力扩展。
    • 服务端核心职责包括:管理并托管 Resources、注册并执行 Tools、定义并渲染 Prompts;通过 JSON-RPC 与客户端通信,处理读取资源、调用工具、获取 Prompt 等请求。
    • 它实现了会话管理、能力声明,以及对多种传输协议的初步支持(如 Stdio、HTTP 传输、SSE、WebSocket 传输等),以适配不同的客户端接入方式。
  • 主要功能点

    • 资源管理:对外暴露数据资源,支持数据访问与读取。
    • 工具注册与执行:向 LLM 客户端暴露工具集合,以供外部功能调用。
    • Prompt 模板:提供可定制的 Prompt 模板渲染,支持不同交互模式。
    • JSON-RPC 通信:服务器与客户端通过标准的 JSON-RPC 进行请求/响应交换。
    • 会话与能力声明:维护会话状态,声明服务器能力。
    • 多传输协议支持:初步覆盖 Stdio、HTTP、SSE、WebSocket 等传输场景,方便集成到不同开发环境。
  • 安装与运行

    • 获取代码:将仓库克隆到本地/服务器。
    • 安装依赖:在项目根目录执行依赖安装(如 Python 依赖、Node 依赖等,按项目说明安装)。
    • 运行方式(两种常见方式之一):
      • 使用 uv 启动(适用于 UVBundle 形式的部署):uv run start
      • 使用 Python 模块启动(适用于 Python Bundle/源码部署):python -m src.main
    • 运行时参数与环境(示例,实际以部署时的配置为准):
      • MCP 模式(传输协议)通常通过环境变量 MCP_MODE 指定,例如 stdio 或 http。
      • 如需从 bundling 产物启动,请参考部署脚本与构建产物的 manifest.json 指定的 entry_point 与 env 设置。
  • 服务器配置(给 MCP 客户端的配置说明) 说明:MCP 客户端需要配置服务器的启动命令及参数以建立连接。以下配置示例用于描述仓库提供的两种运行模式,均遵循仓库中 manifest 的字段含义:

      1. UV 模式(内置 UV 启动的服务器) { "name": "lucius-mcp", "server": { "type": "uv", "entry_point": "src.main:start", "mcp_config": { "command": "uv", "args": ["run", "start"], "env": { "MCP_MODE": "http" // 依据实际传输选择,http 或 stdio } } } } 说明:
      • name: MCP 服务器标识名,用于客户端识别。
      • server.type: 服务器实现类型,示例为 uv(FastUV/UV 方案)。
      • server.entry_point: 启动入口点,均指向 src.main 的 start 或等效启动器。
      • mcp_config.command/args: 启动命令及参数,分别对应运行环境中的可执行程序和启动参数。
      • mcp_config.env: 启动时注入的环境变量,常见包括 MCP_MODE、端口等,具体以部署所需配置为准。
      1. Python Bundle 模式(源码或 vendored 依赖部署,Python 启动) { "name": "lucius-mcp", "server": { "type": "python", "entry_point": "src.main:start", "mcp_config": { "command": "python", "args": ["-m", "src.main"], "env": { "MCP_MODE": "stdio", "PYTHONPATH": "${__dirname}/server/lib:${__dirname}" } } } } 说明:
      • 该方案面向带 vendored 依赖的 Python Bundle 部署,入口与环境变量会使得 MCP 在 Python 路径下找到所需模块。
      • PYTHONPATH 示例包含 ${__dirname} 以支持相对 bundling 结构,且需包含服务器端的 vendored 依赖路径 server/lib。
    • 通用要点
      • server.name: 服务名称,便于客户端在多个服务器之间区分。
      • server.entry_point: 启动入口,通常为 "src.main:start"。
      • server.mcp_config.command/args: 启动命令及参数,决定运行模式。
      • server.mcp_config.env: 启动环境变量,需包含 MCP_MODE 且可选地包含端口、主机等信息。
  • 基本使用方法

    • 启动服务后,客户端通过公开的 MCP 接口(JSON-RPC)进行资源获取、工具调用与 Prompt 渲染。
    • 通过不同传输协议,开发者与模型客户端可以在本地(stdio)、服务器端 HTTP 流(streaming)、WebSocket 等场景下持续交互。
    • 服务端负责管理会话、能力声明,以及对工具、资源的访问权限控制,确保 LLM 客户端在受控环境中获取上下文。

服务器信息