Skip to main content
Glama
Y-Seungmin

overdare-studio-mcp

by Y-Seungmin

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 build

2. Claude 에 연결 (둘 중 하나)

Claude Code:

claude mcp add overdare-studio -- node /절대경로/overdare-studio-mcp/dist/server/index.js

Claude 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)

도구

하는 일

studio_browse

월드 인스턴스 트리 조회 (필터/깊이 지원)

studio_screenshot

뷰포트 스크린샷

studio_create_part

Part 생성 (Size/CFrame/Color/Material/Anchored 등)

studio_update_part

인스턴스 이름/속성 부분 수정

studio_delete

인스턴스 삭제 (자식 포함, 서비스 보호)

studio_add_script

Script/LocalScript/ModuleScript 추가

studio_import_model

에셋 스토어 모델 임포트

studio_import_image

로컬 이미지 임포트 (경로 검증)

studio_apply_action_sequence

ActionSequencer 에 시퀀서 JSON 적용

studio_apply / studio_save

변경 적용 / 월드 저장

studio_publish

월드 퍼블리시 (기본 dry-run, 4중 게이트)

studio_capabilities

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=.tracerpc.jsonl/session.json/metadata.json/ovdrjm.diff 를 저장합니다.

npm run replay .trace/session.json   # 기록 세션을 재생해 프로토콜 변경(드리프트) 감지

응답의 shape(키/타입 구조)를 비교하므로 데이터 변경은 무시하고 프로토콜 변경만 잡아냅니다. (인증 토큰류는 trace 에 <redacted> 로 기록됩니다.)


환경변수

변수

기본값

설명

OVERDARE_PROJECT_CWD

현재 폴더

.ovdrjm 월드가 있는 폴더 (쓰기에 필요)

STUDIO_HOST / STUDIO_PORT

127.0.0.1 / 13377

Studio RPC 엔드포인트

OVERDARE_RPC_TIMEOUT_MS

30000

RPC 타임아웃

OVERDARE_MCP_TRACE

1 이면 Recorder 활성화(stderr)

OVERDARE_MCP_TRACE_DIR

replay 용 파일 저장 폴더

OVERDARE_ASSET_ROOTS

이미지 임포트 허용 경로 추가(플랫폼 구분자)

OVERDARE_ALLOW_PUBLISH

1 이면 publish 게이트 하나 해제

OVERDARE_UNSAFE

1 이면 백업/롤백 생략(권장하지 않음)


자주 묻는 질문

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

MIT

Available Tools

13 tools
studio_add_scriptAdd a scriptA

부모 인스턴스(parentGuid) 하위에 Script/LocalScript/ModuleScript 를 추가한다. 쓰기 파이프라인(backup→modify→validate→level.apply→level.save.file)을 강제하며, 실패 시 자동 rollback. 들여쓰기는 탭 사용 권장(선행 4-스페이스 그룹은 자동으로 탭 변환).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes스크립트 이름
sourceYesLuau 소스 코드
parentGuidYes부모 인스턴스 GUID (예: ServerScriptService)
scriptClassYes스크립트 종류

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool forces a specific pipeline (backup→modify→validate→level.apply→level.save.file), performs auto-rollback on failure, and converts 4-space groups to tabs. However, it does not mention any side effects or authorization requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, and every sentence adds value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no output schema, and no nested objects, the description covers the core action, pipeline behavior, and indentation recommendation. It could hint at return values or error handling, but overall it is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for all 4 parameters. The description adds no additional semantic value beyond what the schema already provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: adding a Script/LocalScript/ModuleScript under a parent instance. It uses a specific verb ('추가한다') and resource, distinguishing it from sibling tools like studio_create_part (adds parts) or studio_import_model.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the forced write pipeline and auto-rollback, which provides context, but it does not explicitly state when to use this tool versus alternatives (e.g., studio_apply) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_applyApply pending level changesA

디스크의 .ovdrjm 변경분을 라이브 씬에 반영한다 (RPC level.apply). 보통 .ovdrjm 편집 직후 호출하는 쓰기 파이프라인의 일부. 보류분이 없으면 사실상 no-op.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description lacks behavioral details beyond being a write operation. It does not state whether it is destructive, requires specific permissions, or what happens on failure. With no annotations provided, the description should more fully disclose the safety profile and side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core action, and followed by contextual usage. Every sentence is informative without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description adequately conveys purpose, usage context, and behavior when no pending changes. It could mention the return type or error scenarios, but it is largely complete for an action without complex inputs or outputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100%, so the baseline is 4. The description does not need to add parameter semantics since there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool applies pending .ovdrjm changes to the live scene, using a specific verb (apply) and resource (pending level changes). It distinguishes from sibling tools like studio_save (which saves) and studio_create_part (which creates parts) by indicating it's part of the write pipeline after editing .ovdrjm files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage context: typically called right after editing .ovdrjm as part of the write pipeline. It also notes that if there are no pending changes, the tool is a no-op. However, it does not explicitly mention when to use alternatives among sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_apply_action_sequenceApply a sequencer JSON to an Action SequencerA

