Skip to main content

Standalone dcc-mcp-server CLI binary — gateway, sidecar, stdio bridge (Rust)

Project description

dcc-mcp-server-bin — PyPI distribution blueprint

Status: blueprint — packaging files are wired but no PyPI release has shipped yet. Tracked in issue #1002 (deliverable 3 of RFC #998 Addendum A.7).

This directory packages the crates/dcc-mcp-server Rust binary as a platform-specific binary-only PyPI wheel, following the same pattern as ruff, uv, cmake, and pyright. The result is a single pip install dcc-mcp-server that drops the gateway / sidecar / translate CLI onto PATH for Python 3.7+ regardless of which DCC the user runs.

Why a separate PyPI package?

dcc-mcp-core is a PyO3 wheel — its _core.so is loaded into the host Python interpreter (mayapy / blender-python / hython). The sidecar binary, by contrast, is meant to run as its own OS process; bundling it into dcc-mcp-core would couple two artefacts with very different release cadences and ABI matrices. Splitting them is the standard pattern.

Package Distributes Audience
dcc-mcp-core (existing) PyO3 wheel (_core.so + Python facade) Skill authors, plugin/addon code running inside a DCC interpreter
dcc-mcp-server (this dir) platform-specific Python 3.7+ binary wheels Operators, sidecar spawners, anyone who wants a standalone gateway
dcc-mcp-<dcc> (each repo) pure-Python plugin/addon glue DCC plugin loaders (userSetup.py, addon register(), …)

Layout

pkg/dcc-mcp-server-bin/
├── pyproject.toml              ← maturin config, bindings = "bin"
├── python/
│   └── dcc_mcp_server/
│       └── __init__.py         ← binary_path() helper for subprocess spawn
└── README.md                   ← this file

The Rust source is not duplicated here — pyproject.toml sets manifest-path = "../../crates/dcc-mcp-server/Cargo.toml" so maturin builds the existing workspace crate.

Local build

# Build a wheel for the current platform / Python
cd pkg/dcc-mcp-server-bin/
vx pip install maturin
vx maturin build --release

# Resulting wheel lands in ../../target/wheels/dcc_mcp_server-*.whl
vx pip install ../../target/wheels/dcc_mcp_server-*.whl
dcc-mcp-server --help

The wheel uses maturin bindings = "bin", so it does not load a Python extension module and has no CPython ABI dependency. Its metadata deliberately declares Requires-Python: >=3.7 so embedded Python 3.7 hosts such as Maya 2022 can install it directly.

Cross-platform CI release

The new .github/workflows/release-server-binary.yml workflow (also part of this PR) builds wheels for:

OS Arch Tag
manylinux x86_64 manylinux_2_28_x86_64
manylinux aarch64 manylinux_2_28_aarch64
Windows x86_64 win_amd64
Windows arm64 win_arm64
macOS x86_64 macosx_11_0_x86_64
macOS arm64 macosx_11_0_arm64

The workflow triggers on tags matching dcc-mcp-server-v* so it stays independent of the existing dcc-mcp-core release cycle.

Usage from a DCC plugin

# In a Maya plugin / Blender addon, after `pip install dcc-mcp-server`:
import os, subprocess
from dcc_mcp_server import binary_path

_proc = subprocess.Popen([
    str(binary_path()),
    "sidecar",
    "--dcc", "maya",
    "--host-rpc", "commandport://127.0.0.1:6000",
    "--watch-pid", str(os.getpid()),
])

That's the entire plugin → sidecar wiring. Per-DCC HostRpcClient implementations land in their respective adapter repos.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

dcc_mcp_server-0.19.7-py3-none-win_amd64.whl (16.0 MB view details)

Uploaded Python 3Windows x86-64

dcc_mcp_server-0.19.7-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (17.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

dcc_mcp_server-0.19.7-py3-none-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl (33.2 MB view details)

Uploaded Python 3macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file dcc_mcp_server-0.19.7-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for dcc_mcp_server-0.19.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e13e87ccb22b95fb2a3f79b1cf4f8d28ce0eadb28665bff67c7e3573482e9547
MD5 f0c48767ad03f7394f5a5f3040d40e0e
BLAKE2b-256 fd623db78e08581adec0dadd8c99dd8842766f50c174d9f80aafa7b06c1f3940

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_server-0.19.7-py3-none-win_amd64.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dcc_mcp_server-0.19.7-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for dcc_mcp_server-0.19.7-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8749e2db2f275514ac733595b035e7e7b152545a04d5f14cd8427aea830368a9
MD5 535f5fe1bde5d3db8de84fad5b0fa704
BLAKE2b-256 2ae1f652955d71b3a10cdb9eb8cf8224351411d823ac7aac525ea9a179bafb44

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_server-0.19.7-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dcc_mcp_server-0.19.7-py3-none-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dcc_mcp_server-0.19.7-py3-none-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 83ad66f3c816657a55f5c4d6ee134c3a56ea40fc9824d3b0a8f6a94a7407793e
MD5 ab246654cad9ea75564ee0f1e5f45c44
BLAKE2b-256 a6c184826df7a3d7fdd10b848c058baa8a72d4578caeebfbe55e94e73bf442bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_server-0.19.7-py3-none-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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