Sanzaru MCP 服务器
使用说明内容(Markdown格式)
项目简介
Sanzaru MCP 服务器是一套基于 Model Context Protocol(MCP)的后端实现,旨在为大型语言模型(LLM)客户端提供统一的上下文服务。服务器核心功能包括托管和管理资源(如视频、图片、音频等),注册并执行 Tools(外部功能调用),以及定义和渲染 Prompt 模板,支持多种交互模式与传输协议。服务器通过 JSON-RPC 与客户端通信,处理资源访问、工具调用和 Prompts 的获取/渲染等请求。
主要功能点
- MCP 协议核心实现:注册工具、资源、提示模板,处理资源读取/写入、工具调用与提示获取等 JSON-RPC 请求,返回 JSON-RPC 响应。
- 资源托管与访问:本地或 Databricks 等后端存储资源(视频、图片、音频等),提供读取、分块读取、写入、列举、元数据等能力。
- 工具注册与执行:按类别注册视频、图片、音频、媒体查看等工具,通过 MCP 客户端进行调用并获取结果。
- 提示模板与渲染:提供 Prompts 与模板,支持在工具调用中嵌入自定义文本。
- 多传输协议支持:stdio(默认,适用于 Claude Desktop/本地 MCP 客户端)和 HTTP/流式传输,便于远程接入。
- 安全与并发:实现资源路径安全检查、符号链接防护、并发处理与缓存机制,确保对资源和工具的安全访问。
- 模块化与可扩展性:工具分层在 video、image、audio、reference、media_viewer 等子模块中,配合存储后端实现灵活扩展。
安装与运行
- 环境与依赖
- Python 3.10 及以上
- 安装依赖(示例性步骤,实际可按项目要求执行):
- 创建虚拟环境并安装项目:pip install -e .
- 按需安装额外依赖(如数据库/存储后端、OpenAI 客户端等)
- 配置关键环境变量
- OPENAI_API_KEY:OpenAI API Key
- SANZARU_MEDIA_PATH:统一媒体根目录路径(若使用统一媒体模式)
- 需要的话,其他环境变量(如 DATABRICKS_*、STORAGE_BACKEND 等,视部署而定)
- 启动 MCP 服务器
- 使用 stdio 传输启动(用于本地 MCP 客户端,如 Claude Desktop/Claude Code):
- uv run sanzaru
- 使用 HTTP 传输启动(远程访问/直连客户端):
- uv run sanzaru --transport http --port 8000
- 服务可用性与调试
- 服务器启动后,MCP 客户端即可通过配置的服务器名称与命令参数建立连接,进行资源读取、工具调用和提示获取等操作。
服务器配置(MCP 客户端使用的配置示例)
以下配置用于 MCP 客户端注册并连接到 Sanzaru MCP 服务器。注:MCP 客户端无需直接包含服务器实现的代码,只需读取并启动对应服务器。
{ "server_name": "sanzaru", "command": "uv", "args": ["run", "sanzaru"], "transport": "stdio", "env": { "OPENAI_API_KEY": "<your-api-key>", "SANZARU_MEDIA_PATH": "/absolute/path/to/media" } /* 注释说明:
- server_name: MCP 客户端在 UI/工作流中显示的服务器名称,应与实际服务器名称保持一致(sanzaru)。
- command / args: 启动服务器的命令及参数。此处使用 uv run sanzaru 启动,默认传输为 stdio。
- transport: 传输模式,stdio 适用于本地客户端。
- env: 运行时所需的环境变量,如 API KEY、媒体根路径等。 */ }
{ "server_name": "sanzaru", "command": "uv", "args": ["run", "sanzaru"], "transport": "http", "port": 8000, "env": { "OPENAI_API_KEY": "<your-api-key>", "SANZARU_MEDIA_PATH": "/absolute/path/to/media" } /* 注释说明:
- transport: http 模式,适用于远程客户端通过 HTTP 接入。
- port: 服务器监听端口(如 8000),客户端需对接该端口。
- 其他字段同上。 */ }
基本使用方式
- 启动后,客户端可以通过 MCP 接口调用以下能力:
- 读取并管理资源(视频、图片、音频等)
- 注册与执行工具(Video/Image/Audio/Media Viewer 等工具)
- 获取并使用 Prompt 模板进行 LLM 交互
- 常用工作流程包括:创建视频/图片/音频任务、查询任务状态、下载结果、浏览本地/统一媒体库等
使用注意事项
- 根据实际部署选择本地存储还是云端存储后端(LocalDays/Databricks 等)。
- 安全性方面,服务器实现包含对路径、符号链接等安全校验,请确保运行环境符合安全要求。
- 传输模式可灵活切换,HTTP 模式需要额外端口配置与网络访问权限。
关键特性与通用场景
- 多模态上下文服务:为 Sora、Whisper、GPT-4o 等模型提供背景上下文和数据访问。
- 支持资源与工具的统一管理,便于 LLM 客户端进行跨模态查询。
- 提供媒体查看、裁剪、转换、分块读取等资源操作,以配合大模型的上下文提供与数据流。
关键词
多模态上下文服务, 视频生成, 图像生成, 音频处理, 存储后端
分类ID
6