SkillAgentSearch skills...

mcp-extension-unity

IntelliJ MCP Server extension plugin for Unity Editor

Install / Use

claude mcp add nowsprinting -- npx -y github:nowsprinting/mcp-extension-unity

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

72/100

Supported Platforms

Claude Code
Claude Desktop

Tags

Our assessment of mcp-extension-unity

mcp-extension-unity scores 72/100 on our quality scale, 2407th of 3,356 Development & Engineering skills we index.

Its MCP Server is 16 KB long, well organised into 15 sections with 1 code example: a thorough specification that gives an agent plenty to work with.

It has 3 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
17/20
Description
8/15
Adoption
3/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated about 2 months ago, so mcp-extension-unity is actively maintained.
  • Our last check on 2026-09-18 found the source still online.
  • It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 87/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the first 100 KB of the file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-09-29. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

mcp-extension-unity compared with similar skills

All 4 of these similar skills score higher than mcp-extension-unity; compare them before choosing.

SkillScoreStarsUpdatedFormat
mcp-extension-unity (this skill)by nowsprinting7232mo agoMCP Server
Agent-Reachby Panniantong10086.0k13d agoCLAUDE.md
headroomby headroomlabs-ai10074.0ktodayCLAUDE.md
rufloby ruvnet10073.4ktodayCLAUDE.md
CowAgentby zhayujie10047.2ktodayCLAUDE.md

Frequently asked questions

How do I install mcp-extension-unity?
Run claude mcp add nowsprinting -- npx -y github:nowsprinting/mcp-extension-unity. The install tabs above show the steps for each supported agent.
Which AI agents does mcp-extension-unity work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is mcp-extension-unity safe to use?
Our scan of the first 100 KB of the file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is Apache-2.0-licensed and scores 87/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is mcp-extension-unity still maintained?
The repository was last updated about 2 months ago, so mcp-extension-unity is actively maintained.

MCP Server Extension for Unity

Build Version Downloads rating

<!-- Plugin description -->

A plugin that extends the MCP Server built into JetBrains Rider. Adds tools for operating Unity Editor from any Coding Agents.

Features

  • No per-project MCP server package required — no need to install an MCP server package into each Unity project.
  • No agent configuration — if the MCP Server is already enabled in Rider, Coding Agents can use the tools immediately with no additional setup.
  • No additional configuration required for cloned workspaces — if you clone a workspace with git workspace, claude --workspace, etc., you get tools that work without any additional configuration.
  • Tools for Unity Editor — provides Run tests, Run editor script, Check compilation, and Play mode control.
<!-- Plugin description end -->

Requirements

  • JetBrains Rider 2025.3+

[!NOTE]
Rider 2026.2 introduced a breaking change to the Rd protocol API that this plugin must compile against.
Using Rider 2026.1.x or earlier? Install v1.0.7 instead.

Provided Tools

Run tests

The run_unity_tests tool runs tests on Unity Editor through Rider's test infrastructure. Recommend filtering by assemblyNames, categoryNames, groupNames, and testNames to narrow down the tests to the scope of changes.

[!TIP]
You can also run Play Mode tests with domain reloading.

Parameters

| Name | Required | Description | |-----------------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | testMode | Required | EditMode or PlayMode (case insensitive). If the includePlatforms in the assembly definition file (.asmdef) contains Editor, it is an Edit Mode test; otherwise it is a Play Mode test. | | assemblyNames | Required | Names of test assemblies to run (without .dll extension, e.g. MyFeature.Tests). Specify the name property in the assembly definition file. | | categoryNames | Optional | Names of a category to include in the run. Any test or fixture runs that have a category matching the string. | | groupNames | Optional | Same as testNames, except that it allows for Regex. This is useful for running specific fixtures or namespaces. | | testNames | Optional | The full name of the tests to match the filter. This is usually in the format FixtureName.TestName. If the test has test arguments, then include them in parentheses. |

Response

| Field | Type | Description | |---------------------|---------|----------------------------------------------------------------| | success | boolean | true if all tests passed | | passCount | number | Number of passing tests | | failCount | number | Number of failing tests | | inconclusiveCount | number | Number of inconclusive tests | | skipCount | number | Number of skipped tests | | failedTests | array | Details of failed tests (testId, output, duration) | | inconclusiveTests | array | Details of inconclusive tests (testId, output, duration) |

[!NOTE]
To save space in the context window, outputs of successful and skipped tests are not included in the response.