기존 ActionSequencer 인스턴스(instanceGuid)에 시퀀서 JSON 파일을 적용한다. jsonFilePath 는 프로젝트 경계 안의 .json 파일이어야 한다(경로검증). 실패 시 자동 rollback. 지원 안 하면 capability 에러.

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceGuidYes대상 ActionSequencer 인스턴스 GUID
jsonFilePathYes시퀀서 JSON 파일 경로(절대경로 권장, 프로젝트 경계 안)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for behavioral disclosure. It reveals path validation, auto-rollback on failure, and capability errors for unsupported operations. However, it does not mention the effect on the existing instance (e.g., overwrite or merge) or the success response format, which slightly reduces transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences with no fluff. It front-loads the primary action and follows with necessary constraints and edge-case behavior. Every sentence adds value, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool without output schema, the description covers purpose, constraints, and failure behavior. However, it omits details about what the tool returns (e.g., success indicator) and does not reference sibling tools, leaving some context gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% description coverage for both parameters. The description adds only a minor repetition of the path constraint and failure context, offering no additional semantic value beyond what the schema states. Thus, baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool applies a sequencer JSON file to an existing ActionSequencer instance, specifying the required parameters and constraints like path validation. It effectively distinguishes the tool from siblings like 'studio_apply' by detailing the specific operation and failure behaviors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. While it mentions failure behavior, it lacks comparative context with sibling tools, leaving the agent without usage boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_browseBrowse level treeA

OVERDARE Studio 레벨 인스턴스 트리를 조회한다 (RPC level.browse). 각 노드는 guid/name/class/children 을 가진다. startGuid 로 특정 노드부터, classType 으로 클래스 필터(예 Part/Script), maxDepth 로 깊이 제한(1=최상위만 권장).

ParametersJSON Schema
NameRequiredDescriptionDefault
maxDepthNo트리 깊이 제한 (1=최상위만)
classTypeNo이 클래스만 (예 "Part", "Script")
startGuidNo이 GUID 노드부터 조회

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses output structure (nodes with guid/name/class/children) and implies read-only behavior via '조회' (query). Could be more explicit about read-only nature, but sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, well-structured sentence with no fluff. Every element earns its place: purpose, parameters, and output structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema; description explains node structure adequately. Lacks details on pagination, error conditions, or prerequisites. With no annotations, could be more complete for a tool returning tree data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and description adds context: clarifies maxDepth limit, classType filtering, and startGuid usage. Adds value beyond schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool browses the OVERDARE Studio level instance tree, a specific resource. It distinguishes itself from siblings like studio_add_script, studio_delete, etc., which are clearly different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides some guidance (e.g., maxDepth=1 for top-level only), but does not explicitly state when to use or not use this tool versus alternatives. Since no sibling is similar, this is acceptable but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_capabilitiesReport Studio capabilitiesA

Studio RPC 기능 지원 여부(capability)와 버전을 보고한다. 최초 1회 probe 후 캐시. refresh:true 면 강제 재확인. 지원하지 않는 기능을 호출하면 각 도구가 capability 에러를 계약 형태로 반환한다.

ParametersJSON Schema
NameRequiredDescriptionDefault
refreshNotrue 면 캐시 무시하고 재-probe

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses caching after initial probe, the refresh parameter to force re-probe, and error handling for unsupported calls. It lacks an explicit statement that the tool is read-only, but this is strongly implied. No annotations are present, so the description carries full burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the main purpose, and each sentence adds essential information (purpose, caching, refresh, error handling). No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a simple tool with one parameter and no output schema, the description covers purpose, caching, refresh, and error handling. It does not specify the return format beyond 'capability and version,' but this is a minor omission. The sibling tools provide clear context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a clear description of the 'refresh' parameter. The tool description does not add new parameter-specific meaning beyond the schema; it only restates the refresh behavior in context. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reports Studio RPC feature support (capability) and version, which is a specific verb+resource. It is well-distinguished from sibling tools that perform actions like scripts, apply, browse, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used to check capabilities before calling other tools, mentioning that unsupported features return capability errors. However, it does not explicitly state when to use this versus alternatives, though the context is clear given sibling tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes생성할 Part 이름
parentGuidYes부모 인스턴스 GUID (예: Workspace)
propertiesNoPart 속성 (생략 시 기본값 적용)

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries full burden. It discloses the forced write pipeline (backup→modify→validate→level.apply→level.save.file) and automatic rollback on failure, which is highly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately concise with front-loaded action and behavioral info, followed by properties list. It could be more structured but is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, prerequisites, behavioral pipeline, and properties. Missing return value info (e.g., created part GUID) since there is no output schema. Otherwise fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds value: it clarifies that Position is specified via CFrame.Position and that Size units are in cm. This provides useful context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a Part under a parent instance (parentGuid). It lists key properties like Size, CFrame, Color, Material, Anchored, etc., distinguishing it from sibling tools like studio_update_part which modifies existing parts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a prerequisite: use studio_browse to verify parentGuid first. It implies when to use this tool (create) vs updates (studio_update_part). However, it does not explicitly state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_deleteDelete an instanceA

