@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,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hope1026-roblox-mcp",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "hope1026",
|
|
5
|
+
"email": "hope841026@gmail.com"
|
|
6
|
+
},
|
|
7
|
+
"metadata": {
|
|
8
|
+
"description": "Roblox MCP server and tools for AI-powered game development",
|
|
9
|
+
"version": "0.1.0",
|
|
10
|
+
"pluginRoot": "./plugins"
|
|
11
|
+
},
|
|
12
|
+
"plugins": [
|
|
13
|
+
{
|
|
14
|
+
"name": "weppy-roblox-mcp",
|
|
15
|
+
"source": "./weppy-roblox-mcp",
|
|
16
|
+
"description": "MCP server for Roblox Studio integration - 118 tools for AI-powered game development with specialized agents and skills",
|
|
17
|
+
"version": "0.1.0",
|
|
18
|
+
"author": {
|
|
19
|
+
"name": "hope1026"
|
|
20
|
+
},
|
|
21
|
+
"homepage": "https://github.com/hope1026/roblox-mcp",
|
|
22
|
+
"repository": "https://github.com/hope1026/roblox-mcp",
|
|
23
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
24
|
+
"keywords": [
|
|
25
|
+
"mcp",
|
|
26
|
+
"roblox",
|
|
27
|
+
"roblox-studio",
|
|
28
|
+
"game-development",
|
|
29
|
+
"ai",
|
|
30
|
+
"claude",
|
|
31
|
+
"codex",
|
|
32
|
+
"gemini",
|
|
33
|
+
"cursor"
|
|
34
|
+
],
|
|
35
|
+
"category": "game-development",
|
|
36
|
+
"tags": ["roblox", "mcp", "game-dev", "ai-tools"]
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [0.1.0] - 2025-01-31
|
|
6
|
+
|
|
7
|
+
### Initial Release
|
|
8
|
+
|
|
9
|
+
First public release of Roblox MCP - AI-powered Roblox Studio integration.
|
|
10
|
+
|
|
11
|
+
#### 140 Tools Available
|
|
12
|
+
|
|
13
|
+
**Free (68 tools)**
|
|
14
|
+
- Create, delete, clone, and move parts and models
|
|
15
|
+
- Write and edit scripts with AI assistance
|
|
16
|
+
- Change properties like color, size, and position
|
|
17
|
+
- Work with selected items in Studio
|
|
18
|
+
- Add and manage tags for organization
|
|
19
|
+
- Control camera view and focus
|
|
20
|
+
- View output logs and debug errors
|
|
21
|
+
|
|
22
|
+
**Pro (72 tools)**
|
|
23
|
+
- Bulk operations - create or modify hundreds of objects at once
|
|
24
|
+
- Search and insert models from Creator Store
|
|
25
|
+
- Environment controls - lighting, weather, time of day
|
|
26
|
+
- Terrain generation and modification
|
|
27
|
+
- Find spawn positions and empty spaces with raycasting
|
|
28
|
+
- Visual debugging with area markers and highlights
|
|
29
|
+
|
|
30
|
+
#### Highlights
|
|
31
|
+
|
|
32
|
+
- **Real-time Studio control** - AI commands execute instantly in Roblox Studio
|
|
33
|
+
- **Works with popular AI apps** - Claude, Cursor, Codex CLI, Gemini CLI, and more
|
|
34
|
+
- **Secure by design** - Localhost only, no external network access
|
|
35
|
+
- **Free tier included** - 68 essential tools free forever
|
|
36
|
+
|
|
37
|
+
[0.1.0]: https://github.com/hope1026/roblox-mcp/releases/tag/v0.1.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
Weppy Roblox MCP License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 hope1026
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to use
|
|
7
|
+
the Software for personal, educational, and commercial purposes, including
|
|
8
|
+
the right to:
|
|
9
|
+
|
|
10
|
+
- Use the Software to develop games, applications, or other projects
|
|
11
|
+
- Distribute games or applications created using the Software
|
|
12
|
+
- Modify the Software for personal use
|
|
13
|
+
|
|
14
|
+
The following restrictions apply:
|
|
15
|
+
|
|
16
|
+
1. RESALE PROHIBITION: You may not sell, resell, license, sublicense, or
|
|
17
|
+
distribute the Software itself, whether in original or modified form,
|
|
18
|
+
as a standalone product or as part of a competing product/service.
|
|
19
|
+
|
|
20
|
+
2. REDISTRIBUTION: You may not redistribute the source code or compiled
|
|
21
|
+
binaries of the Software except as part of a larger work that adds
|
|
22
|
+
substantial value beyond the Software itself.
|
|
23
|
+
|
|
24
|
+
3. COMPETING SERVICES: You may not use the Software to create a product
|
|
25
|
+
or service that directly competes with the Software or offers similar
|
|
26
|
+
functionality as a primary feature.
|
|
27
|
+
|
|
28
|
+
4. ATTRIBUTION: You must retain this license notice in all copies or
|
|
29
|
+
substantial portions of the Software.
|
|
30
|
+
|
|
31
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
32
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
33
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
34
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
35
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
36
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
37
|
+
SOFTWARE.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
Summary (not legally binding):
|
|
42
|
+
|
|
43
|
+
✅ ALLOWED:
|
|
44
|
+
- Use for game development (personal or commercial)
|
|
45
|
+
- Use in commercial games/apps
|
|
46
|
+
- Modify for your own projects
|
|
47
|
+
- Learn from the code
|
|
48
|
+
|
|
49
|
+
❌ NOT ALLOWED:
|
|
50
|
+
- Sell or resell the Software itself
|
|
51
|
+
- Create competing MCP servers using this code
|
|
52
|
+
- Redistribute as a standalone product
|
|
53
|
+
- Remove license/attribution
|
package/README.md
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# Roblox MCP
|
|
2
|
+
|
|
3
|
+
> Control Roblox Studio with AI. 140 tools to make game development easier.
|
|
4
|
+
|
|
5
|
+
## What can you do?
|
|
6
|
+
|
|
7
|
+
Tell AI what you want, and it executes directly in Roblox Studio:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
"Create a red brick" → Part creation
|
|
11
|
+
"Change all parts to neon" → Bulk modification
|
|
12
|
+
"Script that increases jump power on touch" → Auto-generate scripts
|
|
13
|
+
"Make it night and add stars" → Environment settings
|
|
14
|
+
"Create mountain terrain" → Terrain generation
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
### Step 1: Install Roblox Plugin
|
|
20
|
+
|
|
21
|
+
Search for **"W-MCP"** in the **Roblox Creator Store** and install.
|
|
22
|
+
|
|
23
|
+
Or download directly:
|
|
24
|
+
- [Install from Creator Store](https://create.roblox.com/store/asset/YOUR_ASSET_ID)
|
|
25
|
+
|
|
26
|
+
### Step 2: Configure MCP Server
|
|
27
|
+
|
|
28
|
+
Choose your AI app:
|
|
29
|
+
|
|
30
|
+
| AI App | Installation Guide |
|
|
31
|
+
|--------|-------------------|
|
|
32
|
+
| Claude Desktop | [Setup Guide](docs/en/installation/claude-desktop.md) |
|
|
33
|
+
| Claude Code | [Setup Guide](docs/en/installation/claude-code.md) |
|
|
34
|
+
| Cursor | [Setup Guide](docs/en/installation/cursor.md) |
|
|
35
|
+
| Codex CLI | [Setup Guide](docs/en/installation/codex-cli.md) |
|
|
36
|
+
| Gemini CLI | [Setup Guide](docs/en/installation/gemini-cli.md) |
|
|
37
|
+
| Other MCP Apps | [Setup Guide](docs/en/installation/other-clients.md) |
|
|
38
|
+
|
|
39
|
+
### Step 3: Connect
|
|
40
|
+
|
|
41
|
+
1. Launch Roblox Studio
|
|
42
|
+
2. Go to Plugins tab → Click **W-MCP**
|
|
43
|
+
3. Click **Connect** button
|
|
44
|
+
4. Confirm "Connected" status
|
|
45
|
+
5. Start developing with AI!
|
|
46
|
+
|
|
47
|
+
## 140 Tools
|
|
48
|
+
|
|
49
|
+
### Free Tools (68)
|
|
50
|
+
|
|
51
|
+
| Category | What you can do | Example Prompt |
|
|
52
|
+
|----------|-----------------|----------------|
|
|
53
|
+
| **Instance** | Create/delete/clone parts, models | "Create a red sphere" |
|
|
54
|
+
| **Script** | Write/edit/search code | "Script that disappears on touch" |
|
|
55
|
+
| **Property** | Change color, size, position | "Double this part's size" |
|
|
56
|
+
| **Selection** | Control selected items in Studio | "Duplicate selected items" |
|
|
57
|
+
| **Tag** | Manage CollectionService tags | "Add 'Enemy' tag to this part" |
|
|
58
|
+
| **Camera** | Move view, focus | "Move camera to this model" |
|
|
59
|
+
| **Log** | Check errors, debugging | "Show recent errors" |
|
|
60
|
+
|
|
61
|
+
### Pro Tools (72)
|
|
62
|
+
|
|
63
|
+
| Category | What you can do | Example Prompt |
|
|
64
|
+
|----------|-----------------|----------------|
|
|
65
|
+
| **Bulk Ops** | Create/modify hundreds at once | "Plant 100 trees" |
|
|
66
|
+
| **Asset** | Search/insert models | "Find and insert a free car model" |
|
|
67
|
+
| **Environment** | Lighting, weather, time | "Make it night and add fog" |
|
|
68
|
+
| **Terrain** | Create/modify Terrain | "Create mountain terrain" |
|
|
69
|
+
| **Raycast** | Collision detection, find positions | "Find 5 player spawn positions" |
|
|
70
|
+
| **Visualization** | Show areas, create markers | "Highlight this area in red" |
|
|
71
|
+
|
|
72
|
+
## Free vs Pro
|
|
73
|
+
|
|
74
|
+
| Feature | Free | Pro |
|
|
75
|
+
|---------|:----:|:---:|
|
|
76
|
+
| Basic Tools (68) | ✅ | ✅ |
|
|
77
|
+
| Pro Tools (72) | Daily quota | ✅ Unlimited |
|
|
78
|
+
| Bulk Operations | 10 limit | Unlimited |
|
|
79
|
+
| Asset Search/Insert | 5/day | Unlimited |
|
|
80
|
+
| Terrain Generation | 3/day | Unlimited |
|
|
81
|
+
|
|
82
|
+
## Example Prompts
|
|
83
|
+
|
|
84
|
+
### Beginner
|
|
85
|
+
```
|
|
86
|
+
"Create a red part at position (0, 5, 0)"
|
|
87
|
+
"Rename this part to 'Floor'"
|
|
88
|
+
"Delete selected parts"
|
|
89
|
+
"What's currently selected?"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Intermediate
|
|
93
|
+
```
|
|
94
|
+
"Add a script that changes color on touch"
|
|
95
|
+
"Find all parts with 'Platform' tag"
|
|
96
|
+
"Duplicate this model 5 times in a row"
|
|
97
|
+
"Change lighting to evening mood"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Advanced
|
|
101
|
+
```
|
|
102
|
+
"Create 100 tiles in a 10x10 grid"
|
|
103
|
+
"Find empty spaces in Workspace and suggest NPC spawn positions"
|
|
104
|
+
"Replace all 'player' with 'character' in this script"
|
|
105
|
+
"Generate mountain terrain and place 50 trees"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Troubleshooting
|
|
109
|
+
|
|
110
|
+
### "Not Connected" displayed
|
|
111
|
+
|
|
112
|
+
1. Check if MCP server is running in your AI app
|
|
113
|
+
2. Allow port 3002 in firewall
|
|
114
|
+
3. Restart Studio plugin (Plugins → W-MCP → Reconnect)
|
|
115
|
+
|
|
116
|
+
### AI doesn't see changes
|
|
117
|
+
|
|
118
|
+
1. Ask AI to "sync current state"
|
|
119
|
+
2. Request `sync_workspace_state` tool usage
|
|
120
|
+
|
|
121
|
+
### Commands not executing
|
|
122
|
+
|
|
123
|
+
1. Verify plugin shows "Connected" status in Studio
|
|
124
|
+
2. Break complex commands into smaller steps
|
|
125
|
+
|
|
126
|
+
## Security
|
|
127
|
+
|
|
128
|
+
- Server runs on **localhost only** (127.0.0.1:3002)
|
|
129
|
+
- No external network access
|
|
130
|
+
- Protected paths blocked (CoreGui, CorePackages, etc.)
|
|
131
|
+
- 450 requests per minute limit
|
|
132
|
+
|
|
133
|
+
## Supported AI Apps
|
|
134
|
+
|
|
135
|
+
| App | Supported | Localhost |
|
|
136
|
+
|-----|:---------:|:---------:|
|
|
137
|
+
| Claude Desktop | ✅ | ✅ |
|
|
138
|
+
| Claude Code | ✅ | ✅ |
|
|
139
|
+
| Cursor | ✅ | ✅ |
|
|
140
|
+
| Codex CLI | ✅ | ✅ |
|
|
141
|
+
| Gemini CLI | ✅ | ✅ |
|
|
142
|
+
| Windsurf | ✅ | ✅ |
|
|
143
|
+
| Continue | ✅ | ✅ |
|
|
144
|
+
| Cline | ✅ | ✅ |
|
|
145
|
+
| ChatGPT Desktop | ✅ | ❌ (ngrok required) |
|
|
146
|
+
|
|
147
|
+
## Links
|
|
148
|
+
|
|
149
|
+
- [GitHub](https://github.com/hope1026/roblox-mcp)
|
|
150
|
+
- [Issue Report](https://github.com/hope1026/roblox-mcp/issues)
|
|
151
|
+
- [Creator Store](https://create.roblox.com/store/asset/YOUR_ASSET_ID)
|
|
152
|
+
|
|
153
|
+
## License
|
|
154
|
+
|
|
155
|
+
Free to use for game development.
|
|
156
|
+
|
|
157
|
+
✅ **Allowed**: Game development, commercial games, personal projects
|
|
158
|
+
❌ **Not Allowed**: Software resale, creating competing products
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
Made for the Roblox community ❤️
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { ServerConfig, Result, ConnectionStatus } from './types/index.js';
|
|
2
|
+
export declare class HTTPBridge {
|
|
3
|
+
private app;
|
|
4
|
+
private server;
|
|
5
|
+
private config;
|
|
6
|
+
private commandQueue;
|
|
7
|
+
private pendingCommands;
|
|
8
|
+
private globalPendingCommands;
|
|
9
|
+
private sseClients;
|
|
10
|
+
private startTime;
|
|
11
|
+
private requestCounts;
|
|
12
|
+
private cachedSelection;
|
|
13
|
+
private isClientMode;
|
|
14
|
+
private baseUrl;
|
|
15
|
+
private instanceId;
|
|
16
|
+
private sessionId;
|
|
17
|
+
private pluginClients;
|
|
18
|
+
private mcpInstances;
|
|
19
|
+
private totalCommandsProcessed;
|
|
20
|
+
constructor(config: ServerConfig);
|
|
21
|
+
private generateSessionId;
|
|
22
|
+
getSessionId(): string;
|
|
23
|
+
private setupMiddleware;
|
|
24
|
+
private checkRateLimit;
|
|
25
|
+
private setupRoutes;
|
|
26
|
+
private handleSSEConnection;
|
|
27
|
+
private sendSSEEvent;
|
|
28
|
+
private handleCommandsPoll;
|
|
29
|
+
private broadcastCommand;
|
|
30
|
+
private handleResult;
|
|
31
|
+
private handleSelectionUpdate;
|
|
32
|
+
private handleRegisterPlugin;
|
|
33
|
+
private handleRegisterMCP;
|
|
34
|
+
private handleConnectionInfo;
|
|
35
|
+
private handleUnregisterPlugin;
|
|
36
|
+
private handleUnregisterMCP;
|
|
37
|
+
private handleExecute;
|
|
38
|
+
private executeCommandLocally;
|
|
39
|
+
private handleCachedSelectionRequest;
|
|
40
|
+
private getActivePollingClients;
|
|
41
|
+
private handleStatus;
|
|
42
|
+
private getLogsDirectory;
|
|
43
|
+
private handleLogs;
|
|
44
|
+
private handleQuotaStatus;
|
|
45
|
+
private handleShutdown;
|
|
46
|
+
getCachedSelection(maxAge?: number): {
|
|
47
|
+
selection: Array<{
|
|
48
|
+
name: string;
|
|
49
|
+
className: string;
|
|
50
|
+
path: string;
|
|
51
|
+
}>;
|
|
52
|
+
count: number;
|
|
53
|
+
timestamp: number;
|
|
54
|
+
} | null;
|
|
55
|
+
getConnectionInfo(): Promise<ConnectionStatus>;
|
|
56
|
+
private executeCommandViaHttp;
|
|
57
|
+
executeCommand(action: string, params: Record<string, unknown>): Promise<Result>;
|
|
58
|
+
private checkExistingServer;
|
|
59
|
+
private registerWithServer;
|
|
60
|
+
start(): Promise<void>;
|
|
61
|
+
stop(): Promise<void>;
|
|
62
|
+
getIsClientMode(): boolean;
|
|
63
|
+
}
|
|
64
|
+
export default HTTPBridge;
|
|
65
|
+
//# sourceMappingURL=http-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-bridge.d.ts","sourceRoot":"","sources":["../src/http-bridge.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACV,YAAY,EAEZ,MAAM,EAKN,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAI1B,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,qBAAqB,CAAsB;IAEnD,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,eAAe,CAKP;IAGhB,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,SAAS,CAAc;IAG/B,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,sBAAsB,CAAa;gBAE/B,MAAM,EAAE,YAAY;IAgBhC,OAAO,CAAC,iBAAiB;IAQlB,YAAY,IAAI,MAAM;IAO7B,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,WAAW;IAuDnB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,YAAY;IAgDpB,OAAO,CAAC,qBAAqB;IAiD7B,OAAO,CAAC,oBAAoB;IA0D5B,OAAO,CAAC,iBAAiB;IA4CzB,OAAO,CAAC,oBAAoB;IA4C5B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,mBAAmB;YAoBb,aAAa;YAkCb,qBAAqB;IAkDnC,OAAO,CAAC,4BAA4B;IAoBpC,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,YAAY;IAoCpB,OAAO,CAAC,gBAAgB;YAQV,UAAU;IAqFxB,OAAO,CAAC,iBAAiB;IAqDzB,OAAO,CAAC,cAAc;IA0Cf,kBAAkB,CAAC,MAAM,GAAE,MAAc,GAAG;QACjD,SAAS,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpE,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAkBK,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAoD7C,qBAAqB;IA8CtB,cAAc,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC;YAwDJ,mBAAmB;YA+BnB,kBAAkB;IAoCnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6EtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C3B,eAAe,IAAI,OAAO;CAGlC;AAED,eAAe,UAAU,CAAC"}
|