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 的字段含义:
-
- 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、端口等,具体以部署所需配置为准。
-
- 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 客户端在受控环境中获取上下文。