shotgrid-mcp-server


Nameshotgrid-mcp-server JSON
Version 0.2.5 PyPI version JSON
download
home_pageNone
SummaryA Model Context Protocol (MCP) server implementation using fastmcp
upload_time2025-01-05 17:32:41
maintainerNone
docs_urlNone
authorNone
requires_python<3.11,>=3.10
licenseMIT
keywords flow production tracking api mcp server shotgrid
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # ShotGrid MCP Server

English | [简体中文](README_zh.md)

<div align="center">

A high-performance ShotGrid Model Context Protocol (MCP) server implementation based on fastmcp

[![Python Version](https://img.shields.io/pypi/pyversions/shotgrid-mcp-server.svg)](https://pypi.org/project/shotgrid-mcp-server/)
[![License](https://img.shields.io/github/license/loonghao/shotgrid-mcp-server.svg)](LICENSE)
[![PyPI version](https://badge.fury.io/py/shotgrid-mcp-server.svg)](https://badge.fury.io/py/shotgrid-mcp-server)
[![Downloads](https://pepy.tech/badge/shotgrid-mcp-server)](https://pepy.tech/project/shotgrid-mcp-server)

</div>

## ✨ 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:
```bash
uv pip install shotgrid-mcp-server
```

### Development Setup

1. Clone the repository:
```bash
git clone https://github.com/loonghao/shotgrid-mcp-server.git
cd shotgrid-mcp-server
```

2. Install development dependencies:
```bash
pip install -r requirements-dev.txt
```

3. Development Commands
All development commands are managed through nox. Check `noxfile.py` for available commands:
```bash
# 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](images/sg-mcp.gif)

## Development

#### Environment Setup

1. Set up environment variables:
```powershell
$env:SHOTGRID_URL='your_shotgrid_url'
$env:SHOTGRID_SCRIPT_NAME='your_script_name'
$env:SHOTGRID_SCRIPT_KEY='your_script_key'
```

2. Run the development server:
```bash
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:
```bash
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](CHANGELOG.md) for detailed version history.

## 📄 License

MIT License - see the [LICENSE](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:

```json
{
  "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.
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "shotgrid-mcp-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.11,>=3.10",
    "maintainer_email": null,
    "keywords": "Flow Production Tracking, api, mcp, server, shotgrid",
    "author": null,
    "author_email": "Hal Long <hal.long@outlook.com>",
    "download_url": "https://files.pythonhosted.org/packages/29/c9/88c16a859c5d387a7fd662c559a7c6c45db6d6411c55a4cdfa3bb72f70ff/shotgrid_mcp_server-0.2.5.tar.gz",
    "platform": null,
    "description": "# ShotGrid MCP Server\n\nEnglish | [\u7b80\u4f53\u4e2d\u6587](README_zh.md)\n\n<div align=\"center\">\n\nA high-performance ShotGrid Model Context Protocol (MCP) server implementation based on fastmcp\n\n[![Python Version](https://img.shields.io/pypi/pyversions/shotgrid-mcp-server.svg)](https://pypi.org/project/shotgrid-mcp-server/)\n[![License](https://img.shields.io/github/license/loonghao/shotgrid-mcp-server.svg)](LICENSE)\n[![PyPI version](https://badge.fury.io/py/shotgrid-mcp-server.svg)](https://badge.fury.io/py/shotgrid-mcp-server)\n[![Downloads](https://pepy.tech/badge/shotgrid-mcp-server)](https://pepy.tech/project/shotgrid-mcp-server)\n\n</div>\n\n## \u2728 Features\n\n- \ud83d\ude80 High-performance implementation based on fastmcp\n- \ud83d\udee0 Complete CRUD operation toolset\n- \ud83d\uddbc Dedicated thumbnail download/upload tools\n- \ud83d\udd04 Efficient connection pool management\n- \u2705 Comprehensive test coverage with pytest\n- \ud83d\udce6 Dependency management with UV\n- \ud83c\udf10 Cross-platform support (Windows, macOS, Linux)\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\nInstall using UV:\n```bash\nuv pip install shotgrid-mcp-server\n```\n\n### Development Setup\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/loonghao/shotgrid-mcp-server.git\ncd shotgrid-mcp-server\n```\n\n2. Install development dependencies:\n```bash\npip install -r requirements-dev.txt\n```\n\n3. Development Commands\nAll development commands are managed through nox. Check `noxfile.py` for available commands:\n```bash\n# Run tests\nnox -s tests\n\n# Run linting\nnox -s lint\n\n# Run type checking\nnox -s type_check\n\n# And more...\n```\n\n## Quick Demo\n\nHere's a simple example of querying entities using the ShotGrid MCP server:\n\n![ShotGrid MCP Server Demo](images/sg-mcp.gif)\n\n## Development\n\n#### Environment Setup\n\n1. Set up environment variables:\n```powershell\n$env:SHOTGRID_URL='your_shotgrid_url'\n$env:SHOTGRID_SCRIPT_NAME='your_script_name'\n$env:SHOTGRID_SCRIPT_KEY='your_script_key'\n```\n\n2. Run the development server:\n```bash\nuv run fastmcp dev src\\shotgrid_mcp_server\\server.py:app\n```\nThe server will start in development mode with hot reloading enabled.\n\n## \u2699\ufe0f Configuration\n\n### Environment Variables\n\nCreate a `.env` file with the following variables:\n```bash\nSHOTGRID_URL=your_shotgrid_url\nSHOTGRID_SCRIPT_NAME=your_script_name\nSHOTGRID_SCRIPT_KEY=your_script_key\n```\n\n## \ud83d\udd27 Available Tools\n\n- `create`: Create ShotGrid entities\n- `read`: Read entity information\n- `update`: Update entity data\n- `delete`: Delete entities\n- `download_thumbnail`: Download entity thumbnails\n- `upload_thumbnail`: Upload entity thumbnails\n\n## \ud83d\udcda API Documentation\n\nFor detailed API documentation, please refer to the documentation files in the `/docs` directory.\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Please ensure:\n\n1. Follow Google Python Style Guide\n2. Write tests using pytest\n3. Update documentation\n4. Use absolute imports\n5. Follow the project's coding standards\n\n## \ud83d\udcdd Version History\n\nSee [CHANGELOG.md](CHANGELOG.md) for detailed version history.\n\n## \ud83d\udcc4 License\n\nMIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\udd0c MCP Client Configuration\n\nTo use the ShotGrid MCP server in your MCP client, add the following configuration to your client's settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"shotgrid-server\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"shotgrid-mcp-server\"\n      ],\n      \"env\": {\n        \"SHOTGRID_SCRIPT_NAME\": \"XXX\",\n        \"SHOTGRID_SCRIPT_KEY\": \"XX\",\n        \"SHOTGRID_URL\": \"XXXX\"\n      },\n      \"disabled\": false,\n      \"alwaysAllow\": [\n        \"search_entities\",\n        \"create_entity\",\n        \"batch_create\",\n        \"find_entity\",\n        \"get_entity_types\",\n        \"update_entity\",\n        \"download_thumbnail\",\n        \"batch_update\",\n        \"delete_entity\",\n        \"batch_delete\"\n      ]\n    }\n  }\n}\n```\n\n### \ud83d\udd11 Credentials Setup\n\nReplace the following values with your ShotGrid credentials:\n- `SHOTGRID_SCRIPT_NAME`: Your ShotGrid script name\n- `SHOTGRID_SCRIPT_KEY`: Your ShotGrid script key\n- `SHOTGRID_URL`: Your ShotGrid server URL\n\n### \ud83d\udee1\ufe0f Tool Permissions\n\nThe `alwaysAllow` section lists the tools that can be executed without requiring user confirmation. These tools are carefully selected for safe operations.",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Model Context Protocol (MCP) server implementation using fastmcp",
    "version": "0.2.5",
    "project_urls": {
        "Changelog": "https://github.com/loonghao/shotgrid-mcp-server/blob/main/CHANGELOG.md",
        "Homepage": "https://github.com/loonghao/shotgrid-mcp-server",
        "Issues": "https://github.com/loonghao/shotgrid-mcp-server/issues",
        "Repository": "https://github.com/loonghao/shotgrid-mcp-server.git"
    },
    "split_keywords": [
        "flow production tracking",
        " api",
        " mcp",
        " server",
        " shotgrid"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "35fbcbcd98dbdaf1296e066d1d04efde31e8136d70b3e08952c626ca401b54df",
                "md5": "e3062b071d9bf6e9c5f71b6896a1f1d3",
                "sha256": "e0a53416592653631f15215d2277b652f3acdeae0b13874b8b2eff812c909924"
            },
            "downloads": -1,
            "filename": "shotgrid_mcp_server-0.2.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e3062b071d9bf6e9c5f71b6896a1f1d3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.11,>=3.10",
            "size": 19516,
            "upload_time": "2025-01-05T17:32:40",
            "upload_time_iso_8601": "2025-01-05T17:32:40.209987Z",
            "url": "https://files.pythonhosted.org/packages/35/fb/cbcd98dbdaf1296e066d1d04efde31e8136d70b3e08952c626ca401b54df/shotgrid_mcp_server-0.2.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "29c988c16a859c5d387a7fd662c559a7c6c45db6d6411c55a4cdfa3bb72f70ff",
                "md5": "bc388deafe4f117141417042967826a2",
                "sha256": "1a8c0350e4e04812cd2be8c8dcbdb2a1829d238af286d1ebb31d6e36d046778c"
            },
            "downloads": -1,
            "filename": "shotgrid_mcp_server-0.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "bc388deafe4f117141417042967826a2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.11,>=3.10",
            "size": 696153,
            "upload_time": "2025-01-05T17:32:41",
            "upload_time_iso_8601": "2025-01-05T17:32:41.515918Z",
            "url": "https://files.pythonhosted.org/packages/29/c9/88c16a859c5d387a7fd662c559a7c6c45db6d6411c55a4cdfa3bb72f70ff/shotgrid_mcp_server-0.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-05 17:32:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "loonghao",
    "github_project": "shotgrid-mcp-server",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "shotgrid-mcp-server"
}
        
Elapsed time: 3.65452s