Skip to content

feat: Add multi-instance support, HTTP transport, i18n, and new tools#79

Open
60999 wants to merge 13 commits into
Coding-Solo:mainfrom
60999:main
Open

feat: Add multi-instance support, HTTP transport, i18n, and new tools#79
60999 wants to merge 13 commits into
Coding-Solo:mainfrom
60999:main

Conversation

@60999
Copy link
Copy Markdown

@60999 60999 commented Mar 10, 2026

This PR adds multi-instance support, HTTP transport mode, screenshot capture, i18n (10 languages), configuration wizard, and new tools (signal, group, UI). Also merges PR #74 (security fix) and PR #75 (mcpb build).

tylerstraub and others added 13 commits March 10, 2026 14:20
- Replace single activeProcess with Map-based activeProcesses for concurrent instance management
- Add instanceId parameter to run_project, get_debug_output, and stop_project tools
- Add args parameter to run_project for passing command-line arguments to Godot
- Add list_processes tool to view all running instances with status
- Add isRunning flag to GodotProcess interface for status tracking
- Redirect all debug/log output to console.error (stderr) to prevent MCP protocol interference
- Clean log output: strip carriage returns, filter empty lines, trim whitespace
- Improve process cleanup to handle multiple instances
- Add nextInstanceId counter for auto-generating instance IDs
- Retain process output after exit for debugging purposes

This enables MMORPG development workflows where multiple Godot instances
(server + multiple clients) can run simultaneously with proper isolation
and management.
- Update the description for the 'list_processes' tool to clarify it tracks both running and recently exited instances.
- Improve instance ID validation to allow reuse of IDs for exited processes.
- Ensure only running processes are killed during stop operations, while still tracking all instances.
- Add logging for cleaning up exited processes to aid in debugging.
…ty vulns

Fixes two high-severity vulnerabilities:
- GHSA-8r9q-7v3j-jr4g: ReDoS in MCP TypeScript SDK (fixed in >=1.25.2)
- GHSA-w48q-cv73-mx4w: Missing DNS rebinding protection (fixed in >=1.24.0)

No code changes required — the SDK API is fully backwards-compatible.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add SCREENSHOT_WRAPPER_SCRIPT and SCREENSHOT_WRAPPER_SCENE constants
- Add setupScreenshotWrapper, cleanupScreenshotArtifacts, getMainScenePath helper methods
- Update GodotProcess interface with screenshotEnabled property
- Update handleRunProject to support enableScreenshot parameter
- Add capture_screenshot tool definition and handleCaptureScreenshot handler
- Update cleanup method to clean screenshot artifacts on shutdown
…I tools

- Add HTTP transport mode (MCP_TRANSPORT=http, MCP_HTTP_PORT=3000)
- Add i18n module supporting 10 languages (en, zh-CN, zh-TW, ja, etc.)
- Add configuration wizard script (scripts/configure.js)
- Add signal tools: signal_connect, signal_disconnect
- Add group tools: group_add, group_remove, list_groups
- Add UI tools: ui_create_button, ui_create_label
- Add complete HTTP transport mode with CORS support
- Add signal_connect and signal_disconnect tool handlers
- Add group_add, group_remove, list_groups tool handlers
- Add ui_create_button and ui_create_label tool handlers
- Add executeGodotOperation helper method
- Update godot_operations.gd with new operations
@zachmerrill
Copy link
Copy Markdown

lmao is this some ploy to attach your name to our PRs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants