2 |
3 |

4 |
5 | # ShotGrid MCP Server
6 |
7 | **一个 [Model Context Protocol (MCP)](https://modelcontextprotocol.io) 服务器,让 AI 助手能够无缝访问 Autodesk ShotGrid (Flow Production Tracking)**
8 |
9 | [English](README.md) | 简体中文
10 |
11 | [](https://pypi.org/project/shotgrid-mcp-server/)
12 | [](https://badge.fury.io/py/shotgrid-mcp-server)
13 | [](LICENSE)
14 | [](https://codecov.io/gh/loonghao/shotgrid-mcp-server)
15 | [](https://pepy.tech/project/shotgrid-mcp-server)
16 | [](https://pepy.tech/project/shotgrid-mcp-server)
17 | [](https://pepy.tech/project/shotgrid-mcp-server)
18 |
19 |
20 |
21 | ## 概述
22 |
23 | ShotGrid MCP Server 使 Claude、Cursor、VS Code Copilot 等 AI 助手能够直接与您的 ShotGrid (Flow Production Tracking) 数据交互。基于 [FastMCP](https://github.com/jlowin/fastmcp) 构建,为 AI 工具与制作跟踪工作流之间提供高性能桥梁。
24 |
25 | ### 演示
26 |
27 | 
28 |
29 | ## 功能特性
30 |
31 | | 类别 | 亮点 |
32 | |------|------|
33 | | **40+ 工具** | 完整的 CRUD 操作、批量处理、缩略图、备注、播放列表 |
34 | | **传输方式** | stdio (本地)、HTTP (远程)、ASGI (生产) |
35 | | **性能** | 连接池、Schema 缓存、延迟初始化 |
36 | | **部署** | FastMCP Cloud、Docker、uvicorn/gunicorn、任意 ASGI 服务器 |
37 | | **平台** | Windows、macOS、Linux |
38 |
39 | ## 快速开始
40 |
41 | ### 安装
42 |
43 | ```bash
44 | # 使用 uv(推荐)
45 | uv pip install shotgrid-mcp-server
46 |
47 | # 或使用 pip
48 | pip install shotgrid-mcp-server
49 | ```
50 |
51 | ### 配置
52 |
53 | 设置 ShotGrid 凭证:
54 |
55 | ```bash
56 | export SHOTGRID_URL="https://your-site.shotgunstudio.com"
57 | export SHOTGRID_SCRIPT_NAME="your_script_name"
58 | export SHOTGRID_SCRIPT_KEY="your_script_key"
59 | ```
60 |
61 | ### 使用
62 |
63 | #### stdio 传输(默认)- 用于 Claude Desktop、Cursor 等
64 |
65 | ```bash
66 | uvx shotgrid-mcp-server
67 | ```
68 |
69 | #### HTTP 传输 - 用于远程访问
70 |
71 | ```bash
72 | uvx shotgrid-mcp-server http --host 0.0.0.0 --port 8000
73 | ```
74 |
75 | ## MCP 客户端配置
76 |
77 | 将服务器添加到您的 MCP 客户端配置:
78 |
79 | ### Claude Desktop
80 |
81 | ```json
82 | {
83 | "mcpServers": {
84 | "shotgrid": {
85 | "command": "uvx",
86 | "args": ["shotgrid-mcp-server"],
87 | "env": {
88 | "SHOTGRID_URL": "https://your-site.shotgunstudio.com",
89 | "SHOTGRID_SCRIPT_NAME": "your_script_name",
90 | "SHOTGRID_SCRIPT_KEY": "your_script_key"
91 | }
92 | }
93 | }
94 | }
95 | ```
96 |
97 | ### Cursor / VS Code / 其他 MCP 客户端
98 |
99 | ```json
100 | {
101 | "mcpServers": {
102 | "shotgrid": {
103 | "command": "uvx",
104 | "args": ["shotgrid-mcp-server"],
105 | "env": {
106 | "SHOTGRID_URL": "https://your-site.shotgunstudio.com",
107 | "SHOTGRID_SCRIPT_NAME": "your_script_name",
108 | "SHOTGRID_SCRIPT_KEY": "your_script_key"
109 | }
110 | }
111 | }
112 | }
113 | ```
114 |
115 | ### HTTP 传输(远程)
116 |
117 | ```json
118 | {
119 | "mcpServers": {
120 | "shotgrid": {
121 | "url": "http://your-server:8000/mcp",
122 | "transport": { "type": "http" }
123 | }
124 | }
125 | }
126 | ```
127 |
128 | ## 部署
129 |
130 | | 方式 | 命令 / 设置 |
131 | |------|-------------|
132 | | **FastMCP Cloud** | 通过 [fastmcp.cloud](https://fastmcp.cloud) 部署,使用 `fastmcp_entry.py` |
133 | | **ASGI** | `uvicorn shotgrid_mcp_server.asgi:app --host 0.0.0.0 --port 8000` |
134 | | **Docker** | 参见 [部署指南](docs/deployment_zh.md) |
135 |
136 | 详细说明请参阅 [部署指南](docs/deployment_zh.md)。
137 |
138 | ## 可用工具
139 |
140 | 本服务器提供 **40+ 工具** 用于与 ShotGrid 交互:
141 |
142 | | 类别 | 工具 |
143 | |------|------|
144 | | **CRUD** | `create_entity`、`find_one_entity`、`search_entities`、`update_entity`、`delete_entity` |
145 | | **批量** | `batch_create`、`batch_update`、`batch_delete` |
146 | | **媒体** | `download_thumbnail`、`upload_thumbnail` |
147 | | **备注** | `shotgrid.note.create`、`shotgrid.note.read`、`shotgrid.note.update` |
148 | | **播放列表** | `create_playlist`、`find_playlists` |
149 | | **直接 API** | `sg.find`、`sg.create`、`sg.update`、`sg.batch` 等... |
150 |
151 | ## 提示词示例
152 |
153 | 连接后,您可以这样询问 AI 助手:
154 |
155 | - *"查找项目 X 中上周更新的所有镜头"*
156 | - *"创建一个包含昨天灯光渲染的播放列表"*
157 | - *"给 SHOT_010 添加一条关于背景灯光的备注"*
158 | - *"汇总本月动画部门的时间日志"*
159 |
160 | ## 开发
161 |
162 | ```bash
163 | # 克隆并安装
164 | git clone https://github.com/loonghao/shotgrid-mcp-server.git
165 | cd shotgrid-mcp-server
166 | pip install -r requirements-dev.txt
167 |
168 | # 运行测试
169 | nox -s tests
170 |
171 | # 带热重载的开发服务器
172 | uv run fastmcp dev src/shotgrid_mcp_server/server.py:mcp
173 | ```
174 |
175 | ## 文档
176 |
177 | 详细文档请参阅 [/docs](docs/) 目录。
178 |
179 | ## 贡献
180 |
181 | 欢迎贡献!请遵循 [Google Python 代码风格指南](https://google.github.io/styleguide/pyguide.html) 并编写测试。
182 |
183 | ## 许可证
184 |
185 | [MIT](LICENSE)
186 |
187 | ## 🏗️ 架构
188 |
189 | ```mermaid
190 | flowchart TB
191 | subgraph Clients["🤖 MCP 客户端"]
192 | direction LR
193 | CLAUDE["Claude Desktop"]
194 | CURSOR["Cursor"]
195 | VSCODE["VS Code"]
196 | AI["其他 AI"]
197 | end
198 |
199 | subgraph MCP["⚡ ShotGrid MCP Server"]
200 | direction LR
201 | TOOLS["40+ 工具"]
202 | POOL["连接池"]
203 | SCHEMA["Schema 缓存"]
204 | end
205 |
206 | subgraph ShotGrid["🎬 ShotGrid API"]
207 | direction LR
208 | P["项目"]
209 | S["镜头"]
210 | A["资产"]
211 | T["任务"]
212 | N["备注"]
213 | end
214 |
215 | Clients -->|"MCP 协议