overdare-studio-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@overdare-studio-mcp Create a red cube in the workspace"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
overdare-studio-mcp
Claude 로 OVERDARE Studio 를 조작하는 MCP 서버입니다. Claude Desktop 이나 Claude Code 에서 "Workspace 에 빨간 큐브 만들어줘" 처럼 말하면, 실제 Studio 월드에 파트·스크립트를 만들고 수정하고 삭제합니다.
⚠️ 비공식 프로젝트입니다. OVERDARE 와 무관하며 공식 지원이 아닙니다. Studio 가 여는 로컬 포트를 사용하므로 Studio 업데이트로 동작이 바뀔 수 있습니다(
npm run replay로 감지). 로컬 단일 사용자용입니다.
⏱️ 5분 빠른 시작
0. 준비 — OVERDARE Studio 를 실행하고 월드를 하나 열어 둡니다. (Node.js 20+ 필요)
1. 빌드
git clone <this-repo> overdare-studio-mcp && cd overdare-studio-mcp
npm install
npm run build2. Claude 에 연결 (둘 중 하나)
Claude Code:
claude mcp add overdare-studio -- node /절대경로/overdare-studio-mcp/dist/server/index.jsClaude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"overdare-studio": {
"command": "node",
"args": ["/절대경로/overdare-studio-mcp/dist/server/index.js"],
"env": {
"OVERDARE_PROJECT_CWD": "/절대경로/내-월드-폴더"
}
}
}
}
OVERDARE_PROJECT_CWD는.umap/.ovdrjm월드 파일이 있는 폴더입니다. 쓰기 도구에 필요합니다(읽기는 없어도 됩니다).
3. 첫 도구 호출 — Claude 에게 이렇게 말해 보세요:
"OVERDARE 월드 구조 보여줘" →
studio_browse로 트리를 가져옵니다."Workspace 에 2×2×2 네온 큐브 'Hello' 만들어줘" →
studio_create_part로 실제 생성합니다.
이게 전부입니다. 생성·수정·삭제는 자동으로 백업되고, 실패하면 롤백됩니다.
Related MCP server: Roblox Studio Ultimate MCP Server
주요 기능
CRUD — 인스턴스 생성/조회/수정/삭제 + 스크립트 추가를 자연어로 합니다.
안전한 쓰기 — 모든 변경이
백업 → 수정 → 검증 → 적용 → 저장파이프라인을 거치고, 실패 시 자동 롤백됩니다.자산 임포트 — 에셋 스토어 모델 + 로컬 이미지(경로 보안 검증)를 임포트합니다.
퍼블리시 가드 — 비가역 publish 는 4중 게이트로 보호합니다(실수 발사 방지).
Recorder / Replay — 모든 RPC 를 기록하고, Studio 업데이트 후 프로토콜 변경을 감지합니다.
Capability Layer — 지원하지 않는 기능은 호출 시 구조적 에러로 알려 줍니다.
지원 도구 (13)
도구 | 하는 일 |
| 월드 인스턴스 트리 조회 (필터/깊이 지원) |
| 뷰포트 스크린샷 |
| Part 생성 (Size/CFrame/Color/Material/Anchored 등) |
| 인스턴스 이름/속성 부분 수정 |
| 인스턴스 삭제 (자식 포함, 서비스 보호) |
| Script/LocalScript/ModuleScript 추가 |
| 에셋 스토어 모델 임포트 |
| 로컬 이미지 임포트 (경로 검증) |
| ActionSequencer 에 시퀀서 JSON 적용 |
| 변경 적용 / 월드 저장 |
| 월드 퍼블리시 (기본 dry-run, 4중 게이트) |
| Studio 기능 지원 여부 보고 |
도구별 입력 스키마/예제/반환은 docs/TOOLS.md 를 참고하세요. 모든 도구는 동일한
ToolResult(success/operation/affected/warnings/data/error) 를 structuredContent 로 반환합니다.
안전장치
쓰기 파이프라인 + 자동 롤백
모든 .ovdrjm 변경은 다음 순서를 강제로 거칩니다:
백업 → 수정 → 검증 → level.apply → level.save.file어느 단계든 실패하면 백업에서 복원하고 라이브 씬을 되돌립니다. 동시 외부 수정도 감지해 중단합니다.
--unsafe(또는 OVERDARE_UNSAFE=1) 일 때만 백업을 생략합니다(롤백 불가).
Publish 가드 (비가역 작업)
studio_publish 는 기본이 dry-run(미리보기) 입니다. 실제 발사는 아래 4개가 모두 충족돼야 합니다:
capability 지원 + OVERDARE_ALLOW_PUBLISH=1 + confirm:true + dryRun:false하나라도 빠지면 RPC 를 호출하지 않고, 미충족 게이트를 구조적으로 보고합니다.
Recorder / Replay
OVERDARE_MCP_TRACE=1 으로 trace 를 stderr 에 출력하고, OVERDARE_MCP_TRACE_DIR=.trace 로
rpc.jsonl/session.json/metadata.json/ovdrjm.diff 를 저장합니다.
npm run replay .trace/session.json # 기록 세션을 재생해 프로토콜 변경(드리프트) 감지응답의 shape(키/타입 구조)를 비교하므로 데이터 변경은 무시하고 프로토콜 변경만 잡아냅니다.
(인증 토큰류는 trace 에 <redacted> 로 기록됩니다.)
환경변수
변수 | 기본값 | 설명 |
| 현재 폴더 |
|
|
| Studio RPC 엔드포인트 |
|
| RPC 타임아웃 |
| — |
|
| — | replay 용 파일 저장 폴더 |
| — | 이미지 임포트 허용 경로 추가(플랫폼 구분자) |
| — |
|
| — |
|
자주 묻는 질문
Q. Studio 가 꺼져 있으면 어떻게 되나요? 읽기/쓰기 도구가 연결 오류를 구조적으로 반환합니다. Studio 를 켜고 월드를 연 뒤 다시 시도하세요.
Q. 쓰기 도구가 "프로젝트 폴더에 .umap 이 없습니다" 라고 합니다. OVERDARE_PROJECT_CWD 를 실제 월드 파일(.umap/.ovdrjm)이 있는 폴더로 지정해야 합니다.
Q. 실수로 월드가 망가지지 않나요? 모든 쓰기는 백업 후 진행되고 실패 시 롤백됩니다. publish 만 비가역이며 4중 게이트로 막혀 있습니다.
Q. OVERDARE 공식 도구인가요? 아닙니다. 비공식·로컬 단일 사용자용 도구입니다.
Q. Studio 업데이트로 안 되면 어떻게 하나요? 로컬 프로토콜이 바뀐 것일 수 있습니다. npm run replay 로 변경 지점을 확인하세요.
Q. 어떤 Claude 클라이언트가 필요한가요? MCP 를 지원하는 Claude Desktop 또는 Claude Code 가 필요합니다. 서버는 stdio 로 동작합니다.
개발
npm run dev # tsx 로 서버 실행
npm test # 단위 테스트 (vitest)
npm run typecheck # 타입 체크
npm run ci # typecheck + build + test + replay(dry)
npm run gen:docs # docs/TOOLS.md 재생성더 자세한 구조·설계는 docs/Architecture.md, 기여 가이드는 CONTRIBUTING.md, 변경 이력은 CHANGELOG.md 를 참고하세요.
License
Available Tools
13 toolsstudio_add_scriptAdd a scriptA
부모 인스턴스(parentGuid) 하위에 Script/LocalScript/ModuleScript 를 추가한다. 쓰기 파이프라인(backup→modify→validate→level.apply→level.save.file)을 강제하며, 실패 시 자동 rollback. 들여쓰기는 탭 사용 권장(선행 4-스페이스 그룹은 자동으로 탭 변환).
Inputs: name (required), source (required), parentGuid (required), scriptClass (required).
studio_applyApply pending level changesA
디스크의 .ovdrjm 변경분을 라이브 씬에 반영한다 (RPC level.apply). 보통 .ovdrjm 편집 직후 호출하는 쓰기 파이프라인의 일부. 보류분이 없으면 사실상 no-op.
Inputs: no named parameters.
studio_apply_action_sequenceApply a sequencer JSON to an Action SequencerA
기존 ActionSequencer 인스턴스(instanceGuid)에 시퀀서 JSON 파일을 적용한다. jsonFilePath 는 프로젝트 경계 안의 .json 파일이어야 한다(경로검증). 실패 시 자동 rollback. 지원 안 하면 capability 에러.
Inputs: instanceGuid (required), jsonFilePath (required).
studio_browseBrowse level treeA
OVERDARE Studio 레벨 인스턴스 트리를 조회한다 (RPC level.browse). 각 노드는 guid/name/class/children 을 가진다. startGuid 로 특정 노드부터, classType 으로 클래스 필터(예 Part/Script), maxDepth 로 깊이 제한(1=최상위만 권장).
Inputs: maxDepth, classType, startGuid.
studio_capabilitiesReport Studio capabilitiesA
Studio RPC 기능 지원 여부(capability)와 버전을 보고한다. 최초 1회 probe 후 캐시. refresh:true 면 강제 재확인. 지원하지 않는 기능을 호출하면 각 도구가 capability 에러를 계약 형태로 반환한다.
Inputs: refresh.
studio_create_partCreate a PartA
부모 인스턴스(parentGuid) 하위에 Part 를 생성한다. 쓰기 파이프라인(backup→modify→validate→level.apply→level.save.file)을 강제하며, 실패 시 자동 rollback. parentGuid 는 studio_browse 로 먼저 확인할 것. 속성: Size/CFrame/Color/Material/Anchored 등. Position 은 CFrame.Position 으로 지정한다. Size 단위는 cm.
Inputs: name (required), parentGuid (required), properties.
studio_deleteDelete an instanceA
인스턴스를 삭제한다 (자식 포함 — 서브트리 통째로 제거). 쓰기 파이프라인(backup→modify→validate→level.apply→level.save.file)을 강제하며 실패 시 자동 rollback. 서비스(Workspace/Lighting/Players 등 싱글톤)는 삭제할 수 없다. guid 는 studio_browse 로 확인.
Inputs: guid (required).
studio_import_imageImport a local image assetA
로컬 이미지 파일을 에셋 매니저에 임포트하고 asset id 를 반환한다. 경로는 프로젝트 경계(기본) 또는 OVERDARE_ASSET_ROOTS 안의 이미지 파일만 허용된다. 지원 확장자: .png, .jpg, .jpeg, .bmp, .tga, .gif, .webp. 지원 안 하면 capability 에러.
Inputs: file (required).
studio_import_modelImport a model from Asset DrawerA
에셋 스토어(Asset Drawer)의 모델을 레벨에 임포트한다 (계층 보존). assetid 는 ovdrassetid://<숫자> 형식. 실패 시 자동 rollback. 지원 안 하면 capability 에러.
Inputs: assetid (required), assetName (required), assetType.
studio_publishPublish the world (irreversible)A
월드를 OVERDARE 플랫폼에 공개한다. 비가역·외부공개. 기본은 dry-run(미리보기). 실제 발사는 OVERDARE_ALLOW_PUBLISH=1 + confirm:true + dryRun:false 가 모두 충족돼야 한다. 하나라도 빠지면 RPC 를 호출하지 않는다.
Inputs: dryRun, confirm, keyword, category, +2 more.
studio_saveSave world to fileA
편집 중인 월드를 파일로 저장한다 (RPC level.save.file). .umap 과 .ovdrjm 둘 다 갱신됨.
Inputs: no named parameters.
studio_screenshotCapture viewport screenshotA
OVERDARE Studio 뷰포트 스크린샷을 캡처해 파일로 저장한다 (RPC game.screenshot, captureType=Viewport). 현재 Viewport 모드만 지원. 응답이 느릴 수 있어 타임아웃을 길게 잡는다.
Inputs: no named parameters.
studio_update_partUpdate a PartA
기존 Part(또는 인스턴스)의 이름/속성을 수정한다. 쓰기 파이프라인(backup→modify→validate→level.apply→level.save.file)을 강제하며 실패 시 자동 rollback. 전달한 필드만 바뀌고 나머지는 보존된다(부분 업데이트). guid 는 studio_browse 로 확인. 속성: Size/CFrame(Position·Orientation)/Color/Material/Anchored/Transparency 등. name 으로 이름 변경.
Inputs: guid (required), name, properties.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
Each tool has a clear and distinct purpose: browsing hierarchy, adding scripts, creating/updating parts, deleting instances, applying action sequences, importing assets, saving, publishing, screenshotting, and checking capabilities. No two tools overlap in function.
All tools follow the 'studio_verb' pattern with consistent snake_case (e.g., studio_add_script, studio_import_image). Even studio_capabilities uses a noun but fits the pattern as a query operation. No mixed conventions.
With 13 tools, the set is well-scoped for a studio editing server. It covers essential operations without overloading the user, and each tool serves a necessary function.
The tool surface covers CRUD for parts/scripts, asset import, publishing, and screenshot. Minor gaps like lack of explicit property getter or clone/move operations exist, but browse and update cover most needs.
Maintenance
Related MCP Connectors
Create and edit Myrlo characters, stories, and worlds, with review before every change saves.
Build, run and publish 3D games in the Zero engine from Claude Code, Cursor or Codex, over MCP.
Build, edit and publish live 3D, AR and game scenes in ARClip from your AI assistant.
Turn Claude into a creative studio: DNA-locked characters, images, video, voiceover — 55 tools.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI coding tools to control Roblox Studio for workspace exploration, instance manipulation, and script management. It provides tools for playtesting, scene rendering, and integration with the Roblox Creator Store.69MIT
- AlicenseNot gradedqualityNot gradedmaintenanceA comprehensive MCP server providing 41 tools for complete Roblox Studio control, enabling safe script editing with syntax checking, instance manipulation, and backup features directly from Claude Code or any MCP-compatible AI assistant.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to build and edit Roblox Studio places by inspecting, generating terrain, geometry, and code, with validation and iteration.MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude directly to Roblox Studio for building UI, editing scripts, running code, playtesting, and viewing the game in real-time.9 npm1MIT