@weppy/roblox-mcp 0.1.0
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 +39 -0
- package/CHANGELOG.md +37 -0
- package/LICENSE +53 -0
- package/README.md +162 -0
- package/assets/screenshots/connection_guide.png +3 -0
- package/assets/screenshots/connection_popup.png +3 -0
- package/assets/screenshots/plugin_main.png +3 -0
- package/assets/screenshots/settings.png +3 -0
- package/dist/http-bridge.d.ts +65 -0
- package/dist/http-bridge.d.ts.map +1 -0
- package/dist/http-bridge.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/server.d.ts +13 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +1 -0
- package/dist/tools/asset-tools.d.ts +10 -0
- package/dist/tools/asset-tools.d.ts.map +1 -0
- package/dist/tools/asset-tools.js +1 -0
- package/dist/tools/bulk-tools.d.ts +11 -0
- package/dist/tools/bulk-tools.d.ts.map +1 -0
- package/dist/tools/bulk-tools.js +1 -0
- package/dist/tools/camera-tools.d.ts +5 -0
- package/dist/tools/camera-tools.d.ts.map +1 -0
- package/dist/tools/camera-tools.js +1 -0
- package/dist/tools/connection-tools.d.ts +5 -0
- package/dist/tools/connection-tools.d.ts.map +1 -0
- package/dist/tools/connection-tools.js +1 -0
- package/dist/tools/environment-tools.d.ts +8 -0
- package/dist/tools/environment-tools.d.ts.map +1 -0
- package/dist/tools/environment-tools.js +1 -0
- package/dist/tools/index.d.ts +21 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +1 -0
- package/dist/tools/instance-tools.d.ts +16 -0
- package/dist/tools/instance-tools.d.ts.map +1 -0
- package/dist/tools/instance-tools.js +1 -0
- package/dist/tools/log-tools.d.ts +6 -0
- package/dist/tools/log-tools.d.ts.map +1 -0
- package/dist/tools/log-tools.js +1 -0
- package/dist/tools/property-tools.d.ts +13 -0
- package/dist/tools/property-tools.d.ts.map +1 -0
- package/dist/tools/property-tools.js +1 -0
- package/dist/tools/raycast-tools.d.ts +11 -0
- package/dist/tools/raycast-tools.d.ts.map +1 -0
- package/dist/tools/raycast-tools.js +1 -0
- package/dist/tools/script-tools.d.ts +13 -0
- package/dist/tools/script-tools.d.ts.map +1 -0
- package/dist/tools/script-tools.js +1 -0
- package/dist/tools/search-tools.d.ts +11 -0
- package/dist/tools/search-tools.d.ts.map +1 -0
- package/dist/tools/search-tools.js +1 -0
- package/dist/tools/selection-tools.d.ts +16 -0
- package/dist/tools/selection-tools.d.ts.map +1 -0
- package/dist/tools/selection-tools.js +1 -0
- package/dist/tools/spatial-tools.d.ts +8 -0
- package/dist/tools/spatial-tools.d.ts.map +1 -0
- package/dist/tools/spatial-tools.js +1 -0
- package/dist/tools/state-tools.d.ts +12 -0
- package/dist/tools/state-tools.d.ts.map +1 -0
- package/dist/tools/state-tools.js +1 -0
- package/dist/tools/tag-tools.d.ts +8 -0
- package/dist/tools/tag-tools.d.ts.map +1 -0
- package/dist/tools/tag-tools.js +1 -0
- package/dist/tools/terrain-tools.d.ts +15 -0
- package/dist/tools/terrain-tools.d.ts.map +1 -0
- package/dist/tools/terrain-tools.js +1 -0
- package/dist/tools/visualization-tools.d.ts +9 -0
- package/dist/tools/visualization-tools.d.ts.map +1 -0
- package/dist/tools/visualization-tools.js +1 -0
- package/dist/types/index.d.ts +143 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +1 -0
- package/dist/utils/quota-checker.d.ts +46 -0
- package/dist/utils/quota-checker.d.ts.map +1 -0
- package/dist/utils/quota-checker.js +1 -0
- package/dist/utils/type-converter.d.ts +33 -0
- package/dist/utils/type-converter.d.ts.map +1 -0
- package/dist/utils/type-converter.js +1 -0
- package/dist/utils/validation.d.ts +17 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +1 -0
- package/docs/ko/README.md +174 -0
- package/docs/ko/faq.md +188 -0
- package/docs/ko/installation/claude-code.md +110 -0
- package/docs/ko/installation/claude-desktop.md +145 -0
- package/docs/ko/installation/codex-cli.md +120 -0
- package/docs/ko/installation/cursor.md +122 -0
- package/docs/ko/installation/gemini-cli.md +136 -0
- package/docs/ko/installation/other-clients.md +180 -0
- package/docs/ko/installation/plugin.md +98 -0
- package/docs/ko/tools/overview.md +270 -0
- package/package.json +46 -0
- package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +53 -0
- package/plugins/weppy-roblox-mcp/agents/roblox-engineer.md +65 -0
- package/plugins/weppy-roblox-mcp/dist/dist/http-bridge.d.ts +65 -0
- package/plugins/weppy-roblox-mcp/dist/dist/http-bridge.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/http-bridge.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/index.d.ts +3 -0
- package/plugins/weppy-roblox-mcp/dist/dist/index.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/index.js +2 -0
- package/plugins/weppy-roblox-mcp/dist/dist/server.d.ts +13 -0
- package/plugins/weppy-roblox-mcp/dist/dist/server.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/server.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/asset-tools.d.ts +10 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/asset-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/asset-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/bulk-tools.d.ts +11 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/bulk-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/bulk-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/camera-tools.d.ts +5 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/camera-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/camera-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/connection-tools.d.ts +5 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/connection-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/connection-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/environment-tools.d.ts +8 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/environment-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/environment-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/index.d.ts +21 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/index.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/index.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/instance-tools.d.ts +16 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/instance-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/instance-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/log-tools.d.ts +6 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/log-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/log-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/property-tools.d.ts +13 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/property-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/property-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/raycast-tools.d.ts +11 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/raycast-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/raycast-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/script-tools.d.ts +13 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/script-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/script-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/search-tools.d.ts +11 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/search-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/search-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/selection-tools.d.ts +16 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/selection-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/selection-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/spatial-tools.d.ts +8 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/spatial-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/spatial-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/state-tools.d.ts +12 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/state-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/state-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/tag-tools.d.ts +8 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/tag-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/tag-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/terrain-tools.d.ts +15 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/terrain-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/terrain-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/visualization-tools.d.ts +9 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/visualization-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/tools/visualization-tools.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/types/index.d.ts +143 -0
- package/plugins/weppy-roblox-mcp/dist/dist/types/index.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/types/index.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/logger.d.ts +16 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/logger.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/logger.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/quota-checker.d.ts +46 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/quota-checker.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/quota-checker.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/type-converter.d.ts +33 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/type-converter.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/type-converter.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/validation.d.ts +17 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/validation.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/dist/utils/validation.js +1 -0
- package/plugins/weppy-roblox-mcp/dist/http-bridge.d.ts +45 -0
- package/plugins/weppy-roblox-mcp/dist/http-bridge.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/http-bridge.js +434 -0
- package/plugins/weppy-roblox-mcp/dist/http-bridge.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/index.d.ts +3 -0
- package/plugins/weppy-roblox-mcp/dist/index.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/index.js +59 -0
- package/plugins/weppy-roblox-mcp/dist/index.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/server.d.ts +13 -0
- package/plugins/weppy-roblox-mcp/dist/server.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/server.js +260 -0
- package/plugins/weppy-roblox-mcp/dist/server.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/asset-tools.d.ts +10 -0
- package/plugins/weppy-roblox-mcp/dist/tools/asset-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/asset-tools.js +127 -0
- package/plugins/weppy-roblox-mcp/dist/tools/asset-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/bulk-tools.d.ts +11 -0
- package/plugins/weppy-roblox-mcp/dist/tools/bulk-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/bulk-tools.js +225 -0
- package/plugins/weppy-roblox-mcp/dist/tools/bulk-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/environment-tools.d.ts +8 -0
- package/plugins/weppy-roblox-mcp/dist/tools/environment-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/environment-tools.js +93 -0
- package/plugins/weppy-roblox-mcp/dist/tools/environment-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/index.d.ts +18 -0
- package/plugins/weppy-roblox-mcp/dist/tools/index.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/index.js +59 -0
- package/plugins/weppy-roblox-mcp/dist/tools/index.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/instance-tools.d.ts +15 -0
- package/plugins/weppy-roblox-mcp/dist/tools/instance-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/instance-tools.js +252 -0
- package/plugins/weppy-roblox-mcp/dist/tools/instance-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/log-tools.d.ts +6 -0
- package/plugins/weppy-roblox-mcp/dist/tools/log-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/log-tools.js +53 -0
- package/plugins/weppy-roblox-mcp/dist/tools/log-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/property-tools.d.ts +13 -0
- package/plugins/weppy-roblox-mcp/dist/tools/property-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/property-tools.js +213 -0
- package/plugins/weppy-roblox-mcp/dist/tools/property-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/raycast-tools.d.ts +11 -0
- package/plugins/weppy-roblox-mcp/dist/tools/raycast-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/raycast-tools.js +420 -0
- package/plugins/weppy-roblox-mcp/dist/tools/raycast-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/script-tools.d.ts +13 -0
- package/plugins/weppy-roblox-mcp/dist/tools/script-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/script-tools.js +229 -0
- package/plugins/weppy-roblox-mcp/dist/tools/script-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/search-tools.d.ts +11 -0
- package/plugins/weppy-roblox-mcp/dist/tools/search-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/search-tools.js +196 -0
- package/plugins/weppy-roblox-mcp/dist/tools/search-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/selection-tools.d.ts +16 -0
- package/plugins/weppy-roblox-mcp/dist/tools/selection-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/selection-tools.js +185 -0
- package/plugins/weppy-roblox-mcp/dist/tools/selection-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/spatial-tools.d.ts +8 -0
- package/plugins/weppy-roblox-mcp/dist/tools/spatial-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/spatial-tools.js +155 -0
- package/plugins/weppy-roblox-mcp/dist/tools/spatial-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/state-tools.d.ts +153 -0
- package/plugins/weppy-roblox-mcp/dist/tools/state-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/state-tools.js +481 -0
- package/plugins/weppy-roblox-mcp/dist/tools/state-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/tag-tools.d.ts +8 -0
- package/plugins/weppy-roblox-mcp/dist/tools/tag-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/tag-tools.js +99 -0
- package/plugins/weppy-roblox-mcp/dist/tools/tag-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/terrain-tools.d.ts +15 -0
- package/plugins/weppy-roblox-mcp/dist/tools/terrain-tools.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/tools/terrain-tools.js +549 -0
- package/plugins/weppy-roblox-mcp/dist/tools/terrain-tools.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/types/index.d.ts +111 -0
- package/plugins/weppy-roblox-mcp/dist/types/index.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/types/index.js +8 -0
- package/plugins/weppy-roblox-mcp/dist/types/index.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/utils/logger.d.ts +16 -0
- package/plugins/weppy-roblox-mcp/dist/utils/logger.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/utils/logger.js +87 -0
- package/plugins/weppy-roblox-mcp/dist/utils/logger.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/utils/type-converter.d.ts +33 -0
- package/plugins/weppy-roblox-mcp/dist/utils/type-converter.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/utils/type-converter.js +203 -0
- package/plugins/weppy-roblox-mcp/dist/utils/type-converter.js.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/utils/validation.d.ts +17 -0
- package/plugins/weppy-roblox-mcp/dist/utils/validation.d.ts.map +1 -0
- package/plugins/weppy-roblox-mcp/dist/utils/validation.js +26 -0
- package/plugins/weppy-roblox-mcp/dist/utils/validation.js.map +1 -0
- package/plugins/weppy-roblox-mcp/package.json +43 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-game-dev/SKILL.md +548 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-mcp-guide/SKILL.md +680 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-mcp-guide/scripts/check-mcp.sh +86 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-planner/SKILL.md +588 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-planner/scripts/verify-plan.sh +134 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-sync/SKILL.md +389 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-sync/scripts/post-verify.sh +160 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-sync/scripts/pre-check.sh +304 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-sync/scripts/update-metadata.sh +27 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-task-tracker/SKILL.md +349 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-task-tracker/scripts/validate.sh +28 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/SKILL.md +244 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/assets/effects.json +118 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/assets/items.json +169 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/assets/maps/maps.json +763 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/assets/maps/sources/decorations.json +137 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/assets/maps/sources/standalone-maps.json +331 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/assets/maps/sources/terrain-presets.json +272 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/assets/monsters.json +132 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/assets/npcs.json +50 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/assets/weapons.json +140 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/references/animations.json +40 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/references/rpg-balance.json +236 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/references/rpg.md +304 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/references/terrain-generation.json +192 -0
- package/plugins/weppy-roblox-mcp/skills/roblox-templates/samples/SpawnConfig.luau +152 -0
- package/roblox-plugin/WeppyRobloxMCP-Free.rbxm +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulk-tools.js","sourceRoot":"","sources":["../../src/tools/bulk-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
export declare const setLightingTool: Tool;
|
|
3
|
+
export declare const setAtmosphereTool: Tool;
|
|
4
|
+
export declare const setSkyTool: Tool;
|
|
5
|
+
export declare const setTerrainTool: Tool;
|
|
6
|
+
export declare const setTimeOfDayTool: Tool;
|
|
7
|
+
export declare const environmentTools: Tool[];
|
|
8
|
+
//# sourceMappingURL=environment-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-tools.d.ts","sourceRoot":"","sources":["../../src/tools/environment-tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AA0B/D,eAAO,MAAM,eAAe,EAAE,IAgB7B,CAAC;AAuBF,eAAO,MAAM,iBAAiB,EAAE,IAqB/B,CAAC;AA6BF,eAAO,MAAM,UAAU,EAAE,IAqBxB,CAAC;AAoBF,eAAO,MAAM,cAAc,EAAE,IAgB5B,CAAC;AAqBF,eAAO,MAAM,gBAAgB,EAAE,IAmB9B,CAAC;AAKF,eAAO,MAAM,gBAAgB,EAAE,IAAI,EAMlC,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
export const setLightingTool = {
|
|
2
|
+
name: 'set_lighting',
|
|
3
|
+
description: 'Set properties on the Lighting service to control global illumination, shadows, and environmental lighting. Common properties include Ambient, Brightness, ColorShift_Bottom, ColorShift_Top, EnvironmentDiffuseScale, EnvironmentSpecularScale, GlobalShadows, OutdoorAmbient, ShadowSoftness, and Technology.',
|
|
4
|
+
inputSchema: {
|
|
5
|
+
type: 'object',
|
|
6
|
+
properties: {
|
|
7
|
+
properties: {
|
|
8
|
+
type: 'object',
|
|
9
|
+
description: 'Dictionary of Lighting properties to set. Supports Color3 (use {r, g, b} with 0-255 range), numbers, booleans, and Enums (use "Enum.Technology.ShadowMap" format).',
|
|
10
|
+
additionalProperties: true,
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
required: ['properties'],
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
export const setAtmosphereTool = {
|
|
17
|
+
name: 'set_atmosphere',
|
|
18
|
+
description: 'Set properties on the Atmosphere instance in Lighting to control atmospheric effects like fog, haze, and glare. Optionally creates an Atmosphere instance if one doesn\'t exist. Common properties: Color, Decay, Density, Glare, Haze, Offset.',
|
|
19
|
+
inputSchema: {
|
|
20
|
+
type: 'object',
|
|
21
|
+
properties: {
|
|
22
|
+
properties: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
description: 'Dictionary of Atmosphere properties to set. Color and Decay use Color3 format {r, g, b} with 0-255 range. Density, Glare, Haze, and Offset are numbers.',
|
|
25
|
+
additionalProperties: true,
|
|
26
|
+
},
|
|
27
|
+
createIfMissing: {
|
|
28
|
+
type: 'boolean',
|
|
29
|
+
description: 'If true, creates an Atmosphere instance in Lighting if one doesn\'t exist. Default: true',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
required: ['properties'],
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
export const setSkyTool = {
|
|
36
|
+
name: 'set_sky',
|
|
37
|
+
description: 'Set properties on the Sky instance in Lighting to configure the skybox and celestial bodies. Optionally creates a Sky instance if one doesn\'t exist. Common properties: CelestialBodiesShown, MoonAngularSize, MoonTextureId, SkyboxBk/Dn/Ft/Lf/Rt/Up, StarCount, SunAngularSize, SunTextureId.',
|
|
38
|
+
inputSchema: {
|
|
39
|
+
type: 'object',
|
|
40
|
+
properties: {
|
|
41
|
+
properties: {
|
|
42
|
+
type: 'object',
|
|
43
|
+
description: 'Dictionary of Sky properties to set. Skybox textures should be asset IDs or rbxasset URLs. Angular sizes and StarCount are numbers. CelestialBodiesShown is boolean.',
|
|
44
|
+
additionalProperties: true,
|
|
45
|
+
},
|
|
46
|
+
createIfMissing: {
|
|
47
|
+
type: 'boolean',
|
|
48
|
+
description: 'If true, creates a Sky instance in Lighting if one doesn\'t exist. Default: true',
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
required: ['properties'],
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
export const setTerrainTool = {
|
|
55
|
+
name: 'set_terrain',
|
|
56
|
+
description: 'Set properties on the Terrain instance in Workspace to configure water appearance and behavior. Common properties: WaterColor (Color3), WaterReflectance, WaterTransparency, WaterWaveSize, WaterWaveSpeed.',
|
|
57
|
+
inputSchema: {
|
|
58
|
+
type: 'object',
|
|
59
|
+
properties: {
|
|
60
|
+
properties: {
|
|
61
|
+
type: 'object',
|
|
62
|
+
description: 'Dictionary of Terrain properties to set. WaterColor uses Color3 format {r, g, b} with 0-255 range. Other properties are numbers.',
|
|
63
|
+
additionalProperties: true,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
required: ['properties'],
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
export const setTimeOfDayTool = {
|
|
70
|
+
name: 'set_time_of_day',
|
|
71
|
+
description: 'Set the time of day in the game, which affects sun position and lighting. Provide either a time string in "HH:MM:SS" format or a clockTime number (0-24). The time affects the Lighting.TimeOfDay and Lighting.ClockTime properties.',
|
|
72
|
+
inputSchema: {
|
|
73
|
+
type: 'object',
|
|
74
|
+
properties: {
|
|
75
|
+
time: {
|
|
76
|
+
type: 'string',
|
|
77
|
+
description: 'Time string in "HH:MM:SS" format (e.g., "14:30:00" for 2:30 PM). Use this OR clockTime, not both.',
|
|
78
|
+
},
|
|
79
|
+
clockTime: {
|
|
80
|
+
type: 'number',
|
|
81
|
+
description: 'Numeric time in 24-hour format (e.g., 14.5 for 2:30 PM). Valid range: 0-24. Use this OR time string, not both.',
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
export const environmentTools = [
|
|
87
|
+
setLightingTool,
|
|
88
|
+
setAtmosphereTool,
|
|
89
|
+
setSkyTool,
|
|
90
|
+
setTerrainTool,
|
|
91
|
+
setTimeOfDayTool,
|
|
92
|
+
];
|
|
93
|
+
//# sourceMappingURL=environment-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-tools.js","sourceRoot":"","sources":["../../src/tools/environment-tools.ts"],"names":[],"mappings":"AAiCA,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,iTAAiT;IACnT,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,oKAAoK;gBACtK,oBAAoB,EAAE,IAAI;aAC3B;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;CACF,CAAC;AAuBF,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,iPAAiP;IACnP,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,yJAAyJ;gBAC3J,oBAAoB,EAAE,IAAI;aAC3B;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,0FAA0F;aAC7F;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;CACF,CAAC;AA6BF,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,SAAS;IACf,WAAW,EACT,kSAAkS;IACpS,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,sKAAsK;gBACxK,oBAAoB,EAAE,IAAI;aAC3B;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,kFAAkF;aACrF;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;CACF,CAAC;AAoBF,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,6MAA6M;IAC/M,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,kIAAkI;gBACpI,oBAAoB,EAAE,IAAI;aAC3B;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;CACF,CAAC;AAqBF,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,sOAAsO;IACxO,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,mGAAmG;aACtG;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,gHAAgH;aACnH;SACF;KACF;CACF,CAAC;AAKF,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACtC,eAAe;IACf,iBAAiB;IACjB,UAAU;IACV,cAAc;IACd,gBAAgB;CACjB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
export declare const pingTool: Tool;
|
|
3
|
+
export declare const tools: Tool[];
|
|
4
|
+
export { instanceTools } from './instance-tools.js';
|
|
5
|
+
export { propertyTools } from './property-tools.js';
|
|
6
|
+
export { scriptTools } from './script-tools.js';
|
|
7
|
+
export { selectionTools } from './selection-tools.js';
|
|
8
|
+
export { searchTools } from './search-tools.js';
|
|
9
|
+
export { tagTools } from './tag-tools.js';
|
|
10
|
+
export { bulkTools } from './bulk-tools.js';
|
|
11
|
+
export { environmentTools } from './environment-tools.js';
|
|
12
|
+
export { assetTools } from './asset-tools.js';
|
|
13
|
+
export { stateTools } from './state-tools.js';
|
|
14
|
+
export { spatialTools } from './spatial-tools.js';
|
|
15
|
+
export { logTools } from './log-tools.js';
|
|
16
|
+
export { raycastTools } from './raycast-tools.js';
|
|
17
|
+
export { terrainTools } from './terrain-tools.js';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAmB/D,eAAO,MAAM,QAAQ,EAAE,IAYtB,CAAC;AAKF,eAAO,MAAM,KAAK,EAAE,IAAI,EAgBvB,CAAC;AAGF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { instanceTools } from './instance-tools.js';
|
|
2
|
+
import { propertyTools } from './property-tools.js';
|
|
3
|
+
import { scriptTools } from './script-tools.js';
|
|
4
|
+
import { selectionTools } from './selection-tools.js';
|
|
5
|
+
import { searchTools } from './search-tools.js';
|
|
6
|
+
import { tagTools } from './tag-tools.js';
|
|
7
|
+
import { bulkTools } from './bulk-tools.js';
|
|
8
|
+
import { environmentTools } from './environment-tools.js';
|
|
9
|
+
import { assetTools } from './asset-tools.js';
|
|
10
|
+
import { stateTools } from './state-tools.js';
|
|
11
|
+
import { spatialTools } from './spatial-tools.js';
|
|
12
|
+
import { logTools } from './log-tools.js';
|
|
13
|
+
import { raycastTools } from './raycast-tools.js';
|
|
14
|
+
import { terrainTools } from './terrain-tools.js';
|
|
15
|
+
export const pingTool = {
|
|
16
|
+
name: 'ping',
|
|
17
|
+
description: 'Test tool to verify connection between MCP server, HTTP bridge, and Roblox plugin. Returns "pong" with timestamp.',
|
|
18
|
+
inputSchema: {
|
|
19
|
+
type: 'object',
|
|
20
|
+
properties: {
|
|
21
|
+
message: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
description: 'Optional message to echo back',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
export const tools = [
|
|
29
|
+
pingTool,
|
|
30
|
+
...instanceTools,
|
|
31
|
+
...propertyTools,
|
|
32
|
+
...scriptTools,
|
|
33
|
+
...selectionTools,
|
|
34
|
+
...searchTools,
|
|
35
|
+
...tagTools,
|
|
36
|
+
...bulkTools,
|
|
37
|
+
...environmentTools,
|
|
38
|
+
...assetTools,
|
|
39
|
+
...stateTools,
|
|
40
|
+
...spatialTools,
|
|
41
|
+
...logTools,
|
|
42
|
+
...raycastTools,
|
|
43
|
+
...terrainTools,
|
|
44
|
+
];
|
|
45
|
+
export { instanceTools } from './instance-tools.js';
|
|
46
|
+
export { propertyTools } from './property-tools.js';
|
|
47
|
+
export { scriptTools } from './script-tools.js';
|
|
48
|
+
export { selectionTools } from './selection-tools.js';
|
|
49
|
+
export { searchTools } from './search-tools.js';
|
|
50
|
+
export { tagTools } from './tag-tools.js';
|
|
51
|
+
export { bulkTools } from './bulk-tools.js';
|
|
52
|
+
export { environmentTools } from './environment-tools.js';
|
|
53
|
+
export { assetTools } from './asset-tools.js';
|
|
54
|
+
export { stateTools } from './state-tools.js';
|
|
55
|
+
export { spatialTools } from './spatial-tools.js';
|
|
56
|
+
export { logTools } from './log-tools.js';
|
|
57
|
+
export { raycastTools } from './raycast-tools.js';
|
|
58
|
+
export { terrainTools } from './terrain-tools.js';
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,CAAC,MAAM,QAAQ,GAAS;IAC5B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,mHAAmH;IAChI,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+BAA+B;aAC7C;SACF;KACF;CACF,CAAC;AAKF,MAAM,CAAC,MAAM,KAAK,GAAW;IAC3B,QAAQ;IACR,GAAG,aAAa;IAChB,GAAG,aAAa;IAChB,GAAG,WAAW;IACd,GAAG,cAAc;IACjB,GAAG,WAAW;IACd,GAAG,QAAQ;IACX,GAAG,SAAS;IACZ,GAAG,gBAAgB;IACnB,GAAG,UAAU;IACb,GAAG,UAAU;IACb,GAAG,YAAY;IACf,GAAG,QAAQ;IACX,GAAG,YAAY;IACf,GAAG,YAAY;CAChB,CAAC;AAGF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
export declare const createInstanceTool: Tool;
|
|
3
|
+
export declare const deleteInstanceTool: Tool;
|
|
4
|
+
export declare const cloneInstanceTool: Tool;
|
|
5
|
+
export declare const getInstanceTool: Tool;
|
|
6
|
+
export declare const getInstanceChildrenTool: Tool;
|
|
7
|
+
export declare const moveInstanceTool: Tool;
|
|
8
|
+
export declare const renameInstanceTool: Tool;
|
|
9
|
+
export declare const findFirstChildTool: Tool;
|
|
10
|
+
export declare const findFirstDescendantTool: Tool;
|
|
11
|
+
export declare const createInstanceWithPropertiesTool: Tool;
|
|
12
|
+
export declare const getClassInfoTool: Tool;
|
|
13
|
+
export declare const waitForChildTool: Tool;
|
|
14
|
+
export declare const instanceTools: Tool[];
|
|
15
|
+
//# sourceMappingURL=instance-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-tools.d.ts","sourceRoot":"","sources":["../../src/tools/instance-tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAqB/D,eAAO,MAAM,kBAAkB,EAAE,IA8BhC,CAAC;AAcF,eAAO,MAAM,kBAAkB,EAAE,IAehC,CAAC;AAeF,eAAO,MAAM,iBAAiB,EAAE,IAoB/B,CAAC;AAsBF,eAAO,MAAM,eAAe,EAAE,IAe7B,CAAC;AAoBF,eAAO,MAAM,uBAAuB,EAAE,IAyBrC,CAAC;AAeF,eAAO,MAAM,gBAAgB,EAAE,IAoB9B,CAAC;AAeF,eAAO,MAAM,kBAAkB,EAAE,IAmBhC,CAAC;AAeF,eAAO,MAAM,kBAAkB,EAAE,IAwBhC,CAAC;AAeF,eAAO,MAAM,uBAAuB,EAAE,IAwBrC,CAAC;AA0BF,eAAO,MAAM,gCAAgC,EAAE,IA8B9C,CAAC;AAcF,eAAO,MAAM,gBAAgB,EAAE,IAc9B,CAAC;AAgBF,eAAO,MAAM,gBAAgB,EAAE,IAwB9B,CAAC;AAKF,eAAO,MAAM,aAAa,EAAE,IAAI,EAa/B,CAAC"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
export const createInstanceTool = {
|
|
2
|
+
name: 'create_instance',
|
|
3
|
+
description: 'Create a new Roblox instance with the specified class name and parent. Optionally set initial properties and name. Returns the full path of the created instance.',
|
|
4
|
+
inputSchema: {
|
|
5
|
+
type: 'object',
|
|
6
|
+
properties: {
|
|
7
|
+
className: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
description: 'Roblox class name (e.g., Part, Script, Folder, Model, ScreenGui)',
|
|
10
|
+
},
|
|
11
|
+
parent: {
|
|
12
|
+
type: 'string',
|
|
13
|
+
description: 'Parent path where the instance will be created (e.g., game.Workspace, game.StarterPlayer.StarterPlayerScripts)',
|
|
14
|
+
},
|
|
15
|
+
name: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
description: 'Optional custom name for the instance. If not provided, uses the default class name.',
|
|
18
|
+
},
|
|
19
|
+
properties: {
|
|
20
|
+
type: 'object',
|
|
21
|
+
description: 'Optional initial properties to set on the instance. Use JSON format with proper type conversion (Vector3, Color3, etc.)',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
required: ['className', 'parent'],
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
export const deleteInstanceTool = {
|
|
28
|
+
name: 'delete_instance',
|
|
29
|
+
description: 'Delete a Roblox instance at the specified path. The instance will be permanently removed from the game tree. Use with caution as this action cannot be undone.',
|
|
30
|
+
inputSchema: {
|
|
31
|
+
type: 'object',
|
|
32
|
+
properties: {
|
|
33
|
+
path: {
|
|
34
|
+
type: 'string',
|
|
35
|
+
description: 'Full path to the instance to delete (e.g., game.Workspace.Part, game.ReplicatedStorage.Folder.Script)',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
required: ['path'],
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
export const cloneInstanceTool = {
|
|
42
|
+
name: 'clone_instance',
|
|
43
|
+
description: 'Clone an existing Roblox instance, creating a deep copy with all descendants and properties. Optionally specify a different parent for the cloned instance.',
|
|
44
|
+
inputSchema: {
|
|
45
|
+
type: 'object',
|
|
46
|
+
properties: {
|
|
47
|
+
sourcePath: {
|
|
48
|
+
type: 'string',
|
|
49
|
+
description: 'Full path to the instance to clone (e.g., game.Workspace.Model, game.ReplicatedStorage.Tool)',
|
|
50
|
+
},
|
|
51
|
+
targetParent: {
|
|
52
|
+
type: 'string',
|
|
53
|
+
description: 'Optional parent path for the cloned instance. If not provided, the clone will have the same parent as the source.',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
required: ['sourcePath'],
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
export const getInstanceTool = {
|
|
60
|
+
name: 'get_instance',
|
|
61
|
+
description: 'Get detailed information about a Roblox instance, including its class name, name, parent, key properties, and children count. Useful for inspecting the game tree.',
|
|
62
|
+
inputSchema: {
|
|
63
|
+
type: 'object',
|
|
64
|
+
properties: {
|
|
65
|
+
path: {
|
|
66
|
+
type: 'string',
|
|
67
|
+
description: 'Full path to the instance to inspect (e.g., game.Workspace, game.Players.LocalPlayer.Character.Humanoid)',
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
required: ['path'],
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
export const getInstanceChildrenTool = {
|
|
74
|
+
name: 'get_instance_children',
|
|
75
|
+
description: 'Get all children of a Roblox instance. Optionally traverse the entire descendant tree with configurable depth limit. Returns an array of child instances with their paths, class names, and names.',
|
|
76
|
+
inputSchema: {
|
|
77
|
+
type: 'object',
|
|
78
|
+
properties: {
|
|
79
|
+
path: {
|
|
80
|
+
type: 'string',
|
|
81
|
+
description: 'Full path to the parent instance (e.g., game.Workspace, game.ReplicatedStorage)',
|
|
82
|
+
},
|
|
83
|
+
recursive: {
|
|
84
|
+
type: 'boolean',
|
|
85
|
+
description: 'If true, returns all descendants instead of just immediate children. Default: false',
|
|
86
|
+
},
|
|
87
|
+
maxDepth: {
|
|
88
|
+
type: 'number',
|
|
89
|
+
description: 'Maximum depth for recursive traversal. Only used when recursive is true. Default: 10. Use lower values for large trees to avoid timeout.',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
required: ['path'],
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
export const moveInstanceTool = {
|
|
96
|
+
name: 'move_instance',
|
|
97
|
+
description: 'Move a Roblox instance to a new parent location. The instance and all its descendants will be moved.',
|
|
98
|
+
inputSchema: {
|
|
99
|
+
type: 'object',
|
|
100
|
+
properties: {
|
|
101
|
+
path: {
|
|
102
|
+
type: 'string',
|
|
103
|
+
description: 'Full path to the instance to move (e.g., game.Workspace.Part)',
|
|
104
|
+
},
|
|
105
|
+
newParent: {
|
|
106
|
+
type: 'string',
|
|
107
|
+
description: 'Path to the new parent instance (e.g., game.Workspace.Folder)',
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
required: ['path', 'newParent'],
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
export const renameInstanceTool = {
|
|
114
|
+
name: 'rename_instance',
|
|
115
|
+
description: 'Rename a Roblox instance. Changes the Name property of the instance at the specified path.',
|
|
116
|
+
inputSchema: {
|
|
117
|
+
type: 'object',
|
|
118
|
+
properties: {
|
|
119
|
+
path: {
|
|
120
|
+
type: 'string',
|
|
121
|
+
description: 'Full path to the instance to rename (e.g., game.Workspace.Part)',
|
|
122
|
+
},
|
|
123
|
+
newName: {
|
|
124
|
+
type: 'string',
|
|
125
|
+
description: 'New name for the instance',
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
required: ['path', 'newName'],
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
export const findFirstChildTool = {
|
|
132
|
+
name: 'find_first_child',
|
|
133
|
+
description: 'Find an immediate child of a Roblox instance by name. Optionally filter by class name. Similar to Roblox\'s FindFirstChild method.',
|
|
134
|
+
inputSchema: {
|
|
135
|
+
type: 'object',
|
|
136
|
+
properties: {
|
|
137
|
+
path: {
|
|
138
|
+
type: 'string',
|
|
139
|
+
description: 'Full path to the parent instance to search within (e.g., game.Workspace)',
|
|
140
|
+
},
|
|
141
|
+
childName: {
|
|
142
|
+
type: 'string',
|
|
143
|
+
description: 'Name of the child instance to find',
|
|
144
|
+
},
|
|
145
|
+
className: {
|
|
146
|
+
type: 'string',
|
|
147
|
+
description: 'Optional class name filter. If provided, only returns the child if it matches this class.',
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
required: ['path', 'childName'],
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
export const findFirstDescendantTool = {
|
|
154
|
+
name: 'find_first_descendant',
|
|
155
|
+
description: 'Find a descendant of a Roblox instance by name, searching recursively through all descendants. Optionally filter by class name. Similar to Roblox\'s FindFirstDescendant method.',
|
|
156
|
+
inputSchema: {
|
|
157
|
+
type: 'object',
|
|
158
|
+
properties: {
|
|
159
|
+
path: {
|
|
160
|
+
type: 'string',
|
|
161
|
+
description: 'Full path to the ancestor instance to search within (e.g., game.Workspace)',
|
|
162
|
+
},
|
|
163
|
+
descendantName: {
|
|
164
|
+
type: 'string',
|
|
165
|
+
description: 'Name of the descendant instance to find',
|
|
166
|
+
},
|
|
167
|
+
className: {
|
|
168
|
+
type: 'string',
|
|
169
|
+
description: 'Optional class name filter. If provided, only returns the descendant if it matches this class.',
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
required: ['path', 'descendantName'],
|
|
173
|
+
},
|
|
174
|
+
};
|
|
175
|
+
export const createInstanceWithPropertiesTool = {
|
|
176
|
+
name: 'create_instance_with_properties',
|
|
177
|
+
description: 'Create a new Roblox instance with a full set of properties applied atomically. Returns the created instance with confirmation of all properties set. Ideal for creating fully-configured objects in one operation.',
|
|
178
|
+
inputSchema: {
|
|
179
|
+
type: 'object',
|
|
180
|
+
properties: {
|
|
181
|
+
className: {
|
|
182
|
+
type: 'string',
|
|
183
|
+
description: 'Roblox class name (e.g., Part, Script, Folder, Model, ScreenGui)',
|
|
184
|
+
},
|
|
185
|
+
parent: {
|
|
186
|
+
type: 'string',
|
|
187
|
+
description: 'Parent path where the instance will be created (e.g., game.Workspace)',
|
|
188
|
+
},
|
|
189
|
+
name: {
|
|
190
|
+
type: 'string',
|
|
191
|
+
description: 'Name for the new instance',
|
|
192
|
+
},
|
|
193
|
+
properties: {
|
|
194
|
+
type: 'object',
|
|
195
|
+
description: 'Properties to set on the instance. Supports all Roblox property types with automatic conversion.',
|
|
196
|
+
additionalProperties: true,
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
required: ['className', 'parent', 'name', 'properties'],
|
|
200
|
+
},
|
|
201
|
+
};
|
|
202
|
+
export const getClassInfoTool = {
|
|
203
|
+
name: 'get_class_info',
|
|
204
|
+
description: 'Get information about a Roblox class, including its common properties, parent class, and whether it can be created with Instance.new(). Useful for understanding what properties are available.',
|
|
205
|
+
inputSchema: {
|
|
206
|
+
type: 'object',
|
|
207
|
+
properties: {
|
|
208
|
+
className: {
|
|
209
|
+
type: 'string',
|
|
210
|
+
description: 'Name of the Roblox class (e.g., Part, Model, Script)',
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
required: ['className'],
|
|
214
|
+
},
|
|
215
|
+
};
|
|
216
|
+
export const waitForChildTool = {
|
|
217
|
+
name: 'wait_for_child',
|
|
218
|
+
description: 'Wait for a child instance to exist under a parent. Returns immediately if the child already exists, otherwise waits up to the specified timeout. Similar to Roblox\'s WaitForChild method.',
|
|
219
|
+
inputSchema: {
|
|
220
|
+
type: 'object',
|
|
221
|
+
properties: {
|
|
222
|
+
path: {
|
|
223
|
+
type: 'string',
|
|
224
|
+
description: 'Full path to the parent instance (e.g., game.Workspace)',
|
|
225
|
+
},
|
|
226
|
+
childName: {
|
|
227
|
+
type: 'string',
|
|
228
|
+
description: 'Name of the child instance to wait for',
|
|
229
|
+
},
|
|
230
|
+
timeout: {
|
|
231
|
+
type: 'number',
|
|
232
|
+
description: 'Maximum time to wait in seconds. Default: 5. Maximum: 30.',
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
required: ['path', 'childName'],
|
|
236
|
+
},
|
|
237
|
+
};
|
|
238
|
+
export const instanceTools = [
|
|
239
|
+
createInstanceTool,
|
|
240
|
+
deleteInstanceTool,
|
|
241
|
+
cloneInstanceTool,
|
|
242
|
+
getInstanceTool,
|
|
243
|
+
getInstanceChildrenTool,
|
|
244
|
+
moveInstanceTool,
|
|
245
|
+
renameInstanceTool,
|
|
246
|
+
findFirstChildTool,
|
|
247
|
+
findFirstDescendantTool,
|
|
248
|
+
createInstanceWithPropertiesTool,
|
|
249
|
+
getClassInfoTool,
|
|
250
|
+
waitForChildTool,
|
|
251
|
+
];
|
|
252
|
+
//# sourceMappingURL=instance-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-tools.js","sourceRoot":"","sources":["../../src/tools/instance-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
export declare const getOutputLogsTool: Tool;
|
|
3
|
+
export declare const clearOutputLogsTool: Tool;
|
|
4
|
+
export declare const getRecentErrorsTool: Tool;
|
|
5
|
+
export declare const logTools: Tool[];
|
|
6
|
+
//# sourceMappingURL=log-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-tools.d.ts","sourceRoot":"","sources":["../../src/tools/log-tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAqB/D,eAAO,MAAM,iBAAiB,EAAE,IA2B/B,CAAC;AAaF,eAAO,MAAM,mBAAmB,EAAE,IAQjC,CAAC;AAmBF,eAAO,MAAM,mBAAmB,EAAE,IAgBjC,CAAC;AAKF,eAAO,MAAM,QAAQ,EAAE,IAAI,EAI1B,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export const getOutputLogsTool = {
|
|
2
|
+
name: 'get_output_logs',
|
|
3
|
+
description: 'Get logs from the Roblox Studio Output window. Filter by log type (error, warning, info, all) and limit results. Useful for debugging scripts and monitoring runtime behavior.',
|
|
4
|
+
inputSchema: {
|
|
5
|
+
type: 'object',
|
|
6
|
+
properties: {
|
|
7
|
+
type: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
enum: ['all', 'error', 'warning', 'info'],
|
|
10
|
+
description: 'Type of logs to retrieve. "all" returns all logs, "error" returns only errors, "warning" returns warnings, "info" returns info messages. Default: "all"',
|
|
11
|
+
},
|
|
12
|
+
limit: {
|
|
13
|
+
type: 'number',
|
|
14
|
+
description: 'Maximum number of log entries to return. Default: 100. Maximum: 500. Use lower values for faster responses.',
|
|
15
|
+
minimum: 1,
|
|
16
|
+
maximum: 500,
|
|
17
|
+
},
|
|
18
|
+
since: {
|
|
19
|
+
type: 'number',
|
|
20
|
+
description: 'Unix timestamp in milliseconds. Only logs after this time will be returned. Useful for incremental log polling.',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
export const clearOutputLogsTool = {
|
|
26
|
+
name: 'clear_output_logs',
|
|
27
|
+
description: 'Clear the internal log buffer maintained by the Roblox plugin. This resets the log history for get_output_logs queries. Does not affect the actual Studio Output window.',
|
|
28
|
+
inputSchema: {
|
|
29
|
+
type: 'object',
|
|
30
|
+
properties: {},
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
export const getRecentErrorsTool = {
|
|
34
|
+
name: 'get_recent_errors',
|
|
35
|
+
description: 'Quick access to recent error logs only. Optimized for debugging workflows. Returns errors with timestamps, messages, and script locations.',
|
|
36
|
+
inputSchema: {
|
|
37
|
+
type: 'object',
|
|
38
|
+
properties: {
|
|
39
|
+
limit: {
|
|
40
|
+
type: 'number',
|
|
41
|
+
description: 'Maximum number of error entries to return. Default: 20. Maximum: 100.',
|
|
42
|
+
minimum: 1,
|
|
43
|
+
maximum: 100,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
export const logTools = [
|
|
49
|
+
getOutputLogsTool,
|
|
50
|
+
clearOutputLogsTool,
|
|
51
|
+
getRecentErrorsTool,
|
|
52
|
+
];
|
|
53
|
+
//# sourceMappingURL=log-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-tools.js","sourceRoot":"","sources":["../../src/tools/log-tools.ts"],"names":[],"mappings":"AA4BA,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,gLAAgL;IAClL,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;gBACzC,WAAW,EACT,yJAAyJ;aAC5J;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,6GAA6G;gBAC/G,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;aACb;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,iHAAiH;aACpH;SACF;KACF;CACF,CAAC;AAaF,MAAM,CAAC,MAAM,mBAAmB,GAAS;IACvC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,0KAA0K;IAC5K,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;CACF,CAAC;AAmBF,MAAM,CAAC,MAAM,mBAAmB,GAAS;IACvC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,4IAA4I;IAC9I,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,uEAAuE;gBACzE,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;aACb;SACF;KACF;CACF,CAAC;AAKF,MAAM,CAAC,MAAM,QAAQ,GAAW;IAC9B,iBAAiB;IACjB,mBAAmB;IACnB,mBAAmB;CACpB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
export declare const getPropertyTool: Tool;
|
|
3
|
+
export declare const setPropertyTool: Tool;
|
|
4
|
+
export declare const getAllPropertiesTool: Tool;
|
|
5
|
+
export declare const setMultiplePropertiesTool: Tool;
|
|
6
|
+
export declare const getAttributeTool: Tool;
|
|
7
|
+
export declare const setAttributeTool: Tool;
|
|
8
|
+
export declare const getAllAttributesTool: Tool;
|
|
9
|
+
export declare const deleteAttributeTool: Tool;
|
|
10
|
+
export declare const setCalculatedPropertyTool: Tool;
|
|
11
|
+
export declare const setRelativePropertyTool: Tool;
|
|
12
|
+
export declare const propertyTools: Tool[];
|
|
13
|
+
//# sourceMappingURL=property-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-tools.d.ts","sourceRoot":"","sources":["../../src/tools/property-tools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAK/D,eAAO,MAAM,eAAe,EAAE,IAoB7B,CAAC;AAKF,eAAO,MAAM,eAAe,EAAE,IAwB7B,CAAC;AAKF,eAAO,MAAM,oBAAoB,EAAE,IAoBlC,CAAC;AAKF,eAAO,MAAM,yBAAyB,EAAE,IAqBvC,CAAC;AAKF,eAAO,MAAM,gBAAgB,EAAE,IAoB9B,CAAC;AAKF,eAAO,MAAM,gBAAgB,EAAE,IAwB9B,CAAC;AAKF,eAAO,MAAM,oBAAoB,EAAE,IAelC,CAAC;AAKF,eAAO,MAAM,mBAAmB,EAAE,IAoBjC,CAAC;AAKF,eAAO,MAAM,yBAAyB,EAAE,IA+BvC,CAAC;AAKF,eAAO,MAAM,uBAAuB,EAAE,IA8BrC,CAAC;AAKF,eAAO,MAAM,aAAa,EAAE,IAAI,EAW/B,CAAC"}
|