인스턴스를 삭제한다 (자식 포함 — 서브트리 통째로 제거). 쓰기 파이프라인(backup→modify→validate→level.apply→level.save.file)을 강제하며 실패 시 자동 rollback. 서비스(Workspace/Lighting/Players 등 싱글톤)는 삭제할 수 없다. guid 는 studio_browse 로 확인.

ParametersJSON Schema
NameRequiredDescriptionDefault
guidYes삭제할 인스턴스 GUID

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description fully discloses: recursive deletion, enforced write pipeline with auto rollback on failure, and restrictions on deletable objects. All behavioral traits beyond schema are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, each critical. First states core purpose, second details behavioral contract, third adds usage constraint and aid. No redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Single parameter, no output schema. Description fully addresses all necessary information: scope of deletion, procedural behavior, restrictions, and prerequisite step for obtaining input.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with description for 'guid'. Description adds value by instructing to use studio_browse to acquire guid, which is helpful for agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Describes specific action: delete instance including children (subtree). Distinguishes from siblings by stating it's deletion, not adding/browsing. Explicitly lists excluded objects (services). References how to obtain guid via sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-not-to-use: cannot delete service singletons. Implies context for deletion with force and rollback. Does not explicitly list alternatives but guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_import_imageImport a local image assetA

로컬 이미지 파일을 에셋 매니저에 임포트하고 asset id 를 반환한다. 경로는 프로젝트 경계(기본) 또는 OVERDARE_ASSET_ROOTS 안의 이미지 파일만 허용된다. 지원 확장자: .png, .jpg, .jpeg, .bmp, .tga, .gif, .webp. 지원 안 하면 capability 에러.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYes이미지 파일 경로(절대경로 권장). 프로젝트 경계 안이어야 함.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. It covers path restrictions, supported formats, and error conditions but does not mention whether the operation is destructive (e.g., overwrites existing assets), required permissions, or rate limits. For a simple import, this is adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with main purpose, followed by constraints. Every sentence adds essential information. No fluff, well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description is fairly complete: covers what it does, valid inputs, error behavior. Could mention if it overwrites existing assets or requires specific permissions, but not critical for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter 'file' described. Description adds value beyond schema by detailing path constraints (OVERDARE_ASSET_ROOTS) and supported extensions, which are not in the schema. Error condition for unsupported formats also aids agent invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it imports a local image file to the asset manager and returns an asset ID. Verb 'import' and resource 'local image asset' are specific. Easily distinguishable from sibling tool 'studio_import_model' which imports models.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit constraints on allowed paths (project boundaries or OVERDARE_ASSET_ROOTS) and lists supported image extensions. Also mentions capability error for unsupported formats. Lacks explicit when-not-to-use or alternatives, but contextual guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_import_modelImport a model from Asset DrawerA

에셋 스토어(Asset Drawer)의 모델을 레벨에 임포트한다 (계층 보존). assetid 는 ovdrassetid://<숫자> 형식. 실패 시 자동 rollback. 지원 안 하면 capability 에러.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetidYes
assetNameYesAsset Drawer 에 표시되는 자산 이름
assetTypeNo현재 MODEL 만 지원MODEL

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses three important traits: hierarchy preservation, automatic rollback on failure, and capability error reporting. This is strong for a tool without annotations, though it does not address outcomes like overwriting or duplicate handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using three clear statements. It front-loads the primary purpose and contains no fluff. Every sentence adds necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers core function, inputs, and error scenarios, but does not specify the output or result of a successful import (e.g., returns a reference). Given the lack of output schema and annotations, this is a notable gap for an effective invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%. The description adds clarity for the `assetid` format (matching the pattern) but does not elaborate on `assetName` or `assetType`, which are already described in the schema. Overall, the description contributes modestly beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (import), the source (Asset Drawer), the target (level), and a key behavioral detail (hierarchy preserved). It differentiates from sibling `studio_import_image` by specifying 'model'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides prerequisites (assetid format, assetName) and behavioral context (rollback, capability error), but lacks explicit guidance on when to use this tool versus alternatives such as `studio_create_part` or `studio_import_image`. The agent must infer based on the tool name and sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_publishPublish the world (irreversible)A

