dcc-mcp/dcc-mcp-core
요약
dcc-mcp-core는 Rust 기반의 제어 평면(control plane)을 제공하여, 에이전트가 DCC 애플리케이션과 상호작용할 수 있는 표준화된 인프라를 구축합니다. 이 코어는 MCP 및 REST 기능을 통해 다양한 툴, 게임 엔진, 프로덕션 시스템 등을 연결하고 관리하는 게이트웨이 역할을 합니다. 이는 반복적인 코드 생성에 의존하지 않고도 통합(Integration), 타입 스키마, 프로세스 생명주기 등 공통 엔지니어링 로직을 재사용 가능한 자산으로 변환하여 파이프라인의 안정성을 높입니다.
핵심 포인트
- Rust 기반 제어 평면(control plane) 제공
- MCP 및 REST를 통한 표준화된 연결 인프라 구축
- DCC, 게임 엔진 등 다양한 툴 에코시스템 통합 지원
- 반복적인 코드 생성 의존도를 낮추고 안정성 확보
中文 | English
Website · Marketplace · Showcase · For Agents · Ecosystem
Skill 중심의 Rust 기반 제어 평면(control plane)을 성장하는 크리에이티브 툴 에코시스템에 제공합니다.
dcc-mcp-core는 MCP 및 REST 기능을 통해 발견 가능한 방식으로 에이전트와 데스크톱 DCC, 게임 엔진, 2D 툴, 프로덕션 시스템, 에셋 제공자, 프로파일러, 맞춤형 스튜디오 호스트를 연결합니다. 이는 실제 세션을 운영하는 데 필요한 게이트웨이, Skills, 구조화된 결과, 메인 스레드 디스패치(main-thread dispatch), 진단 기능, IPC, 워크플로우 및 패키징된 CLI/서버 바이너리를 제공합니다.
| 원하는 작업 | 시작 방법 |
|---|---|
| 에이전트 또는 CI 작업에서 실행 중인 DCC 제어 | dcc-mcp Agent Skill을 설치한 후 dcc-mcp-cli 사용 |
| ... |
기본 에이전트 경로는 CLI + REST입니다:
dcc-mcp-cli dcc-types (어댑터 지원이 불분명할 때)
-> list
-> search
...
게이트웨이는 툴/리스트를 제한적으로 유지합니다. 모든 백엔드 툴을 하나의 큰 목록으로 펼쳐 보여주는 대신, 표준 발견/디스패치 래퍼(search, describe, load_skill, 그리고 call)를 광고합니다. 백엔드 기능은 search로 발견하고, describe로 검사하며, 래퍼 또는 REST 쌍(POST /v1/search, /v1/describe, /v1/call)을 통해 호출됩니다.
구체적인 DCC 세션이 필요할 때는 gateway://instances를 읽으십시오. 각 항목에는 이미 mcp_url이 포함되어 있습니다. 제거된 레거시 인스턴스 툴(list_dcc_instances, get_dcc_instance, 또는 connect_to_dcc)은 사용하지 마십시오. 래퍼 입력값은 인자(arguments) 안에 속해야 하며, 백엔드 필드를 tool_slug 옆에 두지 마십시오.
DCC별 직접적인 MCP 연결의 경우, 호환성 발견 이름(search_tools, describe_tool, 그리고 call_tool)은 서버가 노출하는 곳에서 계속 사용할 수 있습니다. 새로운 게이트웨이 통합은 위의 표준 이름을 사용해야 합니다.
가장 짧은 DCC 에이전트 데모는 모델에게 mayapy 및 hython을 작성하고 실행하도록 요청합니다.
혹은 Blender Python 스크립트입니다. 프로덕션 파이프라인은 매번 모델로부터 올바른 스크립트를 얻는 것에 의존할 수 없습니다. 반복적인 코드 생성은 토큰을 소모하고, 모델과 컨텍스트에 따라 달라지며, 모든 어댑터가 전송(transport), 메인 스레드 디스패치(main-thread dispatch), 유효성 검사(validation), 프로세스 생명주기(process lifecycle), 라우팅(routing), 진단(diagnostics) 등을 재구축하게 만듭니다.
dcc-mcp-core는 이러한 공통 엔지니어링을 하나의 재사용 가능한 제어 평면(control plane)으로 이동시킵니다:
| 계층 (Layer) | 재사용된 기능 (Reused capability) |
|---|---|
| 통합 (Integration) | MCP 및 REST 엔드포인트, 호스트 RPC/IPC, 타입 스키마, 리소스, 프롬프트, 구조화된 결과 |
| ... |
이 프로젝트는 에이전트가 DCC 애플리케이션을 제어하기 위한 인프라를 제공하며, 에이전트 자체를 구축하거나 규정하지 않습니다. 에이전트와 모델은 변경될 것이지만, 스튜디오 인터페이스, 권한 경계(permission boundaries), 파이프라인 지식은 여전히 유지되어야 합니다. 이 프레임워크는 그러한 투자를 재사용 가능한 엔지니어링 자산으로 변환합니다.
새로운 도구에 AI 기반 인터페이스를 추가하는 것은 보통 간단합니다. 더 어려운 문제는 API가 없거나, 수정할 수 없거나, 워크플로우의 일부만 창(window)이나 모달 대화 상자(modal dialog)를 통해서만 노출되는 기존의 연식 도구들을 에이전트가 사용할 수 있게 만드는 것입니다.
이러한 격차를 위해 dcc-mcp-core는 제한된 컴퓨터 사용 스타일의 DCC UI 제어 기능(bounded Computer Use-style DCC UI Control capability)을 제공합니다. 이는 정확한 창 스크린샷, 사용 가능한 경우 의미론적 컨트롤(semantic controls), 범위가 지정된 액션(scoped actions), 대기(waits), 녹화(recording), 정책 검사(policy checks), 감사(audit), 결과 검증 등을 결합합니다. 네이티브 스킬/API는 여전히 선호되는 경로이지만, UI 제어는 모든 애플리케이션에 깨끗하고 프로그래밍 가능한 API가 있다는 것을 가장하는 대신 레거시 및 인터페이스 전용 워크플로우들이 동일한 에이전트 제어 평면에 참여할 수 있게 합니다.
MCP는 우리가 재사용하는 업계 표준 에이전트 인터페이스이며, 프레임워크의 한계가 아닙니다. 안정적인 Python, C++, HTTP, 커맨드 포트(command-port), 또는 네이티브 플러그인 인터페이스를 동일한 디스커버리, 실행, 안전성 및 운영 계약(discovery, execution, safety, and operations contracts) 하에 통합할 수 있습니다.
또한 기존의 기능을 대체하는 대신 유용한 공급업체(vendor) 기능들을 포함합니다. Unreal Engine 5.8에서는 실험적인 내장 MCP 서버와 Toolset Registry가 도입되었습니다. Unreal 공식 MCP Bridge는 자체적으로 배포하지 않고도 DCC MCP를 통해 이러한 공식 툴셋을 활성화하고 호출할 수 있게 합니다. 공급업체 도구, DCC-MCP 도구, 스튜디오 도구들이 하나의 에이전트(agent)-대면 워크플로우를 공유할 수 있습니다.
Skill은 검증된 파이프라인 지식을 버전 관리되고, 타입 지정되며, 테스트 가능하고, 배포 가능한 작업으로 변환합니다. 저비용 모델은 장면 편집 로직을 처음부터 발명하는 데 어려움을 겪을 수 있지만, 잘 설명된 도구를 선택하고 유효성이 검증된 인자(argument)를 제공할 때는 효과적일 수 있습니다. 스튜디오는 프로젝트 및 제작 단계별로 다양한 Skill 세트를 배포하여 반복적인 코드 생성, 토큰 사용량, 모델 의존성 편차를 줄일 수 있습니다.
이것은 또한 스튜디오 TD와 TA에게 실질적인 맞춤화 경계입니다. Core와 어댑터(adapter)는 호스트 연결성, 메인 스레드 실행, 라우팅, 안전성, 관측 가능성(observability)에 대한 소유권을 유지합니다. TD 또는 TA는 SKILL.md, tools.yaml, 그리고 스튜디오의 기존 스크립트를 사용하여 Skill로 실제 프로젝트 흐름—이름 지정 및 장면 검사, 에셋 준비, 게시 게이트(publish gates), 캐시/내보내기 규칙, 리뷰 인계(review hand-offs)—을 인코딩할 수 있습니다. 이러한 Skill은 테스트되고, 프로젝트 또는 팀에 범위가 지정되며, 제어 평면(control plane)을 포크하거나 어댑터를 재구축하지 않고도 공개 또는 비공개 마켓플레이스를 통해 배포될 수 있습니다.
동일한 Skill과 런타임 계약(runtime contract)이 이제 원래의 DCC 어댑터보다 훨씬 더 많은 영역에 걸쳐 적용됩니다:
| 영역 | 예시 |
|---|---|
| 데스크톱 DCC | Maya, Blender, Houdini, 3ds Max, Nuke, Katana, MotionBuilder, ZBrush |
| ... |
에코시스템 디렉토리에서 모든 통합을 탐색하거나, 공식 마켓플레이스를 사용하여 어댑터를 변경하지 않고 선택적 Skill을 발견할 수 있습니다.
관리자 UI(Admin UI)는 피드백 루프를 완성합니다. 호출(Calls), 추적(traces), 로그(logs), 상태(health), 통계(statistics), 사용 데이터(usage data) 등을 통해 에이전트가 어떤 도구(tools)를 선택했고 어디서 실패했는지 보여줍니다. 팀은 설명을 개선하거나, 스키마(schema)나 구현을 개선한 후, 도구 사용을 블랙박스처럼 취급하는 대신 실제 호출에 대해 결과를 검증할 수 있습니다.
경계는 여전히 명확합니다. Core는 DCC 메인 스레드에서 이미 실행 중인 임의의 코드를 안전하게 선점(preempt)할 수 없으며, 트랜잭션 없이 호스트 API에 대한 롤백을 보장하거나, 모든 애플리케이션에 대해 손실 없는 메시/리그/재질 모델(lossless mesh/rig/material model) 하나를 정의할 수 없습니다. 호스트 의미론(Host semantics)은 여전히 어댑터(adapters)와 파이프라인 스킬(pipeline Skills)에 속합니다.
dcc-mcp-cli는 모든 셸 기능을 갖춘 에이전트에게 선호되는 제어 경로입니다.
Python 도구 체인(toolchain)을 가지고 있다면, 하나의 명령으로 Linux, macOS 및 Windows에 설치할 수 있습니다:
uvx dcc-mcp-cli --version # 설치 없이 실행
# 또는 관리되는 도구 환경에 설치
uv tool install dcc-mcp-cli
...
패키지 관리자(Package-manager)를 통한 설치는 패키지 관리자에 의해 관리됩니다. dcc-mcp-cli update apply 대신, 다음 명령으로 업그레이드합니다:
uv tool upgrade dcc-mcp-cli
(또는 pip install --upgrade dcc-mcp-cli)
이 명령어는 해당 빌드에서는 비활성화되어 있습니다.
그 외의 방법으로는 사용자 동의를 얻은 후, 공개된 dcc-mcp Skill을 아래와 같이 설치하고, Skill 디렉토리에서 번들링된 검증된 헬퍼(helper)를 실행합니다:
python scripts/check_cli.py --ensure-cli --pretty
Skill 없이 진행하려면, 공식 설치 프로그램(official installer)을 로컬 파일로 다운로드하여 검사한 후 해당 파일을 실행해야 합니다:
# Linux/macOS
curl -fL https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.sh -o install-cli.sh
cat install-cli.sh
...
# Windows PowerShell
Invoke-WebRequest https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.ps1 -OutFile .\\\install-cli.ps1
Get-Content -Raw .\\\install-cli.ps1
...
두 경로 모두 공식 dcc-mcp/dcc-mcp-core만 허용합니다.
릴리스(release) 시 플랫폼 업데이트 매니페스트(manifest)와 CLI SHA-256을 검증하고, 검증 또는 다운로드가 실패할 경우 기존 바이너리는 건드리지 않습니다. 이는 무결성 확인(integrity check)일 뿐 디지털 서명은 아닙니다. 원격 설치 프로그램을 셸에 직접 파이프하거나 기계의 스크립트 실행 정책을 우회하지 마십시오.
세 가지 공개된 Skill은 각각 별도의 역할을 수행합니다. 라이브 DCC 작업은 dcc-mcp로 시작하십시오. 작업을 해당 경계까지 도달했을 때만 크리에이터 Skill(creator Skill)을 설치합니다:
| 에이전트 작업 (Agent task) | 공개 Skill (Public Skill) | 출처 (Source) |
|---|---|---|
| 라이브 DCC 작동, 툴 발견 또는 마켓플레이스 검색 | @loonghao/dcc-mcp | dcc-mcp |
| 완전한 DCC-MCP 어댑터/런타임 생성 또는 현대화 | @loonghao/dcc-mcp-creator | dcc-mcp-creator |
| DCC별 Skill 패키지 생성, 검증 또는 개선 | @loonghao/dcc-mcp-skills-creator | dcc-mcp-skills-creator |
OpenClaw는 기본적으로 활성 작업 공간(active workspace)에 설치되며, 모든 로컬 OpenClaw 에이전트가 Skill을 공유해야 할 때만 --global 옵션을 추가합니다:
openclaw skills install @loonghao/dcc-mcp
openclaw skills install @loonghao/dcc-mcp-creator
openclaw skills install @loonghao/dcc-mcp-skills-creator
Codex와 호환되는 프로젝트의 경우, 표준 프로젝트 Skill 루트에 설치합니다:
npx --yes [email protected] install @loonghao/dcc-mcp
npx --yes [email protected] install @loonghao/dcc-mcp-creator
npx --yes [email protected] install @loonghao/dcc-mcp-skills-creator
다른 에이전트 Skill 호스트는 동일한 ClawHub 패키지를 구성된 Skill 루트에 설치해야 합니다. 설치 후 새로운 에이전트 턴(agent turn)을 시작하십시오. 자연스러운 DCC 요청은 dcc-mcp를 트리거해야 하며, 명시적인 Skill 호출을 가진 호스트는 각각 $dcc-mcp, $dcc-mcp-creator, 또는 $dcc-mcp-skills-creator를 사용할 수 있습니다.
세 패키지 모두 DCC-MCP 및 ClawHub 계약(contract)을 유지하면서 Codex agents/openai.yaml 메타데이터를 포함합니다. 이들의 출처, 공급업체 매니페스트(vendor manifests), 불변 버전(immutable versions), 그리고 게시 워크플로우는 이제 dcc-mcp-agent-plugins에 위치합니다.
이 리포지토리는 공개 패키지를 번들링하지 않습니다. 최상위 skills/ 디렉터리에는 Core 소유의 마켓플레이스와 참조 스킬(Skills)이 포함되어 있습니다. 번들된 런타임 스킬은 python/dcc_mcp_core/skills/ 아래에 유지됩니다.
릴리스 매니페스트를 통해 공식 빌드를 최신 상태로 유지하세요:
dcc-mcp-cli update check
dcc-mcp-cli update apply --yes # 사용자 확인 후 실행
공식 릴리스 빌드는 포그라운드 명령을 차단하지 않고 백그라운드에서 24시간마다 캐시된 업데이트 상태를 새로 고칩니다. 사용 가능한 업데이트는 구조화된 cli_update 데이터로 나타나며, 에이전트는 보고된 apply 명령을 실행하기 전에 사용자에게 문의해야 합니다. update apply --yes는 최신 CLI를 다운로드하고 스테이징하여 다음 실행에 대비합니다. 이는 실행 중인 dcc-mcp-server를 업데이트하거나 재시작하지 않습니다; 서버는 자체 환경에서 업데이트해야 합니다.
그런 다음 호출하기 전에 라이브(live) 기능을 검색하세요:
dcc-mcp-cli dcc-types
dcc-mcp-cli --output json dcc-types --dcc-type unreal
dcc-mcp-cli list
...
`--query
시작 또는 준비 상태가 불분명할 때는 dcc-mcp-cli doctor를 사용하세요. 게이트웨이가 사용 가능해지면 로컬 Admin UI에 http://127.0.0.1:9765/admin으로 접속하세요.
호출(call)이 실패하면, 해당 호출의 request_id를 보존하고, doctor 또는 실패 필터링된 stats 쿼리를 실행한 다음, 게이트웨이가 소유한 dcc-mcp-cli feedback을 사용하세요. 라이브 어댑터(live adapter)의 dcc_feedback__report는 동일 엔드포인트로 연결하는 단순 Core 포워더일 뿐입니다. 게이트웨이를 통해 라우팅된 실패 사례는 검토된 버그 리포트용 공개 안전 /v1/debug/issue-reports/<request_id> 페이로드도 노출합니다. 원시 번들(raw bundles)은 절대 자동으로 업로드해서는 안 됩니다.
작업(task)이 수락되면, 에이전트는 dcc-mcp-cli stats --range 24h --session-id task-42를 사용하여 경계가 지정된 게이트웨이 증거(bounded gateway evidence)를 검사할 수 있습니다. 호출 횟수가 0이라는 것은 원격 측정(telemetry) 증거가 없다는 의미이며, 직접적인 로컬 호출은 반영되지 않을 수 있습니다. 그 결과를 짧은 작업 요약 및 유효성 검사 요약과 함께 review_skill_improvement 프롬프트에 제공하세요.
이 프롬프트는 기본적으로 변경 없음(no change)을 가정하며, 기존 스킬 개선을 선호하고, 작업 범위를 벗어나 편집하거나 게시할 권한은 절대 부여하지 않습니다.
pip install dcc-mcp-core
서버를 스킬 디렉터리(skill directory)로 지정하고 MCP 엔드포인트를 시작하세요:
import os
from dcc_mcp_core import McpHttpConfig, create_skill_server
os.environ["DCC_MCP_MAYA_SKILL_PATHS"] = "/path/to/skills"
...
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기