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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dcc_mcp_server-0.17.26-py3-none-win_amd64.whl.
File metadata
- Download URL: dcc_mcp_server-0.17.26-py3-none-win_amd64.whl
- Upload date:
- Size: 9.5 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
403880c3ac3cf1882755f49cf4d0dab5e5ee5c6bbb249f392fcbf16dfa525417
|
|
| MD5 |
c3163db0a8346861f094ed70ab5fb70b
|
|
| BLAKE2b-256 |
95fb9f1303f2588e0491ff1b97189196812af265033eaa2ece4b765cd5127d93
|
Provenance
The following attestation bundles were made for dcc_mcp_server-0.17.26-py3-none-win_amd64.whl:
Publisher:
release.yml on loonghao/dcc-mcp-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dcc_mcp_server-0.17.26-py3-none-win_amd64.whl -
Subject digest:
403880c3ac3cf1882755f49cf4d0dab5e5ee5c6bbb249f392fcbf16dfa525417 - Sigstore transparency entry: 1618011816
- Sigstore integration time:
-
Permalink:
loonghao/dcc-mcp-core@64d5c9e9a44dc12bbd1f4cf8ed21ff18e2527460 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/loonghao
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@64d5c9e9a44dc12bbd1f4cf8ed21ff18e2527460 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dcc_mcp_server-0.17.26-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: dcc_mcp_server-0.17.26-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 10.2 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3557b744c4d3c253be980780e81ea5179d9546256eef4813b3c81b19e2e5b211
|
|
| MD5 |
08e5af72dcd518bcbf81adb46ccad752
|
|
| BLAKE2b-256 |
9806426d2ab8d1042f5830c6116264155dc10553134a154fde1391f4b7fa7d13
|
Provenance
The following attestation bundles were made for dcc_mcp_server-0.17.26-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
release.yml on loonghao/dcc-mcp-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dcc_mcp_server-0.17.26-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
3557b744c4d3c253be980780e81ea5179d9546256eef4813b3c81b19e2e5b211 - Sigstore transparency entry: 1618012046
- Sigstore integration time:
-
Permalink:
loonghao/dcc-mcp-core@64d5c9e9a44dc12bbd1f4cf8ed21ff18e2527460 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/loonghao
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@64d5c9e9a44dc12bbd1f4cf8ed21ff18e2527460 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dcc_mcp_server-0.17.26-py3-none-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl.
File metadata
- Download URL: dcc_mcp_server-0.17.26-py3-none-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl
- Upload date:
- Size: 19.8 MB
- Tags: Python 3, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e3f21ca232493ab96b35f66b087b565640ab282d99f1faf797a81d7a07ae186
|
|
| MD5 |
9ddabda5f3595355543260ccb2255c22
|
|
| BLAKE2b-256 |
4cee09f5f6dcc0115720dcf054e3b51e7258d3b5674907dfa1666e5338845e81
|
Provenance
The following attestation bundles were made for dcc_mcp_server-0.17.26-py3-none-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl:
Publisher:
release.yml on loonghao/dcc-mcp-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dcc_mcp_server-0.17.26-py3-none-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl -
Subject digest:
1e3f21ca232493ab96b35f66b087b565640ab282d99f1faf797a81d7a07ae186 - Sigstore transparency entry: 1618012234
- Sigstore integration time:
-
Permalink:
loonghao/dcc-mcp-core@64d5c9e9a44dc12bbd1f4cf8ed21ff18e2527460 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/loonghao
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@64d5c9e9a44dc12bbd1f4cf8ed21ff18e2527460 -
Trigger Event:
push
-
Statement type: