Skip to content

execute_custom_tool references wrong project ID when using stdio transport in Claude Desktop #514

@jtj8412

Description

@jtj8412

Environment

MCP Server Version: 8.7.0
Client: Claude Desktop (stdio transport)
OS: Windows

Description

When using execute_custom_tool via Claude Desktop with stdio transport, the tool references an incorrect project ID (412C527AD08BB1B1) instead of the active Unity instance (XXX@1ff38011).
The same custom tool works correctly when using Claude Code(http).

Steps to Reproduce

Register a custom tool (e.g., map_helper) in Unity
Connect to Unity via Claude Desktop using stdio transport
Verify connection with debug_request_context - shows correct active instance
Call execute_custom_tool with the registered tool name

Expected Behavior

execute_custom_tool should query the active Unity instance (XXX@1ff38011).

Actual Behavior

execute_custom_tool queries a different project ID (412C527AD08BB1B1), resulting in "Tool not found" error.

Evidence

debug_request_context result (correct):
json{
"active_instance": "XXX@1ff38011"
}
execute_custom_tool result (incorrect):
json{
"success": false,
"message": "Tool 'map_helper' not found for project 412C527AD08BB1B1"
}

Additional Notes

Other MCP tools (manage_scene, manage_editor, execute_menu_item, etc.) work correctly with the proper Unity instance
set_active_instance does not resolve the issue
Only execute_custom_tool exhibits this behavior

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions