unreal-engine-mcp-server 0.5.4 → 0.5.6
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/CHANGELOG.md +350 -0
- package/dist/automation/bridge.d.ts.map +1 -0
- package/dist/automation/bridge.js +5 -4
- package/dist/automation/bridge.js.map +1 -0
- package/dist/automation/connection-manager.d.ts.map +1 -0
- package/dist/automation/connection-manager.js.map +1 -0
- package/dist/automation/handshake.d.ts.map +1 -0
- package/dist/automation/handshake.js.map +1 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/automation/message-handler.d.ts.map +1 -0
- package/dist/automation/message-handler.js.map +1 -0
- package/dist/automation/request-tracker.d.ts.map +1 -0
- package/dist/automation/request-tracker.js.map +1 -0
- package/dist/automation/types.d.ts +7 -0
- package/dist/automation/types.d.ts.map +1 -0
- package/dist/automation/types.js.map +1 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +6 -4
- package/dist/cli.js.map +1 -0
- package/dist/config/class-aliases.d.ts.map +1 -0
- package/dist/config/class-aliases.js.map +1 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js.map +1 -0
- package/dist/graphql/loaders.d.ts.map +1 -0
- package/dist/graphql/loaders.js.map +1 -0
- package/dist/graphql/resolvers.d.ts +174 -69
- package/dist/graphql/resolvers.d.ts.map +1 -0
- package/dist/graphql/resolvers.js +82 -67
- package/dist/graphql/resolvers.js.map +1 -0
- package/dist/graphql/schema.d.ts.map +1 -0
- package/dist/graphql/schema.js.map +1 -0
- package/dist/graphql/server.d.ts.map +1 -0
- package/dist/graphql/server.js.map +1 -0
- package/dist/graphql/types.d.ts.map +1 -0
- package/dist/graphql/types.js.map +1 -0
- package/dist/handlers/resource-handlers.d.ts.map +1 -0
- package/dist/handlers/resource-handlers.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +70 -9
- package/dist/index.js.map +1 -0
- package/dist/resources/actors.d.ts +7 -4
- package/dist/resources/actors.d.ts.map +1 -0
- package/dist/resources/actors.js +15 -12
- package/dist/resources/actors.js.map +1 -0
- package/dist/resources/assets.d.ts +43 -2
- package/dist/resources/assets.d.ts.map +1 -0
- package/dist/resources/assets.js +21 -12
- package/dist/resources/assets.js.map +1 -0
- package/dist/resources/levels.d.ts.map +1 -0
- package/dist/resources/levels.js +7 -5
- package/dist/resources/levels.js.map +1 -0
- package/dist/schemas/index.d.ts +4 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +4 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/parser.d.ts +20 -0
- package/dist/schemas/parser.d.ts.map +1 -0
- package/dist/schemas/parser.js +61 -0
- package/dist/schemas/parser.js.map +1 -0
- package/dist/schemas/primitives.d.ts +221 -0
- package/dist/schemas/primitives.d.ts.map +1 -0
- package/dist/schemas/primitives.js +115 -0
- package/dist/schemas/primitives.js.map +1 -0
- package/dist/schemas/responses.d.ts +362 -0
- package/dist/schemas/responses.d.ts.map +1 -0
- package/dist/schemas/responses.js +252 -0
- package/dist/schemas/responses.js.map +1 -0
- package/dist/server/resource-registry.d.ts.map +1 -0
- package/dist/server/resource-registry.js.map +1 -0
- package/dist/server/tool-registry.d.ts.map +1 -0
- package/dist/server/tool-registry.js +22 -17
- package/dist/server/tool-registry.js.map +1 -0
- package/dist/server-setup.d.ts.map +1 -0
- package/dist/server-setup.js.map +1 -0
- package/dist/services/health-monitor.d.ts +1 -1
- package/dist/services/health-monitor.d.ts.map +1 -0
- package/dist/services/health-monitor.js +4 -3
- package/dist/services/health-monitor.js.map +1 -0
- package/dist/services/metrics-server.d.ts.map +1 -0
- package/dist/services/metrics-server.js.map +1 -0
- package/dist/tools/actors.d.ts +27 -27
- package/dist/tools/actors.d.ts.map +1 -0
- package/dist/tools/actors.js +14 -10
- package/dist/tools/actors.js.map +1 -0
- package/dist/tools/animation.d.ts +15 -23
- package/dist/tools/animation.d.ts.map +1 -0
- package/dist/tools/animation.js +17 -13
- package/dist/tools/animation.js.map +1 -0
- package/dist/tools/assets.d.ts.map +1 -0
- package/dist/tools/assets.js +18 -12
- package/dist/tools/assets.js.map +1 -0
- package/dist/tools/audio.d.ts +10 -10
- package/dist/tools/audio.d.ts.map +1 -0
- package/dist/tools/audio.js.map +1 -0
- package/dist/tools/base-tool.d.ts.map +1 -0
- package/dist/tools/base-tool.js.map +1 -0
- package/dist/tools/behavior-tree.d.ts +24 -24
- package/dist/tools/behavior-tree.d.ts.map +1 -0
- package/dist/tools/behavior-tree.js.map +1 -0
- package/dist/tools/blueprint.d.ts +14 -3
- package/dist/tools/blueprint.d.ts.map +1 -0
- package/dist/tools/blueprint.js +5 -3
- package/dist/tools/blueprint.js.map +1 -0
- package/dist/tools/consolidated-tool-definitions.d.ts +32 -32
- package/dist/tools/consolidated-tool-definitions.d.ts.map +1 -0
- package/dist/tools/consolidated-tool-definitions.js.map +1 -0
- package/dist/tools/consolidated-tool-handlers.d.ts +1 -1
- package/dist/tools/consolidated-tool-handlers.d.ts.map +1 -0
- package/dist/tools/consolidated-tool-handlers.js +26 -21
- package/dist/tools/consolidated-tool-handlers.js.map +1 -0
- package/dist/tools/debug.d.ts +25 -7
- package/dist/tools/debug.d.ts.map +1 -0
- package/dist/tools/debug.js +3 -1
- package/dist/tools/debug.js.map +1 -0
- package/dist/tools/dynamic-handler-registry.d.ts +1 -1
- package/dist/tools/dynamic-handler-registry.d.ts.map +1 -0
- package/dist/tools/dynamic-handler-registry.js +3 -1
- package/dist/tools/dynamic-handler-registry.js.map +1 -0
- package/dist/tools/editor.d.ts.map +1 -0
- package/dist/tools/editor.js +8 -6
- package/dist/tools/editor.js.map +1 -0
- package/dist/tools/engine.d.ts +1 -1
- package/dist/tools/engine.d.ts.map +1 -0
- package/dist/tools/engine.js +4 -2
- package/dist/tools/engine.js.map +1 -0
- package/dist/tools/environment.d.ts.map +1 -0
- package/dist/tools/environment.js +4 -3
- package/dist/tools/environment.js.map +1 -0
- package/dist/tools/foliage.d.ts.map +1 -0
- package/dist/tools/foliage.js +8 -8
- package/dist/tools/foliage.js.map +1 -0
- package/dist/tools/handlers/actor-handlers.d.ts +2 -1
- package/dist/tools/handlers/actor-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/actor-handlers.js +56 -33
- package/dist/tools/handlers/actor-handlers.js.map +1 -0
- package/dist/tools/handlers/animation-handlers.d.ts +2 -1
- package/dist/tools/handlers/animation-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/animation-handlers.js +74 -67
- package/dist/tools/handlers/animation-handlers.js.map +1 -0
- package/dist/tools/handlers/argument-helper.d.ts +24 -4
- package/dist/tools/handlers/argument-helper.d.ts.map +1 -0
- package/dist/tools/handlers/argument-helper.js +139 -4
- package/dist/tools/handlers/argument-helper.js.map +1 -0
- package/dist/tools/handlers/asset-handlers.d.ts +2 -1
- package/dist/tools/handlers/asset-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/asset-handlers.js +155 -94
- package/dist/tools/handlers/asset-handlers.js.map +1 -0
- package/dist/tools/handlers/audio-handlers.d.ts +2 -1
- package/dist/tools/handlers/audio-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/audio-handlers.js +82 -80
- package/dist/tools/handlers/audio-handlers.js.map +1 -0
- package/dist/tools/handlers/blueprint-handlers.d.ts +3 -5
- package/dist/tools/handlers/blueprint-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/blueprint-handlers.js +150 -142
- package/dist/tools/handlers/blueprint-handlers.js.map +1 -0
- package/dist/tools/handlers/common-handlers.d.ts +2 -3
- package/dist/tools/handlers/common-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/common-handlers.js.map +1 -0
- package/dist/tools/handlers/editor-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/editor-handlers.js +12 -2
- package/dist/tools/handlers/editor-handlers.js.map +1 -0
- package/dist/tools/handlers/effect-handlers.d.ts +2 -1
- package/dist/tools/handlers/effect-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/effect-handlers.js +70 -68
- package/dist/tools/handlers/effect-handlers.js.map +1 -0
- package/dist/tools/handlers/environment-handlers.d.ts +2 -1
- package/dist/tools/handlers/environment-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/environment-handlers.js +86 -74
- package/dist/tools/handlers/environment-handlers.js.map +1 -0
- package/dist/tools/handlers/graph-handlers.d.ts +1 -1
- package/dist/tools/handlers/graph-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/graph-handlers.js +63 -2
- package/dist/tools/handlers/graph-handlers.js.map +1 -0
- package/dist/tools/handlers/input-handlers.d.ts +2 -5
- package/dist/tools/handlers/input-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/input-handlers.js +5 -4
- package/dist/tools/handlers/input-handlers.js.map +1 -0
- package/dist/tools/handlers/inspect-handlers.d.ts +2 -1
- package/dist/tools/handlers/inspect-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/inspect-handlers.js +61 -37
- package/dist/tools/handlers/inspect-handlers.js.map +1 -0
- package/dist/tools/handlers/level-handlers.d.ts +2 -2
- package/dist/tools/handlers/level-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/level-handlers.js +43 -39
- package/dist/tools/handlers/level-handlers.js.map +1 -0
- package/dist/tools/handlers/lighting-handlers.d.ts +12 -1
- package/dist/tools/handlers/lighting-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/lighting-handlers.js +90 -47
- package/dist/tools/handlers/lighting-handlers.js.map +1 -0
- package/dist/tools/handlers/performance-handlers.d.ts +2 -1
- package/dist/tools/handlers/performance-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/performance-handlers.js +55 -40
- package/dist/tools/handlers/performance-handlers.js.map +1 -0
- package/dist/tools/handlers/pipeline-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/pipeline-handlers.js.map +1 -0
- package/dist/tools/handlers/sequence-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/sequence-handlers.js.map +1 -0
- package/dist/tools/handlers/system-handlers.d.ts +3 -2
- package/dist/tools/handlers/system-handlers.d.ts.map +1 -0
- package/dist/tools/handlers/system-handlers.js +105 -52
- package/dist/tools/handlers/system-handlers.js.map +1 -0
- package/dist/tools/input.d.ts.map +1 -0
- package/dist/tools/input.js +3 -1
- package/dist/tools/input.js.map +1 -0
- package/dist/tools/introspection.d.ts +14 -14
- package/dist/tools/introspection.d.ts.map +1 -0
- package/dist/tools/introspection.js +54 -45
- package/dist/tools/introspection.js.map +1 -0
- package/dist/tools/landscape.d.ts.map +1 -0
- package/dist/tools/landscape.js +15 -13
- package/dist/tools/landscape.js.map +1 -0
- package/dist/tools/level.d.ts.map +1 -0
- package/dist/tools/level.js +3 -2
- package/dist/tools/level.js.map +1 -0
- package/dist/tools/lighting.d.ts +32 -59
- package/dist/tools/lighting.d.ts.map +1 -0
- package/dist/tools/lighting.js +56 -19
- package/dist/tools/lighting.js.map +1 -0
- package/dist/tools/logs.d.ts.map +1 -0
- package/dist/tools/logs.js +2 -1
- package/dist/tools/logs.js.map +1 -0
- package/dist/tools/materials.d.ts +42 -14
- package/dist/tools/materials.d.ts.map +1 -0
- package/dist/tools/materials.js +15 -9
- package/dist/tools/materials.js.map +1 -0
- package/dist/tools/niagara.d.ts +63 -39
- package/dist/tools/niagara.d.ts.map +1 -0
- package/dist/tools/niagara.js +43 -33
- package/dist/tools/niagara.js.map +1 -0
- package/dist/tools/performance.d.ts +12 -11
- package/dist/tools/performance.d.ts.map +1 -0
- package/dist/tools/performance.js +3 -2
- package/dist/tools/performance.js.map +1 -0
- package/dist/tools/physics.d.ts +37 -20
- package/dist/tools/physics.d.ts.map +1 -0
- package/dist/tools/physics.js +37 -30
- package/dist/tools/physics.js.map +1 -0
- package/dist/tools/property-dictionary.d.ts.map +1 -0
- package/dist/tools/property-dictionary.js.map +1 -0
- package/dist/tools/sequence.d.ts +1 -1
- package/dist/tools/sequence.d.ts.map +1 -0
- package/dist/tools/sequence.js +8 -4
- package/dist/tools/sequence.js.map +1 -0
- package/dist/tools/tool-definition-utils.d.ts.map +1 -0
- package/dist/tools/tool-definition-utils.js.map +1 -0
- package/dist/tools/ui.d.ts +11 -11
- package/dist/tools/ui.d.ts.map +1 -0
- package/dist/tools/ui.js +7 -3
- package/dist/tools/ui.js.map +1 -0
- package/dist/types/automation-responses.d.ts.map +1 -0
- package/dist/types/automation-responses.js.map +1 -0
- package/dist/types/env.d.ts.map +1 -0
- package/dist/types/env.js.map +1 -0
- package/dist/types/handler-types.d.ts +112 -3
- package/dist/types/handler-types.d.ts.map +1 -0
- package/dist/types/handler-types.js.map +1 -0
- package/dist/types/tool-interfaces.d.ts +39 -21
- package/dist/types/tool-interfaces.d.ts.map +1 -0
- package/dist/types/tool-interfaces.js.map +1 -0
- package/dist/types/tool-types.d.ts +8 -8
- package/dist/types/tool-types.d.ts.map +1 -0
- package/dist/types/tool-types.js.map +1 -0
- package/dist/unreal-bridge.d.ts +8 -6
- package/dist/unreal-bridge.d.ts.map +1 -0
- package/dist/unreal-bridge.js +16 -3
- package/dist/unreal-bridge.js.map +1 -0
- package/dist/utils/command-validator.d.ts.map +1 -0
- package/dist/utils/command-validator.js.map +1 -0
- package/dist/utils/elicitation.d.ts +2 -5
- package/dist/utils/elicitation.d.ts.map +1 -0
- package/dist/utils/elicitation.js +3 -2
- package/dist/utils/elicitation.js.map +1 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/ini-reader.d.ts +1 -1
- package/dist/utils/ini-reader.d.ts.map +1 -0
- package/dist/utils/ini-reader.js.map +1 -0
- package/dist/utils/logger.d.ts +4 -4
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/normalize.d.ts +2 -2
- package/dist/utils/normalize.d.ts.map +1 -0
- package/dist/utils/normalize.js +4 -3
- package/dist/utils/normalize.js.map +1 -0
- package/dist/utils/path-security.d.ts.map +1 -0
- package/dist/utils/path-security.js.map +1 -0
- package/dist/utils/response-factory.d.ts +2 -2
- package/dist/utils/response-factory.d.ts.map +1 -0
- package/dist/utils/response-factory.js +3 -1
- package/dist/utils/response-factory.js.map +1 -0
- package/dist/utils/response-validator.d.ts +4 -4
- package/dist/utils/response-validator.d.ts.map +1 -0
- package/dist/utils/response-validator.js +31 -23
- package/dist/utils/response-validator.js.map +1 -0
- package/dist/utils/result-helpers.d.ts.map +1 -0
- package/dist/utils/result-helpers.js.map +1 -0
- package/dist/utils/safe-json.d.ts.map +1 -0
- package/dist/utils/safe-json.js.map +1 -0
- package/dist/utils/unreal-command-queue.d.ts +2 -2
- package/dist/utils/unreal-command-queue.d.ts.map +1 -0
- package/dist/utils/unreal-command-queue.js +4 -3
- package/dist/utils/unreal-command-queue.js.map +1 -0
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/wasm/index.d.ts +2 -2
- package/dist/wasm/index.d.ts.map +1 -0
- package/dist/wasm/index.js +11 -7
- package/dist/wasm/index.js.map +1 -0
- package/package.json +12 -34
- package/server.json +2 -2
- package/.dockerignore +0 -57
- package/.env.example +0 -26
- package/.env.production +0 -61
- package/.eslintrc.json +0 -0
- package/.eslintrc.override.json +0 -8
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -94
- package/.github/ISSUE_TEMPLATE/config.yml +0 -8
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -56
- package/.github/copilot-instructions.md +0 -478
- package/.github/dependabot.yml +0 -19
- package/.github/labeler.yml +0 -24
- package/.github/labels.yml +0 -70
- package/.github/pull_request_template.md +0 -42
- package/.github/release-drafter-config.yml +0 -51
- package/.github/workflows/auto-merge.yml +0 -38
- package/.github/workflows/ci.yml +0 -38
- package/.github/workflows/dependency-review.yml +0 -17
- package/.github/workflows/gemini-issue-triage.yml +0 -172
- package/.github/workflows/greetings.yml +0 -27
- package/.github/workflows/labeler.yml +0 -17
- package/.github/workflows/links.yml +0 -80
- package/.github/workflows/pr-size-labeler.yml +0 -137
- package/.github/workflows/publish-mcp.yml +0 -79
- package/.github/workflows/release-drafter.yml +0 -24
- package/.github/workflows/release.yml +0 -112
- package/.github/workflows/semantic-pull-request.yml +0 -35
- package/.github/workflows/smoke-test.yml +0 -36
- package/.github/workflows/stale.yml +0 -28
- package/CONTRIBUTING.md +0 -140
- package/Dockerfile +0 -37
- package/GEMINI.md +0 -115
- package/Public/Plugin_setup_guide.mp4 +0 -0
- package/Public/icon.png +0 -0
- package/claude_desktop_config_example.json +0 -15
- package/dist/types/responses.d.ts +0 -249
- package/dist/types/responses.js +0 -2
- package/docs/GraphQL-API.md +0 -888
- package/docs/Migration-Guide-v0.5.0.md +0 -684
- package/docs/Roadmap.md +0 -53
- package/docs/WebAssembly-Integration.md +0 -628
- package/docs/editor-plugin-extension.md +0 -370
- package/docs/handler-mapping.md +0 -249
- package/docs/native-automation-progress.md +0 -128
- package/docs/testing-guide.md +0 -423
- package/eslint.config.mjs +0 -68
- package/mcp-config-example.json +0 -14
- package/plugins/McpAutomationBridge/Config/FilterPlugin.ini +0 -8
- package/plugins/McpAutomationBridge/McpAutomationBridge.uplugin +0 -64
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/McpAutomationBridge.Build.cs +0 -189
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.cpp +0 -22
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeGlobals.h +0 -30
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeHelpers.h +0 -1983
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeModule.cpp +0 -72
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSettings.cpp +0 -46
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridgeSubsystem.cpp +0 -846
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AnimationHandlers.cpp +0 -2393
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetQueryHandlers.cpp +0 -300
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AssetWorkflowHandlers.cpp +0 -2807
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_AudioHandlers.cpp +0 -1087
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BehaviorTreeHandlers.cpp +0 -488
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.cpp +0 -643
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintCreationHandlers.h +0 -31
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintGraphHandlers.cpp +0 -1094
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers.cpp +0 -5750
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_BlueprintHandlers_List.cpp +0 -152
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ControlHandlers.cpp +0 -2614
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_DebugHandlers.cpp +0 -42
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EditorFunctionHandlers.cpp +0 -1237
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EffectHandlers.cpp +0 -1725
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_EnvironmentHandlers.cpp +0 -2265
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_FoliageHandlers.cpp +0 -954
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InputHandlers.cpp +0 -209
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_InsightsHandlers.cpp +0 -41
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LandscapeHandlers.cpp +0 -1164
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LevelHandlers.cpp +0 -762
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LightingHandlers.cpp +0 -663
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_LogHandlers.cpp +0 -136
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_MaterialGraphHandlers.cpp +0 -494
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraGraphHandlers.cpp +0 -278
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_NiagaraHandlers.cpp +0 -625
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PerformanceHandlers.cpp +0 -401
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PipelineHandlers.cpp +0 -67
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_ProcessRequest.cpp +0 -472
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_PropertyHandlers.cpp +0 -2634
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_RenderHandlers.cpp +0 -189
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.cpp +0 -917
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SCSHandlers.h +0 -39
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequenceHandlers.cpp +0 -2706
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_SequencerHandlers.cpp +0 -519
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_TestHandlers.cpp +0 -38
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_UiHandlers.cpp +0 -668
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpAutomationBridge_WorldPartitionHandlers.cpp +0 -346
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.cpp +0 -1345
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpBridgeWebSocket.h +0 -149
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Private/McpConnectionManager.cpp +0 -782
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSettings.h +0 -115
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpAutomationBridgeSubsystem.h +0 -796
- package/plugins/McpAutomationBridge/Source/McpAutomationBridge/Public/McpConnectionManager.h +0 -117
- package/scripts/check-unreal-connection.mjs +0 -19
- package/scripts/clean-tmp.js +0 -23
- package/scripts/patch-wasm.js +0 -26
- package/scripts/run-all-tests.mjs +0 -136
- package/scripts/smoke-test.ts +0 -94
- package/scripts/sync-mcp-plugin.js +0 -143
- package/scripts/test-no-plugin-alternates.mjs +0 -113
- package/scripts/validate-server.js +0 -46
- package/scripts/verify-automation-bridge.js +0 -200
- package/src/automation/bridge.ts +0 -630
- package/src/automation/connection-manager.ts +0 -148
- package/src/automation/handshake.ts +0 -99
- package/src/automation/index.ts +0 -2
- package/src/automation/message-handler.ts +0 -192
- package/src/automation/request-tracker.ts +0 -155
- package/src/automation/types.ts +0 -108
- package/src/cli.ts +0 -34
- package/src/config/class-aliases.ts +0 -65
- package/src/config.ts +0 -73
- package/src/constants.ts +0 -29
- package/src/graphql/loaders.ts +0 -244
- package/src/graphql/resolvers.ts +0 -1008
- package/src/graphql/schema.ts +0 -452
- package/src/graphql/server.ts +0 -156
- package/src/graphql/types.ts +0 -10
- package/src/handlers/resource-handlers.ts +0 -186
- package/src/index.ts +0 -243
- package/src/resources/actors.ts +0 -127
- package/src/resources/assets.ts +0 -286
- package/src/resources/levels.ts +0 -68
- package/src/server/resource-registry.ts +0 -47
- package/src/server/tool-registry.ts +0 -354
- package/src/server-setup.ts +0 -114
- package/src/services/health-monitor.ts +0 -132
- package/src/services/metrics-server.ts +0 -176
- package/src/tools/actors.ts +0 -564
- package/src/tools/animation.ts +0 -941
- package/src/tools/assets.ts +0 -394
- package/src/tools/audio.ts +0 -499
- package/src/tools/base-tool.ts +0 -52
- package/src/tools/behavior-tree.ts +0 -45
- package/src/tools/blueprint.ts +0 -940
- package/src/tools/consolidated-tool-definitions.ts +0 -1256
- package/src/tools/consolidated-tool-handlers.ts +0 -302
- package/src/tools/debug.ts +0 -622
- package/src/tools/dynamic-handler-registry.ts +0 -33
- package/src/tools/editor.ts +0 -435
- package/src/tools/engine.ts +0 -43
- package/src/tools/environment.ts +0 -281
- package/src/tools/foliage.ts +0 -596
- package/src/tools/handlers/actor-handlers.ts +0 -244
- package/src/tools/handlers/animation-handlers.ts +0 -237
- package/src/tools/handlers/argument-helper.ts +0 -142
- package/src/tools/handlers/asset-handlers.ts +0 -550
- package/src/tools/handlers/audio-handlers.ts +0 -194
- package/src/tools/handlers/blueprint-handlers.ts +0 -380
- package/src/tools/handlers/common-handlers.ts +0 -108
- package/src/tools/handlers/editor-handlers.ts +0 -124
- package/src/tools/handlers/effect-handlers.ts +0 -224
- package/src/tools/handlers/environment-handlers.ts +0 -183
- package/src/tools/handlers/graph-handlers.ts +0 -117
- package/src/tools/handlers/input-handlers.ts +0 -28
- package/src/tools/handlers/inspect-handlers.ts +0 -450
- package/src/tools/handlers/level-handlers.ts +0 -253
- package/src/tools/handlers/lighting-handlers.ts +0 -151
- package/src/tools/handlers/performance-handlers.ts +0 -132
- package/src/tools/handlers/pipeline-handlers.ts +0 -194
- package/src/tools/handlers/sequence-handlers.ts +0 -438
- package/src/tools/handlers/system-handlers.ts +0 -564
- package/src/tools/input.ts +0 -160
- package/src/tools/introspection.ts +0 -689
- package/src/tools/landscape.ts +0 -649
- package/src/tools/level.ts +0 -989
- package/src/tools/lighting.ts +0 -1052
- package/src/tools/logs.ts +0 -219
- package/src/tools/materials.ts +0 -295
- package/src/tools/niagara.ts +0 -485
- package/src/tools/performance.ts +0 -661
- package/src/tools/physics.ts +0 -679
- package/src/tools/property-dictionary.ts +0 -98
- package/src/tools/sequence.ts +0 -385
- package/src/tools/tool-definition-utils.ts +0 -35
- package/src/tools/ui.ts +0 -452
- package/src/types/automation-responses.ts +0 -119
- package/src/types/env.ts +0 -17
- package/src/types/handler-types.ts +0 -442
- package/src/types/responses.ts +0 -355
- package/src/types/tool-interfaces.ts +0 -250
- package/src/types/tool-types.ts +0 -575
- package/src/unreal-bridge.ts +0 -693
- package/src/utils/command-validator.ts +0 -139
- package/src/utils/elicitation.ts +0 -132
- package/src/utils/error-handler.ts +0 -287
- package/src/utils/ini-reader.ts +0 -86
- package/src/utils/logger.ts +0 -35
- package/src/utils/normalize.test.ts +0 -162
- package/src/utils/normalize.ts +0 -146
- package/src/utils/path-security.ts +0 -43
- package/src/utils/response-factory.ts +0 -44
- package/src/utils/response-validator.ts +0 -395
- package/src/utils/result-helpers.ts +0 -195
- package/src/utils/safe-json.test.ts +0 -90
- package/src/utils/safe-json.ts +0 -70
- package/src/utils/unreal-command-queue.ts +0 -166
- package/src/utils/validation.test.ts +0 -184
- package/src/utils/validation.ts +0 -312
- package/src/wasm/index.ts +0 -838
- package/test-server.mjs +0 -100
- package/tests/test-animation.mjs +0 -369
- package/tests/test-asset-advanced.mjs +0 -82
- package/tests/test-asset-graph.mjs +0 -311
- package/tests/test-audio.mjs +0 -417
- package/tests/test-automation-timeouts.mjs +0 -98
- package/tests/test-behavior-tree.mjs +0 -444
- package/tests/test-blueprint-graph.mjs +0 -410
- package/tests/test-blueprint.mjs +0 -577
- package/tests/test-client-mode.mjs +0 -86
- package/tests/test-console-command.mjs +0 -56
- package/tests/test-control-actor.mjs +0 -425
- package/tests/test-control-editor.mjs +0 -112
- package/tests/test-graphql.mjs +0 -372
- package/tests/test-input.mjs +0 -349
- package/tests/test-inspect.mjs +0 -302
- package/tests/test-landscape.mjs +0 -316
- package/tests/test-lighting.mjs +0 -428
- package/tests/test-manage-asset.mjs +0 -438
- package/tests/test-manage-level.mjs +0 -89
- package/tests/test-materials.mjs +0 -356
- package/tests/test-niagara.mjs +0 -185
- package/tests/test-no-inline-python.mjs +0 -122
- package/tests/test-performance.mjs +0 -539
- package/tests/test-plugin-handshake.mjs +0 -82
- package/tests/test-runner.mjs +0 -993
- package/tests/test-sequence.mjs +0 -104
- package/tests/test-system.mjs +0 -96
- package/tests/test-wasm.mjs +0 -283
- package/tests/test-world-partition.mjs +0 -215
- package/tsconfig.json +0 -56
- package/vitest.config.ts +0 -35
- package/wasm/Cargo.lock +0 -363
- package/wasm/Cargo.toml +0 -42
- package/wasm/LICENSE +0 -21
- package/wasm/README.md +0 -253
- package/wasm/src/dependency_resolver.rs +0 -377
- package/wasm/src/lib.rs +0 -153
- package/wasm/src/property_parser.rs +0 -271
- package/wasm/src/transform_math.rs +0 -396
- package/wasm/tests/integration.rs +0 -109
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
name: Create GitHub Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags:
|
|
6
|
-
- 'v*.*.*'
|
|
7
|
-
|
|
8
|
-
permissions:
|
|
9
|
-
contents: write
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
release:
|
|
13
|
-
name: Create Release
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
|
|
16
|
-
steps:
|
|
17
|
-
- name: Checkout code
|
|
18
|
-
uses: actions/checkout@v6 # v4
|
|
19
|
-
with:
|
|
20
|
-
fetch-depth: 0
|
|
21
|
-
|
|
22
|
-
- name: Setup Node.js
|
|
23
|
-
uses: actions/setup-node@v6 # v4
|
|
24
|
-
with:
|
|
25
|
-
node-version: '20'
|
|
26
|
-
cache: 'npm'
|
|
27
|
-
|
|
28
|
-
- name: Install dependencies
|
|
29
|
-
run: npm ci
|
|
30
|
-
|
|
31
|
-
- name: Build package
|
|
32
|
-
run: npm run build
|
|
33
|
-
|
|
34
|
-
- name: Extract version from tag
|
|
35
|
-
id: version
|
|
36
|
-
run: |
|
|
37
|
-
VERSION=${GITHUB_REF#refs/tags/v}
|
|
38
|
-
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
39
|
-
echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
|
|
40
|
-
echo "Releasing version: $VERSION"
|
|
41
|
-
|
|
42
|
-
- name: Extract changelog for this version
|
|
43
|
-
id: changelog
|
|
44
|
-
run: |
|
|
45
|
-
VERSION=${{ steps.version.outputs.version }}
|
|
46
|
-
|
|
47
|
-
CHANGELOG=$(awk -v ver="$VERSION" '
|
|
48
|
-
$0 ~ "## .*\\[" ver "\\]" { found=1; next }
|
|
49
|
-
found && /^## .*\[/ { exit }
|
|
50
|
-
found { print }
|
|
51
|
-
' CHANGELOG.md)
|
|
52
|
-
|
|
53
|
-
if [ -z "$CHANGELOG" ]; then
|
|
54
|
-
CHANGELOG="Release ${{ steps.version.outputs.tag }}"
|
|
55
|
-
fi
|
|
56
|
-
|
|
57
|
-
echo "$CHANGELOG" > release_notes.md
|
|
58
|
-
echo "Generated release notes:"
|
|
59
|
-
cat release_notes.md
|
|
60
|
-
|
|
61
|
-
- name: Create dist archive
|
|
62
|
-
run: |
|
|
63
|
-
mkdir -p release-artifacts
|
|
64
|
-
|
|
65
|
-
tar -czvf release-artifacts/unreal-engine-mcp-server-${{ steps.version.outputs.version }}.tar.gz \
|
|
66
|
-
dist/ \
|
|
67
|
-
package.json \
|
|
68
|
-
README.md \
|
|
69
|
-
CHANGELOG.md \
|
|
70
|
-
LICENSE
|
|
71
|
-
|
|
72
|
-
zip -r release-artifacts/unreal-engine-mcp-server-${{ steps.version.outputs.version }}.zip \
|
|
73
|
-
dist/ \
|
|
74
|
-
package.json \
|
|
75
|
-
README.md \
|
|
76
|
-
CHANGELOG.md \
|
|
77
|
-
LICENSE
|
|
78
|
-
|
|
79
|
-
- name: Create Plugin archive
|
|
80
|
-
run: |
|
|
81
|
-
if [ -d "plugins/McpAutomationBridge" ]; then
|
|
82
|
-
tar -czvf release-artifacts/McpAutomationBridge-plugin-${{ steps.version.outputs.version }}.tar.gz \
|
|
83
|
-
plugins/McpAutomationBridge/
|
|
84
|
-
|
|
85
|
-
zip -r release-artifacts/McpAutomationBridge-plugin-${{ steps.version.outputs.version }}.zip \
|
|
86
|
-
plugins/McpAutomationBridge/
|
|
87
|
-
|
|
88
|
-
echo "Plugin archive created"
|
|
89
|
-
else
|
|
90
|
-
echo "Plugin directory not found, skipping plugin archive"
|
|
91
|
-
fi
|
|
92
|
-
|
|
93
|
-
- name: Create GitHub Release
|
|
94
|
-
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
|
|
95
|
-
with:
|
|
96
|
-
name: Release ${{ steps.version.outputs.tag }}
|
|
97
|
-
body_path: release_notes.md
|
|
98
|
-
draft: false
|
|
99
|
-
prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
|
|
100
|
-
files: |
|
|
101
|
-
release-artifacts/*
|
|
102
|
-
env:
|
|
103
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
104
|
-
|
|
105
|
-
- name: Release Summary
|
|
106
|
-
run: |
|
|
107
|
-
echo "## Release Created Successfully! 🎉" >> $GITHUB_STEP_SUMMARY
|
|
108
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
109
|
-
echo "**Version:** ${{ steps.version.outputs.tag }}" >> $GITHUB_STEP_SUMMARY
|
|
110
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
111
|
-
echo "### Artifacts:" >> $GITHUB_STEP_SUMMARY
|
|
112
|
-
ls -la release-artifacts/ >> $GITHUB_STEP_SUMMARY
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
name: "Semantic Pull Request"
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request_target:
|
|
5
|
-
types:
|
|
6
|
-
- opened
|
|
7
|
-
- edited
|
|
8
|
-
- synchronize
|
|
9
|
-
|
|
10
|
-
permissions:
|
|
11
|
-
pull-requests: read
|
|
12
|
-
statuses: write
|
|
13
|
-
|
|
14
|
-
jobs:
|
|
15
|
-
main:
|
|
16
|
-
name: Validate PR Title
|
|
17
|
-
runs-on: ubuntu-latest
|
|
18
|
-
steps:
|
|
19
|
-
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
|
|
20
|
-
env:
|
|
21
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
22
|
-
with:
|
|
23
|
-
types: |
|
|
24
|
-
feat
|
|
25
|
-
fix
|
|
26
|
-
docs
|
|
27
|
-
style
|
|
28
|
-
refactor
|
|
29
|
-
perf
|
|
30
|
-
test
|
|
31
|
-
build
|
|
32
|
-
ci
|
|
33
|
-
chore
|
|
34
|
-
revert
|
|
35
|
-
requireScope: false
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
name: Smoke Test (Mock Mode)
|
|
2
|
-
permissions:
|
|
3
|
-
contents: read
|
|
4
|
-
|
|
5
|
-
on:
|
|
6
|
-
push:
|
|
7
|
-
branches: [ "main" ]
|
|
8
|
-
pull_request:
|
|
9
|
-
branches: [ "main" ]
|
|
10
|
-
|
|
11
|
-
concurrency:
|
|
12
|
-
group: ${{ github.workflow }}-${{ github.ref }}
|
|
13
|
-
cancel-in-progress: true
|
|
14
|
-
|
|
15
|
-
jobs:
|
|
16
|
-
smoke-test:
|
|
17
|
-
runs-on: ubuntu-latest
|
|
18
|
-
steps:
|
|
19
|
-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
20
|
-
|
|
21
|
-
- name: Use Node.js
|
|
22
|
-
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
|
|
23
|
-
with:
|
|
24
|
-
node-version: '20.x'
|
|
25
|
-
cache: 'npm'
|
|
26
|
-
|
|
27
|
-
- name: Install dependencies
|
|
28
|
-
run: npm ci
|
|
29
|
-
|
|
30
|
-
- name: Build
|
|
31
|
-
run: npm run build
|
|
32
|
-
|
|
33
|
-
- name: Run Smoke Test
|
|
34
|
-
run: npm run test:smoke
|
|
35
|
-
env:
|
|
36
|
-
MOCK_UNREAL_CONNECTION: "true"
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
name: '🏷️ Stale Issue and PR Management'
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
schedule:
|
|
5
|
-
- cron: '0 0 * * *'
|
|
6
|
-
workflow_dispatch:
|
|
7
|
-
|
|
8
|
-
permissions:
|
|
9
|
-
issues: write
|
|
10
|
-
pull-requests: write
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
stale:
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
steps:
|
|
16
|
-
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v10.1.1
|
|
17
|
-
with:
|
|
18
|
-
stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions!'
|
|
19
|
-
stale-pr-message: 'This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Please update your PR or add a comment if you would like to keep it open.'
|
|
20
|
-
close-issue-message: 'This issue was closed because it has been stale for 14 days with no activity.'
|
|
21
|
-
close-pr-message: 'This pull request was closed because it has been stale for 14 days with no activity.'
|
|
22
|
-
days-before-stale: 60
|
|
23
|
-
days-before-close: 14
|
|
24
|
-
stale-issue-label: 'stale'
|
|
25
|
-
stale-pr-label: 'stale'
|
|
26
|
-
exempt-issue-labels: 'pinned,security,bug,enhancement'
|
|
27
|
-
exempt-pr-labels: 'pinned,security'
|
|
28
|
-
operations-per-run: 100
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
# Contributing to Unreal Engine MCP Server
|
|
2
|
-
|
|
3
|
-
Thank you for your interest in contributing! This document provides guidelines and instructions for contributing.
|
|
4
|
-
|
|
5
|
-
## 📋 Table of Contents
|
|
6
|
-
|
|
7
|
-
- [Code of Conduct](#code-of-conduct)
|
|
8
|
-
- [Getting Started](#getting-started)
|
|
9
|
-
- [Development Workflow](#development-workflow)
|
|
10
|
-
- [Pull Request Process](#pull-request-process)
|
|
11
|
-
- [Coding Standards](#coding-standards)
|
|
12
|
-
|
|
13
|
-
## Code of Conduct
|
|
14
|
-
|
|
15
|
-
Please be respectful and constructive in all interactions. We're building something together.
|
|
16
|
-
|
|
17
|
-
## Getting Started
|
|
18
|
-
|
|
19
|
-
### Prerequisites
|
|
20
|
-
|
|
21
|
-
- **Node.js** 18+
|
|
22
|
-
- **Unreal Engine** 5.0-5.7 (for live testing)
|
|
23
|
-
- **Git**
|
|
24
|
-
|
|
25
|
-
### Setup
|
|
26
|
-
|
|
27
|
-
1. Fork and clone the repository:
|
|
28
|
-
```bash
|
|
29
|
-
git clone https://github.com/ChiR24/Unreal_mcp.git
|
|
30
|
-
cd unreal-engine-mcp-server
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
2. Install dependencies:
|
|
34
|
-
```bash
|
|
35
|
-
npm install
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
3. Build the project:
|
|
39
|
-
```bash
|
|
40
|
-
npm run build
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
4. Run smoke tests (no Unreal needed):
|
|
44
|
-
```bash
|
|
45
|
-
npm run test:smoke
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Development Workflow
|
|
49
|
-
|
|
50
|
-
### Branch Naming
|
|
51
|
-
|
|
52
|
-
Use descriptive branch names:
|
|
53
|
-
- `feat/add-new-tool` - New features
|
|
54
|
-
- `fix/connection-timeout` - Bug fixes
|
|
55
|
-
- `docs/update-readme` - Documentation
|
|
56
|
-
- `refactor/cleanup-bridge` - Code refactoring
|
|
57
|
-
|
|
58
|
-
### Running Tests
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
# Smoke test (CI-compatible, no Unreal needed)
|
|
62
|
-
npm run test:smoke
|
|
63
|
-
|
|
64
|
-
# Live tests (requires Unreal Editor running with plugin)
|
|
65
|
-
npm run test:all
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Building
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
npm run build # Full build (TypeScript + WASM)
|
|
72
|
-
npm run build:core # TypeScript only
|
|
73
|
-
npm run build:wasm # WASM only (requires wasm-pack)
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Pull Request Process
|
|
77
|
-
|
|
78
|
-
### Before Submitting
|
|
79
|
-
|
|
80
|
-
1. ✅ Run `npm run lint` and fix any issues
|
|
81
|
-
2. ✅ Run `npm run test:smoke` to verify basic functionality
|
|
82
|
-
3. ✅ Update documentation if adding new features
|
|
83
|
-
4. ✅ Update `CHANGELOG.md` under `[Unreleased]`
|
|
84
|
-
|
|
85
|
-
### PR Title Format
|
|
86
|
-
|
|
87
|
-
We use [Conventional Commits](https://www.conventionalcommits.org/). PR titles must follow this format:
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
<type>: <description>
|
|
91
|
-
|
|
92
|
-
Examples:
|
|
93
|
-
feat: add new animation blending tool
|
|
94
|
-
fix: resolve WebSocket connection timeout
|
|
95
|
-
docs: update installation instructions
|
|
96
|
-
refactor: simplify blueprint graph handler
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
**Types:** `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`
|
|
100
|
-
|
|
101
|
-
### Review Process
|
|
102
|
-
|
|
103
|
-
1. All PRs require at least one approval
|
|
104
|
-
2. CI must pass (lint, smoke test, CodeQL)
|
|
105
|
-
3. Maintainers may request changes
|
|
106
|
-
|
|
107
|
-
## Coding Standards
|
|
108
|
-
|
|
109
|
-
### TypeScript
|
|
110
|
-
|
|
111
|
-
- Use strict TypeScript (`strict: true`)
|
|
112
|
-
- Prefer `async/await` over raw Promises
|
|
113
|
-
- Use descriptive variable names
|
|
114
|
-
- Add JSDoc comments for public APIs
|
|
115
|
-
|
|
116
|
-
### C++ (Plugin)
|
|
117
|
-
|
|
118
|
-
- Follow Unreal Engine coding standards
|
|
119
|
-
- Use `UPROPERTY`/`UFUNCTION` macros appropriately
|
|
120
|
-
- Keep thread safety in mind for async operations
|
|
121
|
-
|
|
122
|
-
### File Organization
|
|
123
|
-
|
|
124
|
-
```
|
|
125
|
-
src/
|
|
126
|
-
├── tools/ # MCP tool implementations
|
|
127
|
-
├── automation/ # Unreal bridge logic
|
|
128
|
-
├── utils/ # Shared utilities
|
|
129
|
-
└── services/ # Background services
|
|
130
|
-
|
|
131
|
-
Plugins/
|
|
132
|
-
└── McpAutomationBridge/ # C++ Unreal plugin
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Questions?
|
|
136
|
-
|
|
137
|
-
- Open a [Discussion](../../discussions) for questions
|
|
138
|
-
- Open an [Issue](../../issues) for bugs or feature requests
|
|
139
|
-
|
|
140
|
-
Thank you for contributing! 🎮
|
package/Dockerfile
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# Multi-stage build for efficient image size
|
|
2
|
-
FROM node:22-alpine AS builder
|
|
3
|
-
|
|
4
|
-
# Set working directory
|
|
5
|
-
WORKDIR /app
|
|
6
|
-
|
|
7
|
-
# Copy package files
|
|
8
|
-
COPY package*.json ./
|
|
9
|
-
|
|
10
|
-
# Install ALL dependencies (including dev) for building - skip prepare script
|
|
11
|
-
RUN npm ci --ignore-scripts
|
|
12
|
-
|
|
13
|
-
# Copy TypeScript config and source files
|
|
14
|
-
COPY tsconfig.json ./
|
|
15
|
-
COPY src ./src
|
|
16
|
-
|
|
17
|
-
# Build the TypeScript project
|
|
18
|
-
RUN npm run build
|
|
19
|
-
|
|
20
|
-
# Production stage
|
|
21
|
-
FROM cgr.dev/chainguard/node:latest
|
|
22
|
-
|
|
23
|
-
ENV NODE_ENV=production
|
|
24
|
-
|
|
25
|
-
# Chainguard node runs as nonroot by default (user: node)
|
|
26
|
-
WORKDIR /app
|
|
27
|
-
|
|
28
|
-
# Copy only package manifests and install production deps in a clean layer
|
|
29
|
-
COPY --chown=node:node package*.json ./
|
|
30
|
-
RUN npm ci --omit=dev --ignore-scripts && npm cache clean --force
|
|
31
|
-
|
|
32
|
-
# Copy built application from builder stage
|
|
33
|
-
COPY --chown=node:node --from=builder /app/dist ./dist
|
|
34
|
-
|
|
35
|
-
# No shell, no init needed; run as provided nonroot user
|
|
36
|
-
ENTRYPOINT ["/usr/bin/node"]
|
|
37
|
-
CMD ["dist/cli.js"]
|
package/GEMINI.md
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# Unreal Engine MCP Server
|
|
2
|
-
|
|
3
|
-
## Project Overview
|
|
4
|
-
|
|
5
|
-
The **Unreal Engine MCP Server** (`unreal-engine-mcp-server`) is a comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine via a native automation bridge. It facilitates bidirectional communication between an AI agent (running via MCP) and an active Unreal Engine Editor session.
|
|
6
|
-
|
|
7
|
-
### Architecture
|
|
8
|
-
|
|
9
|
-
The system is composed of three main components:
|
|
10
|
-
|
|
11
|
-
1. **MCP Server (Node.js/TypeScript):**
|
|
12
|
-
* **Role:** The core server that implements the MCP protocol, handles client requests, and orchestrates communication.
|
|
13
|
-
* **Location:** `src/`
|
|
14
|
-
* **Key File:** `src/index.ts` (Entry point), `src/unreal-bridge.ts` (Connection management).
|
|
15
|
-
* **Tools:** Defines MCP tools for Actor manipulation, Asset management, Blueprints, etc. (found in `src/tools/`).
|
|
16
|
-
|
|
17
|
-
2. **Unreal Engine Plugin (C++):**
|
|
18
|
-
* **Role:** Acts as the receiver and executor within the Unreal Engine process. It runs a WebSocket server to listen for commands from the Node.js server.
|
|
19
|
-
* **Location:** `Plugins/McpAutomationBridge/`
|
|
20
|
-
* **Key Functionality:** Handles `execute_console_command`, `set_object_property`, and other engine-level operations on the Game Thread.
|
|
21
|
-
* **Communication:** Listens on `ws://localhost:8091` (default).
|
|
22
|
-
|
|
23
|
-
3. **WebAssembly Module (Rust):**
|
|
24
|
-
* **Role:** Provides high-performance utilities for the Node.js server, such as complex property parsing and vector math.
|
|
25
|
-
* **Location:** `wasm/`
|
|
26
|
-
* **Key File:** `wasm/src/lib.rs`.
|
|
27
|
-
|
|
28
|
-
## Building and Running
|
|
29
|
-
|
|
30
|
-
### Prerequisites
|
|
31
|
-
* Node.js (v18 or higher)
|
|
32
|
-
* Unreal Engine (5.0-5.7)
|
|
33
|
-
* Rust (optional, if modifying WASM components)
|
|
34
|
-
|
|
35
|
-
### Setup
|
|
36
|
-
|
|
37
|
-
1. **Install Dependencies:**
|
|
38
|
-
```bash
|
|
39
|
-
npm install
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
2. **Build the Server:**
|
|
43
|
-
```bash
|
|
44
|
-
npm run build
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
3. **Build WebAssembly (Optional):**
|
|
48
|
-
If you are working on the Rust module:
|
|
49
|
-
```bash
|
|
50
|
-
npm run build:wasm
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
4. **Unreal Plugin Installation:**
|
|
54
|
-
* Copy the `Plugins/McpAutomationBridge` folder into your Unreal Project's `Plugins` directory (e.g., `YourProject/Plugins/`).
|
|
55
|
-
* Regenerate project files and recompile your Unreal project.
|
|
56
|
-
* Enable the plugin in the Unreal Editor if it's not automatically enabled.
|
|
57
|
-
* Ensure the plugin is running (it should log "MCP Automation Bridge listening" to the Output Log).
|
|
58
|
-
|
|
59
|
-
### Running the Server
|
|
60
|
-
To start the MCP server:
|
|
61
|
-
```bash
|
|
62
|
-
npm start
|
|
63
|
-
```
|
|
64
|
-
Or for development with `ts-node`:
|
|
65
|
-
```bash
|
|
66
|
-
npm run dev
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Testing
|
|
70
|
-
The project includes a suite of integration tests located in the `tests/` directory. These scripts act as "fake" MCP clients to verify functionality.
|
|
71
|
-
|
|
72
|
-
* **Run All Tests:**
|
|
73
|
-
```bash
|
|
74
|
-
npm test
|
|
75
|
-
```
|
|
76
|
-
* **Run Specific Test:**
|
|
77
|
-
```bash
|
|
78
|
-
npm run test:control_actor
|
|
79
|
-
npm run test:manage_asset
|
|
80
|
-
npm run test:wasm
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Development Conventions
|
|
84
|
-
|
|
85
|
-
* **Language:**
|
|
86
|
-
* Server logic is written in **TypeScript**.
|
|
87
|
-
* Unreal integration is written in **C++**.
|
|
88
|
-
* Performance modules are written in **Rust**.
|
|
89
|
-
* **Safety:**
|
|
90
|
-
* The `UnrealBridge` class (`src/unreal-bridge.ts`) includes safety mechanisms like command throttling and "Safe ViewMode" switching to prevent crashing the engine with invalid commands.
|
|
91
|
-
* **Do not** bypass these safety checks when adding new functionality.
|
|
92
|
-
* **Linting:**
|
|
93
|
-
* TypeScript: `npm run lint`
|
|
94
|
-
* C++/C#: Scripts provided (`npm run lint:cpp`, `npm run lint:csharp`) rely on external tools like `cpplint` and `dotnet-format`.
|
|
95
|
-
|
|
96
|
-
## Directory Structure
|
|
97
|
-
|
|
98
|
-
* `src/`: Source code for the Node.js MCP server.
|
|
99
|
-
* `tools/`: Definitions for MCP tools (Actors, Assets, etc.).
|
|
100
|
-
* `resources/`: Definitions for MCP resources.
|
|
101
|
-
* `wasm/`: Compiled WebAssembly bindings.
|
|
102
|
-
* `Plugins/`: Source code for the Unreal Engine C++ plugin.
|
|
103
|
-
* `wasm/`: Source code for the Rust WebAssembly module.
|
|
104
|
-
* `tests/`: Integration tests and test runners.
|
|
105
|
-
* `scripts/`: Utility scripts for build and maintenance.
|
|
106
|
-
|
|
107
|
-
# Project Rules Agent
|
|
108
|
-
|
|
109
|
-
- The user explicitly wants real, working code only. I must never add mocks, placeholders, false-passed success code, or any non-functional code. All solutions should be directly applicable to a live editor and pass all relevant tests genuinely.
|
|
110
|
-
- The user explicitly requires real, working code only. I must never add mocks, placeholders, false-passed success codes, or any non-functional code. All solutions must be directly applicable to a live editor and pass all relevant tests genuinely.
|
|
111
|
-
- Always read full file content.
|
|
112
|
-
- Engine path: X:\Unreal_Engine\UE_5.0\Engine
|
|
113
|
-
- Engine path: X:\Unreal_Engine\UE_5.6\Engine
|
|
114
|
-
- Engine path: X:\Unreal_Engine\UE_5.7\Engine
|
|
115
|
-
- Before editing codes in plugin make sure to check before in engine's code so that all code are correct.
|
|
Binary file
|
package/Public/icon.png
DELETED
|
Binary file
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"mcpServers": {
|
|
3
|
-
"unreal-engine": {
|
|
4
|
-
"command": "node",
|
|
5
|
-
"args": [
|
|
6
|
-
"PathToMCP\\UnrealMCP\\unreal-engine-mcp-server\\dist\\cli.js"
|
|
7
|
-
],
|
|
8
|
-
"env": {
|
|
9
|
-
"UE_PROJECT_PATH": "C:/Users/YourName/Documents/Unreal Projects/YourProject",
|
|
10
|
-
"MCP_AUTOMATION_HOST": "127.0.0.1",
|
|
11
|
-
"MCP_AUTOMATION_PORT": "8091"
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|