@weppy/roblox-mcp 2.7.0 → 2.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +14 -17
- package/install.sh +3 -4
- package/package.json +1 -1
- package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ChangelogDetailPage-CIarzJIx.js → ChangelogDetailPage-DxktONbL.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ChangelogPage-C1uCKyqh.js → ChangelogPage-DOY-SmWM.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ConfirmModal-BDWSInRi.js → ConfirmModal-CmJCz5rg.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ConnectionPage-CWDwVCKg.js → ConnectionPage-BiiIQs7f.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{GameChangeDetail-Bk8YUy4G.js → GameChangeDetail-D1kE2L_v.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{InfoLabel-BJIFNYA5.js → InfoLabel-B9KT3kfU.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{OverviewPage-Di0p7YY2.js → OverviewPage-T2WCTHpo.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{PlaytestPage-Dxgz0SKW.js → PlaytestPage-CW8Xfp6b.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{SettingsPage-DVgxRsfC.js → SettingsPage-DcUt5qjG.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{StatusBadge-ilvVufN2.js → StatusBadge-Bxe88ki2.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{SyncPage-IICMnq8v.js → SyncPage-C09YF6D5.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{Tabs-pDS5zzr9.js → Tabs-BNtOqYlc.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierComparison-Dyf-knpe.js +1 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{ToolsPage-DEhsoa36.js → ToolsPage-HKbmsKMQ.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{TooltipText-bSKcc3-P.js → TooltipText-Baw38jOU.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{UiStudioPage-BHhd3zUv.js → UiStudioPage-Cbgl7xIC.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{WhatsNewPage-ErpENbsZ.js → WhatsNewPage-BlOSWgSn.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{index-BPAvjNNu.js → index-FfT2oWAB.js} +28 -28
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{sample-requests-DDQ3XchF.js → sample-requests-X_hsWdLX.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/{useLiveUptime-HYmdQdHf.js → useLiveUptime-DhJz484L.js} +1 -1
- package/plugins/weppy-roblox-mcp/dashboard/dist/index.html +1 -1
- package/plugins/weppy-roblox-mcp/dist/index.js +4 -4
- package/plugins/weppy-roblox-mcp/roblox-plugin/WeppyRobloxMCP.rbxm +0 -0
- package/plugins/weppy-roblox-mcp/dashboard/dist/assets/TierComparison-BXMCd1IB.js +0 -2
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{u as c,v as l,j as t}from"./index-BPAvjNNu.js";const _=[{name:"query_instances",description:"Query Roblox instances: get, children, find child/descendant, wait for child, class info, search by name/class. [PRO] file_tree, project_structure, descendants, ancestors, search by property/tag.",basic:["get","children","find_child","find_descendant","wait_for_child","class_info","search_name","search_class"],pro:["search_property","search_tag","file_tree","project_structure","descendants","ancestors"]},{name:"mutate_instances",description:"Create, delete, clone, move, rename, or pivot instances. [PRO] create_tree, mass_create, mass_delete, mass_duplicate, smart_duplicate.",basic:["create","create_with_props","delete","clone","move","rename","pivot"],pro:["create_tree","mass_create","mass_delete","mass_duplicate","smart_duplicate"]},{name:"manage_properties",description:"Get/set properties, attributes, and tags on instances. [PRO] set_calculated, set_relative, mass_set, mass_get, modify_children.",basic:["get","set","get_all","set_multiple","get_attr","set_attr","get_all_attrs","delete_attr","add_tag","remove_tag","check_tag","get_tags","get_tagged"],pro:["set_calculated","set_relative","mass_set","mass_get","modify_children"]},{name:"manage_scripts",description:"Manage script source code: read, write, create, delete, edit lines, search. [PRO] replace across scripts.",basic:["get_source","set_source","create","delete","edit_replace","edit_insert","edit_delete","search","get_dependencies"],pro:["replace"]},{name:"manage_ui",description:"Create / update / verify Roblox in-game UI (ScreenGui / Frame / TextLabel / …). Always start a new UI task with the `design_brief` action — it accepts an omitted or partial brief, inspects Studio context, then returns a current-state summary, recommended mode/change scopes, candidate brief patches, and one user-facing confirmation or clarification question. design_brief may return asset recommendation candidates from existing UI images, user references, or conservative manage_assets.search results; do not use a recommended asset until the user accepts it. Do not dump enum lists at the user; map natural language to internal purpose/platform/tone values through recommendations, and only finalize identity-defining fields after the user accepts a recommendation or provides equivalent intent. Read MCP resource `weppy://ui-studio/guide` for the full guide; it is split into Floor (non-negotiable accessibility), Vocabulary (style menu — pick ONE family per dimension; do not blend everything), Direction (brief → choices), and Tree encoding (Roblox property JSON shapes). Floor essentials suggested by Design Check (`check`): (1) mobile touch target ≥ 44 px (2) text contrast ≥ 4.5:1 (3) prefer explicit `TextSize` over `TextScaled` (4) respect platform safe zones (5) warn on full-screen opaque roots for non-modal purposes. Style is brief-driven; reject the default AI look (uniform 8 px corners + generic blue + glass card + Gotham everywhere) — each game deserves its own visual identity.\n",basic:[],pro:["design_brief","create_tree","update","delete","preview","check"]},{name:"manage_lighting",description:"[PRO] Configure environment: lighting, atmosphere, sky, terrain properties, time of day.",basic:[],pro:["lighting","atmosphere","sky","terrain_props","time"]},{name:"manage_selection",description:"Get, set, or clear selection. [PRO] context, details, add/remove items, watch changes.",basic:["get","set","clear","cached"],pro:["context","details","add","remove","watch"]},{name:"manage_camera",description:"Camera operations: get info, focus on instance/position, suggest view, capture Edit-mode viewport screenshot (Edit mode only; not usable during playtest).",basic:["info","focus_path","focus_position","suggest"],pro:["screenshot"]},{name:"manage_tween",description:"[PRO] Tween service: create, play, pause, cancel tweens for smooth animations.",basic:[],pro:["create","play","pause","cancel"]},{name:"manage_audio",description:"[PRO] Audio management: play, stop, pause, resume sounds. Set audio listener.",basic:[],pro:["play","stop","pause","resume","set_listener"]},{name:"manage_animation",description:"[PRO] Animation: load, play, stop animations. Get animation tracks from humanoid/controller.",basic:[],pro:["load","play","stop","get_tracks"]},{name:"manage_physics",description:"[PRO] Physics collision groups: register, set collidable between groups, list groups.",basic:[],pro:["register_group","set_collidable","get_groups"]},{name:"manage_effects",description:"[PRO] Particle effects: emit particles, clear all particles, toggle effect enabled state.",basic:[],pro:["emit","clear","toggle"]},{name:"manage_terrain",description:"[PRO] Terrain operations: fill shapes, clear regions, replace materials, manage colors, read/write voxels, generate procedural terrain, smooth terrain.",basic:[],pro:["fill_block","fill_ball","fill_cylinder","fill_wedge","clear_region","clear_bounds","replace_material","colors_get","colors_set","read_voxel","read_voxels","write_voxels","generate","smooth"]},{name:"spatial_query",description:"[PRO] Spatial queries: raycast, find ground, check placement, multi-raycast, scan area, find flat areas, find spawn positions, analyze walkable, spatial map, find empty space, get bounds, snap to grid, check collision.",basic:[],pro:["raycast","find_ground","check_placement","multi_raycast","scan_area","find_flat","find_spawn","analyze_walkable","spatial_map","find_space","bounds","snap_grid","collision"]},{name:"manage_assets",description:"[PRO] Asset management: insert models by ID, get asset info, search creator store, insert free models/packages, export selection.",basic:[],pro:["insert","info","search","search_insert","insert_free","insert_package","export"]},{name:"manage_sync",description:"[PRO] Project sync management: status, history, direction settings, read/write synced files.",basic:[],pro:["status_current_place","history","directions","read_file","write_file","progress"]},{name:"workspace_state",description:"[PRO] Workspace state: full sync, snapshot, recent changes, viewport info, clear history, metadata, scripts, selection info, clear cache.",basic:[],pro:["sync","snapshot","changes","viewport","clear_history","metadata","scripts","selection_info","clear_cache"]},{name:"manage_logs",description:"Output logs: get filtered logs, poll incrementally with sinceSeq cursor, clear buffer, get recent errors.",basic:["get","clear","errors"],pro:[]},{name:"system_info",description:"System info: ping, connection status, usage tier. [PRO] place info, services list, studio settings, playtest control, automated test runner.",basic:["ping","connection","usage"],pro:["place_info","services","studio_settings","play","stop","pause","resume","play_status","run_test"]},{name:"manage_studio",description:`Roblox Studio Editor 상태·뷰포트 렌더링 토글을 제어. AI 에이전트가 View 탭 설정 (UI 프리뷰, 그리드, 제약조건 표시 등) 을 프로그램 방식으로 조작해 스크린샷·QA 워크플로를 자동화할 때 사용. ScreenGui.Enabled 등 사용자 인스턴스 프로퍼티는 절대 건드리지 않음 — Studio 세션 설정만 변경.
|
|
2
|
-
`,basic:[],pro:["toggle_ui_preview"]},{name:"batch_execute",description:'[PRO] Execute multiple commands in a single batch. Each command is an object with "tool" name and "args". Commands execute sequentially; optionally continue on error.',basic:[],pro:["batch_execute"]},{name:"execute_luau",description:"[PRO] Execute arbitrary Luau code in Roblox Studio sandbox. Blocked services: HttpService, DataStoreService, MessagingService. Cannot access CoreGui/CorePackages.",basic:[],pro:["execute_luau"]}],u={proOnlyTools:15,mixedTools:7,totalBasicActions:51,totalProActions:114},g={tools:_,summary:u},h="_tag_1wj0q_2",y="_label_1wj0q_17",b="_code_1wj0q_22",f="_expiry_1wj0q_31",x="_inline_1wj0q_49",v="_centered_1wj0q_54",i={tag:h,label:y,code:b,expiry:f,inline:x,centered:v};function j({variant:n}){const{t:e}=c();return l()?t.jsxs("div",{className:`${i.tag} ${n==="centered"?i.centered:i.inline}`,children:[t.jsx("span",{className:i.label,children:e("tier.promo.discount.context","🎁 Gumroad 결제 시 할인코드 입력:")}),t.jsx("span",{className:i.code,children:e("tier.comparison.discount.code","WEPPY-MCP")}),t.jsx("span",{className:i.expiry,children:e("tier.comparison.discount.expiry","Valid until April 30")})]}):null}const k="_overlay_171mk_2",w="_modal_171mk_13",P="_summaryGrid_171mk_32",N="_summaryCard_171mk_39",C="_basicCard_171mk_45",S="_proCard_171mk_49",R="_cardTitle_171mk_54",T="_summarySection_171mk_70",O="_sectionTitle_171mk_78",B="_featureList_171mk_90",A="_summary_171mk_32",q="_statBasic_171mk_116",L="_statPro_171mk_120",I="_statMixed_171mk_124",D="_detailHeader_171mk_128",E="_tableWrap_171mk_137",G="_table_171mk_137",M="_toolName_171mk_165",U="_description_171mk_171",$="_actionList_171mk_176",z="_none_171mk_184",W="_discountBanner_171mk_189",H="_closeBtn_171mk_227",s={overlay:k,modal:w,summaryGrid:P,summaryCard:N,basicCard:C,proCard:S,cardTitle:R,summarySection:T,sectionTitle:O,featureList:B,summary:A,statBasic:q,statPro:L,statMixed:I,detailHeader:D,tableWrap:E,table:G,toolName:M,description:U,actionList:$,none:z,discountBanner:W,closeBtn:H};function V({onClose:n}){const{t:e}=c(),{tools:m,summary:o}=g,d=[{title:e("tier.comparison.basic.core","Core MCP workflow"),items:[e("tier.comparison.basic.core.item1","Script create/edit"),e("tier.comparison.basic.core.item2","Instance management"),e("tier.comparison.basic.core.item3","Property control"),e("tier.comparison.basic.core.item4","Selection and search"),e("tier.comparison.basic.core.item5","Tag management"),e("tier.comparison.basic.core.item6","Camera control"),e("tier.comparison.basic.core.item7","Log monitoring")]},{title:e("tier.comparison.basic.sync","Sync (Basic)"),items:[e("tier.comparison.basic.sync.item1","Studio to Local one-way sync"),e("tier.comparison.basic.sync.item2","Manual apply as default")]}],p=[{title:e("tier.comparison.pro.all","Everything in Basic, plus"),items:[]},{title:e("tier.comparison.pro.sync","Advanced Sync workflow"),items:[e("tier.comparison.pro.sync.item1","Per-type sync direction"),e("tier.comparison.pro.sync.item2","Per-type apply mode"),e("tier.comparison.pro.sync.item3","Bidirectional and reverse sync"),e("tier.comparison.pro.sync.item4","Full sync, resync, and push to Studio"),e("tier.comparison.pro.sync.item5","Multi-place sync")]},{title:e("tier.comparison.pro.playtest","Playtest control"),items:[e("tier.comparison.pro.playtest.item1","Play, stop, pause, and resume"),e("tier.comparison.pro.playtest.item2","Playtest state inspection"),e("tier.comparison.pro.playtest.item3","Automated test execution")]},{title:e("tier.comparison.pro.creation","Advanced creation workflow"),items:[e("tier.comparison.pro.creation.item1","Bulk operations"),e("tier.comparison.pro.creation.item2","Terrain generation"),e("tier.comparison.pro.creation.item3","Asset search and insert"),e("tier.comparison.pro.creation.item4","Raycast and spatial analysis"),e("tier.comparison.pro.creation.item5","Environment control")]},{title:e("tier.comparison.pro.ui","AI UI design (UI Studio)"),items:[e("tier.comparison.pro.ui.item1","design_brief — guided UI requirements intake"),e("tier.comparison.pro.ui.item2","create_tree / update / delete — build and edit UI hierarchy"),e("tier.comparison.pro.ui.item3","preview — capture screenshots of current UI"),e("tier.comparison.pro.ui.item4","Design Check — validate touch targets, contrast, safe zones")]}];return t.jsx("div",{className:s.overlay,onClick:n,children:t.jsxs("div",{className:s.modal,onClick:a=>a.stopPropagation(),children:[l()&&t.jsx("div",{className:s.discountBanner,children:t.jsx(j,{variant:"centered"})}),t.jsx("h2",{children:e("tier.compare")}),t.jsxs("div",{className:s.summaryGrid,children:[t.jsxs("section",{className:`${s.summaryCard} ${s.basicCard}`,children:[t.jsx("h3",{className:s.cardTitle,children:e("tier.basic")}),d.map(a=>t.jsxs("div",{className:s.summarySection,children:[t.jsx("div",{className:s.sectionTitle,children:a.title}),t.jsx("ul",{className:s.featureList,children:a.items.map(r=>t.jsx("li",{children:r},r))})]},a.title))]}),t.jsxs("section",{className:`${s.summaryCard} ${s.proCard}`,children:[t.jsx("h3",{className:s.cardTitle,children:e("tier.pro")}),p.map(a=>t.jsxs("div",{className:s.summarySection,children:[t.jsx("div",{className:s.sectionTitle,children:a.title}),a.items.length>0&&t.jsx("ul",{className:s.featureList,children:a.items.map(r=>t.jsx("li",{children:r},r))})]},a.title))]})]}),t.jsxs("div",{className:s.summary,children:[t.jsxs("span",{className:s.statBasic,children:["Basic: ",o.totalBasicActions," actions"]}),t.jsxs("span",{className:s.statPro,children:["Pro: ",o.totalProActions," actions"]}),t.jsxs("span",{className:s.statMixed,children:[o.mixedTools," mixed / ",o.proOnlyTools," pro-only"]})]}),t.jsx("div",{className:s.detailHeader,children:e("tier.comparison.detailTitle","Detailed Tool Catalog")}),t.jsx("div",{className:s.tableWrap,children:t.jsxs("table",{className:s.table,children:[t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{children:e("tools.col.tool")}),t.jsx("th",{children:e("tier.comparison.description","Description")}),t.jsx("th",{children:e("tier.basic")}),t.jsx("th",{children:e("tier.pro")})]})}),t.jsx("tbody",{children:m.map(a=>t.jsxs("tr",{children:[t.jsx("td",{className:s.toolName,children:a.name}),t.jsx("td",{className:s.description,children:e(`tier.tool.${a.name}.desc`,a.description)}),t.jsx("td",{className:s.actionList,children:a.basic.length>0?a.basic.join(", "):t.jsx("span",{className:s.none,children:"—"})}),t.jsx("td",{className:s.actionList,children:a.pro.length>0?a.pro.join(", "):t.jsx("span",{className:s.none,children:"—"})})]},a.name))})]})}),t.jsx("button",{className:s.closeBtn,onClick:n,children:e("tier.comparison.close","Close")})]})})}export{j as D,V as T};
|