MCP HubMCP Hub
loonghao

shotgrid-mcp-server

by: loonghao

A Model Context Protocol (MCP) server for Autodesk ShotGrid/Flow Production Tracking (FPT) with comprehensive CRUD operations and data management capabilities.

6created 03/01/2025
Visit
ShotGrid
CRUD

๐Ÿ“ŒOverview

Purpose: The ShotGrid MCP Server provides a high-performance implementation of the Model Context Protocol (MCP) tailored for ShotGrid, facilitating efficient data management and interaction.

Overview: Built on the fastmcp framework, this server delivers robust tools for handling various CRUD operations, including the upload and download of entity thumbnails. It is designed for cross-platform use and ensures optimal performance through advanced connection pooling and comprehensive testing.

Key Features:

  • High-performance implementation based on fastmcp: Ensures swift and effective processing of requests.

  • Complete CRUD operation toolset: Provides tools to create, read, update, and delete entities in ShotGrid.

  • Dedicated thumbnail download/upload tools: Simplifies management of visual assets associated with entities.

  • Efficient connection pool management: Enhances server responsiveness and resource utilization.

  • Comprehensive test coverage with pytest: Guarantees code reliability and quality through extensive testing.

  • Cross-platform support (Windows, macOS, Linux): Ensures accessibility and usability across a wide range of operating systems.


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

  1. Clone the repository:
git clone https://github.com/loonghao/shotgrid-mcp-server.git
cd shotgrid-mcp-server
  1. Install development dependencies:
pip install -r requirements-dev.txt
  1. 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...

Development

Environment Setup

  1. Set up environment variables:
$env:SHOTGRID_URL='your_shotgrid_url'
$env:SHOTGRID_SCRIPT_NAME='your_script_name'
$env:SHOTGRID_SCRIPT_KEY='your_script_key'
  1. 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 entities
  • read: Read entity information
  • update: Update entity data
  • delete: Delete entities
  • download_thumbnail: Download entity thumbnails
  • upload_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:

  1. Follow Google Python Style Guide
  2. Write tests using pytest
  3. Update documentation
  4. Use absolute imports
  5. 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 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.