Orchestra MCP 服务器
使用说明
-
项目简介 Orchestra 是一个面向 LLM 的后端服务,遵循 MCP(模型上下文协议)规范,核心职责是以标准化方式提供上下文信息和功能给客户端。通过自动化托管资源、注册执行工具、渲染并提供 Prompt 模板等能力,支持安全、可扩展的上下文服务。
-
主要功能点
- 资源管理:提供数据访问能力和资源的托管,便于客户端读取与使用。
- 工具注册与执行:注册外部工具并在需要时调用,支持工具的输入参数传递与结果返回。
- Prompt 模板定义与渲染:支持多种提示模板的定义和渲染,动态影响 LLM 的交互风格与行为。
- MCP 协议实现与 JSON-RPC 通信:通过标准的 MCP 请求/响应格式与客户端进行通信,支持会话管理与能力声明。
- 多传输协议支持:为 LLM 应用提供灵活的传输选择(如 SSE、StdIO、WebSocket 等),以适应不同部署场景。
- 与现有后端系统集成:基于 FastAPI 构建,易于与现有 API 及数据库进行对接与扩展。
-
安装与运行步骤
- 准备运行环境:确保已安装 Python 3.11+、依赖库(如 FastAPI、FastMCP、数据库相关组件等)。
- 启动服务:在项目根目录运行后端服务入口,通常使用适配的启动命令(例如通过 uvicorn 启动包含 MCP 的 FastAPI 应用,监听端口如 8000)。
- 访问 MCP 入口:MCP 服务会暴露一个专门的入口(如 /mcp),供 MCP 客户端通过 JSON-RPC 进行资源、工具、提示等请求与响应。
- 部署与容器化:可参考仓库提供的 Docker 部署方案将服务与所需的依赖(数据库、对象存储、缓存等)一同编排运行。
-
服务器配置(MCP 客户端需要的启动配置,JSON 形式描述) 服务器名称:Orchestra MCP Server 启动命令(command):uvicorn 启动参数(args):["backend.main:app", "--host", "0.0.0.0", "--port", "8000"] 配置说明:该配置用于 MCP 客户端建立连接并通过 /mcp 路径进行 MCP 请求。客户端不需要本仓库的实现细节,只需知道服务器名称、启动命令和必要参数即可连接并使用 MCP 提供的资源、工具与提示能力。
-
基本使用方法
- 启动后端服务,使其对外提供 MCP 服务端点。
- 使用 MCP 客户端通过 JSON-RPC 发送请求(读取资源、注册工具、获取并渲染 Prompt 等),服务器应按 MCP 规范返回 JSON-RPC 响应。
- 客户端可根据 MCP 服务器的能力声明,动态发现可用资源与工具,并在需要时调用对应工具对外部系统进行操作。
- 如遇到需要扩展能力的场景,可在后端实现中增加新的资源、工具或提示模板,并确保暴露给 MCP 客户端的入口对外可用。