DevMotion MCP Server
使用说明(Markdown 格式)
- 项目简介
- 这是一个基于 MCP(Model Context Protocol)的服务器端实现,旨在通过 JSON-RPC 风格的通信向 LLM 客户端提供“资源/工具/提示”的标准化上下文服务。核心功能包括:托管和管理动画项目的资源、注册并执行可调用的工具、以及定义和渲染提示以引导对话式创作流程。服务器采用 PostgreSQL 作为数据存储,配合 RaMMutations(在服务端与前端共享的 mutations 逻辑)实现对项目的增删改查与动画关键帧管理。
- 主要功能点
- MCP 服务端:通过 Verce MCP Adapter 的路由实现,对外提供 MCP 所需的 JSON-RPC 风格工具调用入口。注册并暴露一组与 DevMotion 相关的工具(如 create_project、get_project、create_layer、animate_layer、edit_layer、remove_layer、configure_project 等)。
- 数据持久化与共享逻辑:项目数据存储在 PostgreSQL,工具执行会更新数据库中的项目状态,支持匿名(MCP 创建的)项目、以及权限与可访问性控制。
- 共享 Mutations:服务端的变更逻辑与前端的 Mutations 保持一致,确保工具调用在服务端对项目进行一致的修改。
- 安全与可扩展性:具备会话/鉴权、令牌化渲染、逐步执行的 AI 流程协作能力,以及对不同前端/客户端的工具暴露能力。
- 安装步骤
- 克隆仓库并进入项目目录。
- 安装依赖:使用您熟悉的包管理工具执行安装,例如 pnpm install。
- 配置数据库:确保私有 PostgreSQL 数据库地址可用,通常需要设置 PRIVATE_DATABASE_URL(环境变量)。
- 启动服务器:使用开发模式启动服务器(本 MCP 实现采用 SvelteKit + adapter-node,开发模式通常为 pnpm dev,生产模式可通过打包后启动)。
- MCP 端点地址:在本地开发环境中,MCP 端点通常暴露在 http://localhost:5173/mcp,具体端口请参考运行环境配置。
- 如需生产部署,请按常规 SvelteKit + Adapter 配置将应用部署到所选平台(Vercel/Node.js 云服务器等),并确保公开可访问的 MCP 端点地址。
- 服务器配置(JSON,供 MCP 客户端使用的连接配置示例说明)
说明:MCP 客户端需要一个包含服务器名称、启动命令及参数的配置,用于连接并调用 MCP 服务器。以下为基于仓库信息的准确描述,非代码示例。
{
"serverName": "DevMotion MCP Server",
"transport": "http",
"endpoint": "https://<your-deployed-domain>/mcp",
"command": "pnpm",
"args": ["dev"],
"notes": "本地开发使用 SvelteKit 开发服务器,生产部署请将端点替换为实际暴露地址;客户端通过 HTTP JSON-RPC 与此端点进行工具调用与会话管理。"
}
注释:
- serverName:用于标识 MCP 服务器的名称,便于在客户端管理与切换。
- transport 与 endpoint:指明通信协议及 MCP 服务器的公开地址。生产部署时请将 endpoint 替换为实际域名及路径。
- command 与 args:描述启动服务器的命令与参数。在本仓库实现中,开发模式通常使用 SvelteKit 的 dev/preview,生产环境应使用已打包的 Node 服务入口。
- 其他字段可根据您实际的部署和客户端允许的参数进行扩展。
- 基本使用方法
- 在 Claude Desktop 等 MCP 客户端中,选择添加一个新的 MCP 服务器,填入上面的配置(endpoint、serverName 等信息)。
- 使用工具创建和管理动画项目,例如创建一个新项目、向其中添加图层、设置关键帧、应用预设等。
- 服务端会将对项目的修改持久化到数据库,允许在后续对话中基于当前状态继续操作。
- 通过系统提示与工具组合,LLM 客户端可以逐步构建、调整并最终渲染出可导出的视频/动画内容。