Error Response

| Field | Type | Description | |----------------|---------|----------------| | success | boolean | Always false | | errorMessage | string | Error details |

Run editor script

The run_method_in_unity tool invokes a static method on Unity Editor via reflection. Console logs during the method will be captured and returned in the logs field of the response.

[!TIP]
You can use this tool to edit scene and prefab files.

Parameters

| Name | Required | Description | |----------------|--------------|--------------------------------------------------------------------| | assemblyName | Required | Assembly name containing the type (e.g., Assembly-CSharp-Editor) | | typeName | Required | Fully qualified type name (e.g., MyNamespace.MyEditorTool) | | methodName | Required | Static method name to invoke (e.g., DoSomething) |

The method must be static and parameterless.

Response

| Field | Type | Description | |-----------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------| | success | boolean | Always true (indicates reflection succeeded; does not mean the method executed without errors — internal exceptions are captured in logs) | | logs | array | Console log entries captured during execution (may be empty). Each entry has type ("Message", "Warning", "Error"), message, and stackTrace. |

[!IMPORTANT]
The method's return value is NOT returned. success only indicates whether the method was found and invoked (reflection succeeded). Even if the method throws internally, success may be true — the exception is captured in the logs field.

[!IMPORTANT]
Async methods can be invoked, but the tool does not await their completion. Logs generated after return to the caller will not be included in the response.

Error Response

| Field | Type | Description | |----------------|---------|----------------| | success | boolean | Always false | | errorMessage | string | Error details |

Check compilation

The get_unity_compilation_result tool triggers Unity's AssetDatabase.Refresh() and checks if compilation succeeded. Console logs during compilation will be captured and returned in the logs field of the response.

Parameters: none

Response

| Field | Type | Description | |-----------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------| | success | boolean | Always true | | logs | array | Console log entries captured during compilation (may be empty). Each entry has type ("Message", "Warning", "Error"), message, and stackTrace. |

Error Response

| Field | Type | Description | |----------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------| | success | boolean | Always false | | errorMessage | string | Error details | | logs | array | Console log entries captured before the error (may be empty). Each entry has type ("Message", "Warning", "Error"), message, and stackTrace. |

[!WARNING]
If the Unity Editor was compiled before this tool triggered a refresh, the response will not include a log. Compilation errors will remain in the console window, but will not be available with this tool. Instead, use the getDiagnostics or get_file_problems tools, or read editor.log.

[!TIP]
Recommended to run this tool to ensure compilation succeeds before run_unity_tests or run_method_in_unity tool if modified code.

Play mode control

The unity_play_control tool controls Unity Editor's play mode.

Parameters

| Name | Required | Description | |----------|--------------|----------------------------------------------------------------------------------------------| | action | Required | Action to perform: play, stop, pause, resume, step, or status (case insensitive) |

| Action | Operation | |----------|---------------------------------------------------| | play | Enter play mode | | stop | Exit play mode | | pause | Pause while in play mode | | resume | Resume from paused state | | step | Advance one frame (enters paused play mode) | | status | Read current play/pause state without any changes |

Response

| Field | Type | Description | |-------------|---------|------------------------------------------------| | success | boolean | Always true | | action | string | The action that was performed | | isPlaying | boolean | Whether Unity Editor is currently in play mode | | isPaused | boolean | Whether Unity Editor is currently paused |

Error Response

| Field | Type | Description | |----------------|---------|----------------| | success | boolean | Always false | | errorMessage | string | Error details |

Architecture

Coding Agent (e.g., Claude Code)
    ↓ MCP (HTTP/SSE)
JetBrains MCP Server (built into Rider 2025.2+)
    ↓ extension point (com.intellij.mcpServer)
[This Plugin — Kotlin Frontend]
    ├── UnityEditorToolset.kt (facade → CompilationResultTool / RunUnityTestsTool / RunMethodInUnityTool / PlayControlTool)
    │       ↓ (unity_play_control, get_unity_compilation_result, run_method_in_unity)
    │   FrontendBackendModel.playControls / FrontendBackendModel.runMethodInUnity / UnityTestMcpModel.getCompilationResult
    │       ↓ (run_unity_tests)
    │   UnityTestMcpModel (custom Rd: IRdCall<McpRunTest

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars3
CategoryDevelopment
Updated2mo ago
Forks0

Languages

Kotlin

Trust signals

87/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

2 low