ShotGrid MCP Server
by loonghao
A high-performance ShotGrid Model Context Protocol (MCP) server implementation based on fastmcp. It provides a complete toolset for CRUD operations and efficient connection pool management.
Last updated: N/A
ShotGrid MCP Server
English | 简体中文
<div align="center">A high-performance ShotGrid Model Context Protocol (MCP) server implementation based on fastmcp
Python Version License PyPI version Downloads
✨ Features
- 🚀 High-performance implementation based on fastmcp
- 🛠 Complete CRUD operation toolset
- 🖼 Dedicated thumbnail download/upload tools
- 🔄 Efficient connection pool management
- ✅ Comprehensive test coverage with pytest
- 📦 Dependency management with UV
- 🌐 Cross-platform support (Windows, macOS, Linux)
🚀 Quick Start
Installation
Install using UV:
uv pip install shotgrid-mcp-server
Development Setup
- Clone the repository:
git clone https://github.com/loonghao/shotgrid-mcp-server.git
cd shotgrid-mcp-server
- Install development dependencies:
pip install -r requirements-dev.txt
- Development Commands
All development commands are managed through nox. Check
noxfile.py
for available commands:
# Run tests
nox -s tests
# Run linting
nox -s lint
# Run type checking
nox -s type_check
# And more...
Quick Demo
Here's a simple example of querying entities using the ShotGrid MCP server:

ShotGrid MCP Server Demo
Development
Environment Setup
- Set up environment variables:
$env:SHOTGRID_URL='your_shotgrid_url'
$env:SHOTGRID_SCRIPT_NAME='your_script_name'
$env:SHOTGRID_SCRIPT_KEY='your_script_key'
- Run the development server:
uv run fastmcp dev src\shotgrid_mcp_server\server.py:app
The server will start in development mode with hot reloading enabled.
⚙️ Configuration
Environment Variables
Create a .env
file with the following variables:
SHOTGRID_URL=your_shotgrid_url
SHOTGRID_SCRIPT_NAME=your_script_name
SHOTGRID_SCRIPT_KEY=your_script_key
🔧 Available Tools
create
: Create ShotGrid entitiesread
: Read entity informationupdate
: Update entity datadelete
: Delete entitiesdownload_thumbnail
: Download entity thumbnailsupload_thumbnail
: Upload entity thumbnails
📚 API Documentation
For detailed API documentation, please refer to the documentation files in the /docs
directory.
🤝 Contributing
Contributions are welcome! Please ensure:
- Follow Google Python Style Guide
- Write tests using pytest
- Update documentation
- Use absolute imports
- Follow the project's coding standards
📝 Version History
See CHANGELOG.md for detailed version history.
📄 License
MIT License - see the LICENSE file for details.
🔌 MCP Client Configuration
To use the ShotGrid MCP server in your MCP client, add the following configuration to your client's settings:
{
"mcpServers": {
"shotgrid-server": {
"command": "uvx",
"args": [
"shotgrid-mcp-server"
],
"env": {
"SHOTGRID_SCRIPT_NAME": "XXX",
"SHOTGRID_SCRIPT_KEY": "XX",
"SHOTGRID_URL": "XXXX"
},
}
}
}
🔑 Credentials Setup
Replace the following values with your ShotGrid credentials:
SHOTGRID_SCRIPT_NAME
: Your ShotGrid script nameSHOTGRID_SCRIPT_KEY
: Your ShotGrid script keySHOTGRID_URL
: Your ShotGrid server URL
🛡️ Tool Permissions
The alwaysAllow
section lists the tools that can be executed without requiring user confirmation. These tools are carefully selected for safe operations.