월드를 OVERDARE 플랫폼에 공개한다. 비가역·외부공개. 기본은 dry-run(미리보기). 실제 발사는 OVERDARE_ALLOW_PUBLISH=1 + confirm:true + dryRun:false 가 모두 충족돼야 한다. 하나라도 빠지면 RPC 를 호출하지 않는다.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNotrue(기본)면 미리보기만 — RPC 미호출
confirmNo실제 발사 확인(기본 false)
keywordNo검색 키워드(최대 5)
categoryNo카테고리 태그(최대 3)
worldNameNo월드 이름(첫 publish 에만 반영)
descriptionNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description fully discloses irreversible nature, external disclosure, and the conditional logic (dry-run default, RPC call only under specific conditions).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, uses bold for emphasis. No unnecessary words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description covers the essential logic and conditions. Lacks details on return values or error states, but those are secondary for a publish action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (83%), so baseline is 3. Description adds value by explaining the interplay between dryRun, confirm, and environment variable, which goes beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool publishes a world to the OVERDARE platform, irreversible and external. Distinct from sibling tools like studio_save or studio_delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit conditions for actual publish vs dry-run, including environment variable and parameter requirements. Does not explicitly mention when to use alternatives, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_saveSave world to fileA

편집 중인 월드를 파일로 저장한다 (RPC level.save.file). .umap 과 .ovdrjm 둘 다 갱신됨.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is the sole source of behavioral info. It discloses that the tool updates two file types, which is useful. However, it does not mention side effects (e.g., overwriting files), required permissions, or the return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—two short sentences that immediately convey the action and affected file types. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless save tool, the description covers the essential information: what is saved and what files are updated. It could be more complete by mentioning whether the save is automatic or requires a filename, but given the simplicity, it is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since there are no parameters, schema coverage is 100% vacuously. The description adds meaning by explaining the tool's core action, but it does not need to describe parameter semantics. A score of 3 reflects the baseline for high schema coverage with no parameter info needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb ('saves') and resource ('world being edited'), explicitly mentioning the file types updated (.umap and .ovdrjm). No sibling tool has a similar purpose, so it is easily distinguished.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., studio_publish). The description only explains what the tool does, not the context or prerequisites for using it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_screenshotCapture viewport screenshotA

OVERDARE Studio 뷰포트 스크린샷을 캡처해 파일로 저장한다 (RPC game.screenshot, captureType=Viewport). 현재 Viewport 모드만 지원. 응답이 느릴 수 있어 타임아웃을 길게 잡는다.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses two behavioral traits: only Viewport mode supported and potentially slow response requiring a longer timeout. However, it lacks details on error handling, file storage, or overwrite behavior, which would be expected given no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences, front-loads the primary action, and adds necessary constraints and performance notes without extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core functionality and key constraints, but lacks details about output (e.g., file path/name) and error scenarios. Given the tool's simplicity, this is adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so no additional parameter documentation is needed. The description provides useful context beyond the schema, such as the RPC call and timeout hint, meeting the baseline for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool captures a viewport screenshot and saves it as a file, using a specific RPC and capture type. No sibling tool performs screenshotting, so it effectively distinguishes itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewport screenshots and notes a mode limitation, but does not explicitly state when to use this tool versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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 으로 이름 변경.

ParametersJSON Schema
NameRequiredDescriptionDefault
guidYes수정할 인스턴스 GUID
nameNo새 이름 (이름 변경 시)
propertiesNo바꿀 속성만 (미지정 필드는 보존)

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; the description fully discloses the write pipeline (backup→modify→validate→level.apply→level.save.file), auto rollback on failure, partial update behavior, and property types. This is highly informative for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with 4-5 sentences, each adding distinct value. It is front-loaded with the core action and efficiently covers purpose, pipeline, partial update, and property examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description omits what the tool returns (e.g., success/updated object). While it covers pipeline, partial update, and property scope, the missing output information slightly reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaning by listing example properties (Size, CFrame, etc.) and clarifying that guid comes from studio_browse, which aids selection beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it modifies the name/properties of an existing part, with specific verb and resource. It distinguishes from sibling tools like studio_create_part and studio_delete by focusing on updating existing parts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context by linking guid to studio_browse and explaining partial update behavior. However, it does not explicitly contrast with alternatives like studio_create_part or studio_delete for creation/deletion scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.2/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Y-Seungmin/overdare-studio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server