Unity MCP Addressables

Unity MCP Addressables

Exposes Unity's Addressable Asset System configuration as an MCP server, allowing AI assistants to read and modify Addressables groups, entries, labels, and settings.

Category
访问服务器

README

Unity MCP Addressables

A Unity Editor package that exposes Addressable Asset System configuration as an MCP (Model Context Protocol) server, enabling AI coding assistants like Claude Code to read and modify Addressables groups, entries, labels, and settings.

Architecture

AI Client (Claude Code / OpenCode / ...)
    | MCP Protocol (stdio)
    v
Python MCP Server (server.py)
    | HTTP (localhost:8091)
    v
Unity Editor HTTP Server (McpHttpServer.cs)
    |
    v
Unity Addressables Editor API

The Python process acts as a thin MCP-to-HTTP bridge. The real work happens inside the Unity Editor on the main thread, using the Addressables Editor API and AssetDatabase.

Requirements

  • Unity 2021.3 or later
  • Addressables 1.21.0 or later
  • Python 3.10 or later

Installation

Option A: Unity Package Manager (Git URL)

  1. Open Unity, go to Window > Package Manager
  2. Click + > Add package from git URL...
  3. Enter:
    https://github.com/StromKuo/Unity-MCP-Addressables.git
    

Option B: Git Submodule

git submodule add https://github.com/StromKuo/Unity-MCP-Addressables.git Packages/com.strodio.unity-mcp-addressables

Option C: Local Clone

cd YourProject/Packages
git clone https://github.com/StromKuo/Unity-MCP-Addressables.git com.strodio.unity-mcp-addressables

Setup

1. Setup Python Environment

Go to Tools > MCP Addressables > Setup Python Environment.

This will:

  • Find a suitable Python 3.10+ interpreter on your system
  • Create a virtual environment inside the package (MCP~/venv/)
  • Install the Python dependencies (mcp, httpx)

2. Configure Your AI Client

Go to Tools > MCP Addressables > Copy MCP Config to copy the MCP server configuration JSON to your clipboard.

The config looks like this:

{
  "mcpServers": {
    "unity-addressables": {
      "command": "/path/to/Packages/com.strodio.unity-mcp-addressables/MCP~/venv/bin/python",
      "args": ["/path/to/Packages/com.strodio.unity-mcp-addressables/MCP~/server.py"]
    }
  }
}

Paste it into your AI client's MCP settings:

  • Claude Code: ~/.claude/settings.json
  • OpenCode: ~/.config/opencode/config.json (under the mcp_servers section)

3. Verify

Go to Tools > MCP Addressables > Check Environment to verify everything is set up correctly. You should see:

System Python 3.10+:  OK
Virtual Env:          OK
Dependencies:         OK
HTTP Server:          Running (port 8091)

Available MCP Tools

Read Tools

list_groups

List all Addressable groups with their name, entry count, schema types, and read-only status.

list_groups()

get_group_entries

Get all entries in a group with address, GUID, asset path, type, and labels.

get_group_entries(group_name="AUTO_Atlas")

get_group_settings

Get schema settings for a group (bundle mode, compression, build/load paths, etc.).

get_group_settings(group_name="AUTO_Atlas")

get_entry_dependencies

Get all asset dependencies for each entry in a group. Shows what assets will actually be included in the bundle.

get_entry_dependencies(group_name="AUTO_Atlas")

find_entry_by_address

Find which group contains an entry with the given Addressable address.

find_entry_by_address(address="Assets/Prefabs/Enemy.prefab")

get_addressables_settings

Get global Addressables settings including profiles, active profile, build configuration, and label count.

get_addressables_settings()

analyze_group_dependencies

Analyze cross-group dependencies to find assets shared between multiple groups but not addressable themselves. These assets will be duplicated in each bundle.

analyze_group_dependencies()

list_labels

List all Addressable labels defined in the project.

list_labels()

Write Tools

create_group

Create a new Addressable group. Adds BundledAssetGroupSchema and ContentUpdateGroupSchema by default.

create_group(name="MyNewGroup")
create_group(name="MyGroup", schemas=["BundledAssetGroupSchema"])

move_entries

Move entries to a different group by their GUIDs.

move_entries(guids=["abc123", "def456"], target_group="TargetGroup")

set_entry_address

Change the Addressable address of an entry.

set_entry_address(guid="abc123", address="NewAddress")

add_entry

Add an asset to an Addressable group.

add_entry(asset_path="Assets/Prefabs/Enemy.prefab", group_name="MyGroup")
add_entry(asset_path="Assets/Prefabs/Enemy.prefab", group_name="MyGroup", address="Enemy")

remove_entry

Remove an entry from its Addressable group (the asset itself is not deleted).

remove_entry(guid="abc123")

set_entry_labels

Set labels on an entry. Labels that don't exist will be created automatically.

set_entry_labels(guid="abc123", labels=["combat", "preload"])
set_entry_labels(guid="abc123", labels=["combat"], exclusive=True)

rename_group

Rename an Addressable group.

rename_group(old_name="OldName", new_name="NewName")

Unity Editor Menu

All menu items are under Tools > MCP Addressables:

Menu Item Description
Start Server Start the HTTP server (auto-starts on editor launch)
Stop Server Stop the HTTP server
Setup Python Environment Create venv and install dependencies
Check Environment Verify all components are working
Copy MCP Config Copy MCP server config JSON to clipboard
Server Status Show current server status

How It Works

  • The Unity HTTP server (McpHttpServer.cs) starts automatically when the editor opens via [InitializeOnLoad]. It listens on localhost:8091.
  • GET requests handle read operations; POST requests with JSON bodies handle write operations.
  • HTTP requests from the Python bridge are queued and processed on Unity's main thread (required by Addressables Editor APIs).
  • The Python MCP server (MCP~/server.py) translates MCP tool calls into HTTP requests. The MCP~ directory is ignored by Unity's asset importer (directories ending with ~ are excluded).
  • The Python venv lives inside the package at MCP~/venv/ and is excluded from version control via .gitignore.
  • Write operations automatically call SetDirty() and AssetDatabase.SaveAssets() to persist changes.

Troubleshooting

"Cannot connect to Unity Editor"

  • Make sure Unity Editor is open and focused (the HTTP server runs in the editor process)
  • Check Tools > MCP Addressables > Server Status
  • Try Tools > MCP Addressables > Stop Server, then Start Server

"Addressables settings not found"

  • Ensure the Addressables package is installed and initialized in your project
  • Open Window > Asset Management > Addressables > Groups to create default settings

Timeouts on dependency analysis

  • analyze_group_dependencies and get_entry_dependencies scan all assets and may take time on large projects. The timeout is set to 180 seconds for these operations.

Python setup fails

  • Ensure Python 3.10+ is installed: python3 --version
  • On macOS with Homebrew: brew install python@3.12
  • On Windows: download from https://www.python.org/downloads/

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选