shotgrid-mcp-server
Language:
Python
Stars:
4
Forks:
0
ShotGrid MCP Server
English | 简体中文
A high-performance ShotGrid Model Context Protocol (MCP) server implementation based on fastmcp
✨ 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:
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"
},
"disabled": false,
"alwaysAllow": [
"search_entities",
"create_entity",
"batch_create",
"find_entity",
"get_entity_types",
"update_entity",
"download_thumbnail",
"batch_update",
"delete_entity",
"batch_delete"
]
}
}
}
🔑 Credentials Setup
Replace the following values with your ShotGrid credentials:
-
SHOTGRID_SCRIPT_NAME
: Your ShotGrid script name -
SHOTGRID_SCRIPT_KEY
: Your ShotGrid script key- `SHOTGRID_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.
Publisher info
Hal
Pipeline TD | Working in the VFX and Game Development industry.