P

shotgrid-mcp-server

...
Created 1/3/2025byloonghao

Language:

Python

Stars:

4

Forks:

0

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
213
followers
242
following
172
repos

More MCP servers built with Python

mcp-logo-gen

By sshtunnelvision137
ledger-mcp-server

MCP Server for my ledger

By mprokopov1
clickhouse_mcp_server

A MCP server for ClickHouse

By ThomAub1