shotgrid-mcp-server
Language:
Python
Stars:
5
Forks:
2
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.
More MCP servers built with Python
MCP server that exposes the Apollo.io API functionalities as tools
Enables IDEs like Cursor and Windsurf to analyze large codebases using Gemini's extensive context window.