该项目包含一个基于 Model Context Protocol (MCP) 构建的后端服务,专门用于提供各种领域(如通用、金融PPT等)的Prompt模板。它作为 Sagi LLM Agent 框架的一部分被使用,但也可以被其他符合 MCP 标准的客户端连接和调用。
项目简介
该服务实现了 MCP 协议,注册并托管了一系列“工具”,这些工具的功能是根据用户任务提供预定义的、结构化的 Prompt 模板。这些模板有助于引导 LLM Agent 或其他 LLM 应用进行特定领域的分析和规划。
主要功能点
- Prompt 模板托管: 集中管理多种领域(通用、金融PPT、通用PPT)的Prompt模板。
- MCP 工具接口: 将获取特定Prompt模板的功能封装为MCP工具,通过标准接口提供服务。
- 结构化输出: 工具返回的Prompt模板是结构化的数据,方便LLM客户端解析和使用。
- Stdio 传输支持: 可通过 Stdio 协议与客户端进行通信(如 Sagi 框架内部使用)。
安装步骤
该 MCP 服务器作为 Sagi 框架的一个组件运行。要安装和运行它,您需要设置整个 Sagi 项目环境:
- 准备环境: 确保已安装 Docker 和 Docker Compose。
- 克隆仓库:
git clone https://github.com/Kasma-Inc/Sagi.git cd Sagi git submodule update --init --recursive # 这会下载包括此MCP服务器在内的子模块 - 配置环境变量: 复制 '.env.example' 为 '.env',并填写必要的环境变量,如 'OPENAI_API_KEY'。
cp .env.example .env - 构建和启动环境:
chmod +x dev/setup_dc.sh ./dev/setup_dc.sh - 进入容器:
docker exec -it "$(whoami)_chatbot_python" /bin/bash - 安装Python依赖:
pip install -r requirements.txt
完成以上步骤后,您已在 Docker 容器内设置好了 Sagi 环境,其中包含了这个 MCP 服务器。
服务器配置 (供 MCP 客户端连接参考)
此 MCP 服务器通常由 Sagi 框架内部通过 Stdio 协议启动和连接。如果其他 MCP 客户端想通过 Stdio 连接此服务,其客户端配置中用于启动和连接此服务器进程的参数大致如下:
// 这是一个示例JSON结构,实际客户端可能使用不同的配置格式,但核心参数是这些 { "server_name": "domain_specific_mcp", // MCP 服务器定义的名称 "transport": "stdio", // 传输协议 "command": "uv", // 用于启动服务的命令 (uv 是一个 Python 包安装器和执行器) "args": [ // 传递给 command 的参数列表 "--directory", // uv 参数:指定工作目录 "mcp_server/domain_specific_mcp", // 工作目录路径(相对于Sagi项目根目录) "run", // uv 参数:运行指定脚本 "python", // 要执行的解释器 "src/domain_specific_mcp/server.py" // 要执行的服务器脚本路径(相对于工作目录) ] // 其他可能的配置项如 env (环境变量), cwd (当前工作目录) }
注意: 以上是 MCP 客户端启动此特定 MCP 服务器进程时所需的命令和参数。实际连接时,客户端会通过 Stdio 与此进程的输入/输出流进行 MCP 协议通信。
基本使用方法
此服务主要由 Sagi 框架内部的 Agent 使用。在 Sagi 环境中运行 'python cli.py' 启动 Agent 框架后,当 Agent 需要获取特定领域的 Prompt 模板时,它会通过内部连接调用此 MCP 服务器上托管的工具(例如 'get_general_prompts' 或 'get_financial_ppt_prompts')。服务器接收请求后,会执行对应的工具函数,返回相应的 Prompt 模板数据给 Agent 使用,从而指导 Agent 的后续任务规划和执行。
对于外部开发者而言,理解其功能有助于了解 Sagi 如何利用 MCP 服务来增强其智能体能力,并可参考其实现来开发自己的 MCP 工具或客户端。
信息
分类
AI与计算