P

shotgrid-mcp-server

...
Created 1/3/2025byloonghao

Language:

Python

Stars:

5

Forks:

2

ShotGrid MCP Server

English | 简体中文

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

  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...

Quick Demo

Here's a simple example of querying entities using the ShotGrid MCP server:

ShotGrid MCP Server Demo

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"
      },
      "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.

Last updated: 2/23/2025

Publisher info

loonghao's avatar

Pipeline TD | Working in the VFX and Game Development industry.

Shenzhen
215
followers
243
following
175
repos

More MCP servers built with Python

apollo-io-mcp-server

MCP server that exposes the Apollo.io API functionalities as tools

By Edward Choh
mcp-openvision

MCP Server using OpenRouter models to get descriptions for images

By Nazruden2
DeepView MCP

Enables IDEs like Cursor and Windsurf to analyze large codebases using Gemini's extensive context window.

By ai-1st