Skip to main content

A Model Context Protocol (MCP) server implementation using fastmcp

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orange_shotgrid_mcp_server-0.2.5.tar.gz (696.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orange_shotgrid_mcp_server-0.2.5-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file orange_shotgrid_mcp_server-0.2.5.tar.gz.

File metadata

File hashes

Hashes for orange_shotgrid_mcp_server-0.2.5.tar.gz
Algorithm Hash digest
SHA256 0602fd9ba40f2f824a74caca37dc051adac35f9f641ca73efca1b99e142eb9d8
MD5 33987023c84a1f7d8eb1967a7a778cca
BLAKE2b-256 99dedd4d91e19d08f20ddabfc2a75691e36c6968a8bd6716aec0bb0e3e4cf63d

See more details on using hashes here.

File details

Details for the file orange_shotgrid_mcp_server-0.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for orange_shotgrid_mcp_server-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a2771cdbb97e2cd34ca9e6aafbb2e74c924cf92136ab2bd0d14386b825c97464
MD5 235ec76681375bf150291209d8dde3c9
BLAKE2b-256 858b362ec577ccdaff5b095bff26ef33c909f0f9847d354a2f1bbf321f9f76c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page