Universal Model Context Protocol (MCP) service launcher for Digital Content Creation (DCC) applications. Provides a standardized AI interface for Maya, Houdini, 3ds Max, Nuke, and other DCC software through a modular adapter system.
DCC-MCP
DCC-MCP is a unified implementation of the Model-Context-Protocol (MCP) for Digital Content Creation (DCC) software, designed to provide a consistent interface for various DCC applications used in the VFX and animation industry.
Note: Frontend API is currently under development. Stay tuned for updates!
Related components (dcc-mcp-core, dcc-mcp-maya, dcc-mcp-rpyc) are also under active development.
Features
- Standardized implementation of MCP for DCC applications
- Consistent API across different DCC software (Maya, Houdini, Nuke, etc.)
- Cross-platform compatibility (Windows, Linux, macOS)
- Extensible architecture for custom integrations
Installation
pip install dcc-mcp
Or with Poetry:
poetry add dcc-mcp
Usage
import dcc_mcp
# Example usage will be available once the API is finalized
Development
Setup
# Clone the repository
git clone https://github.com/loonghao/dcc-mcp.git
cd dcc-mcp
# Install dependencies with Poetry
poetry install
Testing
# Run tests with nox
nox -s pytest
# Run linting
nox -s lint
# Fix linting issues
nox -s lint_fix
Documentation
# Build documentation
nox -s docs
# Serve documentation with live reloading
nox -s docs-serve
License
MIT
GitHub Actions Configuration
This project uses GitHub Actions for CI/CD. The following workflows are included:
- Build and Release: Tests the package on multiple Python versions and operating systems, and publishes to PyPI when a new release is created.
- Documentation: Builds and deploys documentation to GitHub Pages.
- Dependency Review: Scans dependencies for security vulnerabilities.
- Scorecards: Analyzes the security health of the project.
The release workflow uses PyPI's trusted publishing, which means you don't need to set up any PyPI API tokens. Instead, you'll need to configure trusted publishing in your PyPI project settings once you've created your package. See PyPI's documentation on trusted publishing for more information.
Release Process
To create a new release:
- Update the version in
pyproject.toml - Update the
CHANGELOG.mdwith the new version and changes - Commit and push the changes
- Create a new tag with the version number (e.g.,
1.0.0) - Push the tag to GitHub
# Example release process
git add pyproject.toml CHANGELOG.md
git commit -m "Release 1.0.0"
git tag 1.0.0
git push && git push --tags
The GitHub Actions workflow will automatically build and publish the package to PyPI.