* Add a decorate that wraps around the `mcp.tool` decorator.
This will allow us to more easily collect tools
* Register tools that's defined in the tools folder
* Update Python tools to use new decorator
* Convert script_apply_edits tool
* Convert last remaining tools with new decorator
* Create an attribute so we can identify tools via Reflection
* Add attribute to all C# tools
* Use reflection to load tools
* Initialize command registry to load tools at startup
* Update tests
* Move Dev docs to docs folder
* Add docs for adding custom tools
* Update function docs for Python decorator
* Add working example of adding a screenshot tool
* docs: update relative links in README files
Updated the relative links in both README-DEV.md and README-DEV-zh.md to use direct filenames instead of paths relative to the docs directory, improving link correctness when files are accessed from the root directory.
* docs: update telemetry documentation path reference
Updated the link to TELEMETRY.md in README.md to point to the new docs/ directory location to ensure users can access the telemetry documentation correctly. Also moved the TELEMETRY.md file to the docs/ directory as part of the documentation restructuring.
* rename CursorHelp.md to docs/CURSOR_HELP.md
Moved the CursorHelp.md file to the docs directory to better organize documentation files and improve project structure.
* docs: update CUSTOM_TOOLS.md with improved tool naming documentation and path corrections
- Clarified that the `name` argument in `@mcp_for_unity_tool` decorator is optional and defaults to the function name
- Added documentation about using all FastMCP `mcp.tool` function decorator options
- Updated class naming documentation to mention snake_case conversion by default
- Corrected Python file path from `tools/screenshot_tool.py` to `UnityMcpServer~/src/tools/screenshot_tool.py`
- Enhanced documentation for tool discovery and usage examples
* docs: restructure development documentation and add custom tools guide
Rearranged the development section in README.md to better organize the documentation flow. Added a dedicated section for "Adding Custom Tools" with a link to the new CUSTOM_TOOLS.md file, and renamed the previous "For Developers" section to "Contributing to the Project" to better reflect its content. This improves discoverability and organization of the development setup documentation.
* docs: update developer documentation and add README links
- Added links to developer READMEs in CUSTOM_TOOLS.md to guide users to the appropriate documentation
- Fixed typo in README-DEV.md ("roote" → "root") for improved clarity
- These changes improve the developer experience by providing better documentation navigation and correcting technical inaccuracies
* feat(tools): enhance tool registration with wrapped function assignment
Updated the tool registration process to properly chain the mcp.tool decorator and telemetry wrapper, ensuring the wrapped function is correctly assigned to tool_info['func'] for proper tool execution and telemetry tracking. This change improves the reliability of tool registration and monitoring.
* Remove AI generated code that was never used...
* feat: Rebuild MCP server installation with embedded source
Refactored the server repair logic to implement a full rebuild of the MCP server installation using the embedded source. The new RebuildMcpServer method now:
- Uses embedded server source instead of attempting repair of existing installation
- Deletes the entire existing server directory before re-copying
- Handles UV process cleanup for the target path
- Simplifies the installation flow by removing the complex Python environment repair logic
- Maintains the same installation behavior but with a cleaner, more reliable rebuild approach
This change improves reliability of server installations by ensuring a clean slate rebuild rather than attempting to repair potentially corrupted environments.
* Add the rebuild server step
* docs: clarify tool description field requirements and client compatibility
* fix: move initialization flag after tool discovery to prevent race conditions
* refactor: remove redundant TryParseVersion overrides in platform detectors
* refactor: remove duplicate UV validation code from platform detectors
* Update UnityMcpBridge/Editor/Tools/CommandRegistry.cs
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* refactor: replace WriteToConfig reflection with direct McpConfigurationHelper call
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* refactor: migrate command routing to use CommandRegistry lookup instead of switch statement
* style: improve code formatting and indentation consistency
* refactor: clean up imports and type hints across tool modules
* Revert "feat: Implement Asset Store Compliance for Unity MCP Bridge"
This reverts commit 2fca7fc3da.
* Revert "feat(asset-store): implement post-installation prompt system for Asset Store compliance"
This reverts commit ab25a71bc5.
* chore: upgrade mcp[cli] dependency from 1.4.1 to 1.15.0
* style: fix formatting and whitespace in Python server files
* Remove description, probably a Python versionn change
* feat: add type hints and parameter descriptions to Unity MCP tools
* docs: improve shader management tool parameter descriptions and types
* refactor: add type annotations and improve documentation for script management tools
* refactor: improve type annotations and documentation in manage_scene tool
* refactor: add type annotations and improve parameter descriptions across MCP tools
* feat: add explicit name parameters to all MCP tool decorators
* refactor: remove unused Unity connection instance in manage_asset_tools
* chore: update type hints in manage_editor function parameters for better clarity
* feat: make name and path parameters optional for scene management operations
* refactor: remove unused get_unity_connection import from manage_asset.py
* chore: rename Operation parameter annotation to Operations for consistency
* feat: add logging to MCP clients for tool actions across MCP server components
* chore: add FastMCP type hint to register_all_tools parameter
* style: reformat docstring in apply_text_edits tool to use multiline string syntax
* refactor: update type hints from Dict/List/Tuple/Optional to modern Python syntax
* refactor: clean up imports and add type annotations to script editing tools
* refactor: update type hints to use | None syntax for optional parameters
* Minor fixes
* docs: improve tool descriptions with clearer action explanations
* refactor: remove legacy update action migration code from manage_script.py
* style: replace em dashes with regular hyphens in tool descriptions [skip ci]
* refactor: convert manage_script_capabilities docstring to multiline format [skip ci]
- Add server-side integer coercion for numeric parameters in all tools
- Fix parameter type validation issues (read_resource, find_in_file, read_console, manage_scene, manage_asset)
- Add proper tool descriptions with ctx parameter documentation
- Fix Context type annotations (use Context instead of Any for ctx)
- All tools now accept flexible numeric inputs (strings, floats) and coerce to integers
- Telemetry system working with all tool_execution events captured in BigQuery
- Remove invalid parameter type warnings from client-side validation