{"id":48537959,"url":"https://github.com/glade-tool/glade-mcp-unity","last_synced_at":"2026-05-23T21:01:14.496Z","repository":{"id":349890794,"uuid":"1204383770","full_name":"Glade-tool/glade-mcp-unity","owner":"Glade-tool","description":"Connect any MCP-compatible AI client (Claude Code, Cursor, Windsurf) to your Unity Editor. 235+ granular tools, a Unity-aware system prompt, game design document project context, script semantic search, and skill calibration.","archived":false,"fork":false,"pushed_at":"2026-05-19T00:39:44.000Z","size":11022,"stargazers_count":137,"open_issues_count":0,"forks_count":23,"subscribers_count":13,"default_branch":"main","last_synced_at":"2026-05-19T02:41:35.657Z","etag":null,"topics":["ai","ai-tools","claude","cursor","game-development","gamedev","gemini","llm","mcp","model-context-protocol","openai","unity","unity3d","vscode","windsurf"],"latest_commit_sha":null,"homepage":"https://www.gladekit.com/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Glade-tool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-08T00:49:55.000Z","updated_at":"2026-05-19T01:29:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Glade-tool/glade-mcp-unity","commit_stats":null,"previous_names":["glade-tool/glade-mcp-unity"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/Glade-tool/glade-mcp-unity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glade-tool%2Fglade-mcp-unity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glade-tool%2Fglade-mcp-unity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glade-tool%2Fglade-mcp-unity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glade-tool%2Fglade-mcp-unity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Glade-tool","download_url":"https://codeload.github.com/Glade-tool/glade-mcp-unity/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glade-tool%2Fglade-mcp-unity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33412082,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T18:09:33.147Z","status":"ssl_error","status_checked_at":"2026-05-23T18:09:31.380Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-tools","claude","cursor","game-development","gamedev","gemini","llm","mcp","model-context-protocol","openai","unity","unity3d","vscode","windsurf"],"created_at":"2026-04-08T03:01:33.951Z","updated_at":"2026-05-23T21:01:14.480Z","avatar_url":"https://github.com/Glade-tool.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GladeKit Unity MCP\n\nConnect Cursor, Claude Code, Windsurf, Claude Desktop, and other AI clients directly to your Unity Editor.\n\n**235+ tools.** A full Unity-aware system prompt. GLADE.md project context. Script semantic search. Skill calibration. Free CC0 asset pipeline (Kenney). Cloud intelligence layer with RAG and cross-session memory. All core features are free and local.\n\n![GladeKit MCP Demo](GladeKitMCP_DemoGIF.gif)\n\n---\n\n## Quick Start\n\n### 1. Install the Unity package\n\nIn Unity: **Window \u003e Package Manager \u003e + \u003e Add package from git URL...**\n\n```\nhttps://github.com/Glade-tool/glade-mcp-unity.git?path=/unity-bridge\n```\n\nThe Unity bridge starts automatically on `localhost:8765`.\n\n### 2. Connect your AI client\n\nInstall [uv](https://docs.astral.sh/uv/getting-started/installation/) (one-time):\n\n- **Mac/Linux:** `curl -LsSf https://astral.sh/uv/install.sh | sh`\n- **Windows:** `powershell -ExecutionPolicy ByPass -c \"irm https://astral.sh/uv/install.ps1 | iex\"`\n\nThen add the MCP config to your AI client. The client launches the MCP server automatically - no manual server step.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Code\u003c/strong\u003e\u003c/summary\u003e\n\n**Option A — one-liner (recommended):**\n\n- **Mac/Linux:** `claude mcp add --transport stdio gladekit-unity --scope user -- uvx gladekit-mcp`\n- **Windows:** `claude mcp add --transport stdio gladekit-unity --scope user -- cmd /c uvx gladekit-mcp`\n\n**Option B — manual config:**\n\nIf you cloned this repo, the `.mcp.json` auto-connects. Otherwise add to your Claude Code MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"gladekit-unity\": {\n      \"command\": \"uvx\",\n      \"args\": [\"gladekit-mcp\"]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCursor\u003c/strong\u003e\u003c/summary\u003e\n\n`Cursor Settings \u003e MCP \u003e Add new MCP server`:\n\n```json\n{\n  \"mcpServers\": {\n    \"gladekit-unity\": {\n      \"command\": \"uvx\",\n      \"args\": [\"gladekit-mcp\"]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Desktop\u003c/strong\u003e\u003c/summary\u003e\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"gladekit-unity\": {\n      \"command\": \"uvx\",\n      \"args\": [\"gladekit-mcp\"]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWindsurf\u003c/strong\u003e\u003c/summary\u003e\n\nIn Windsurf, open **Windsurf Settings → MCP Servers → Open MCP Registry**, then click the settings (gear) icon to open `mcp_config.json`. Add the snippet below (or edit `~/.codeium/windsurf/mcp_config.json` directly):\n\n```json\n{\n  \"mcpServers\": {\n    \"gladekit-unity\": {\n      \"command\": \"uvx\",\n      \"args\": [\"gladekit-mcp\"]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eUnity AI Gateway (native in-editor)\u003c/strong\u003e\u003c/summary\u003e\n\nUnity's built-in AI Assistant can connect to GladeKit via MCP. This gives you GladeKit's 230+ tools directly inside the Unity Editor - no external AI client needed.\n\n**Requires:** Unity 6000.3+ with AI Gateway package (`com.unity.ai.assistant@2.x`)\n\n1. In Unity, go to **Edit \u003e Project Settings \u003e AI \u003e MCP Servers**\n2. Click **Open Config File** and paste:\n\n```json\n{\n  \"enabled\": true,\n  \"path\": \"\",\n  \"mcpServers\": {\n    \"gladekit-unity\": {\n      \"type\": \"stdio\",\n      \"command\": \"uvx\",\n      \"args\": [\"gladekit-mcp\"]\n    }\n  }\n}\n```\n\n3. Under **Path Configuration**, paste your terminal's PATH into **User Path** so Unity can find `uvx`. To get your PATH:\n   - **Mac/Linux:** `echo $PATH`\n   - **Windows:** `echo %PATH%`\n4. Click **Refresh Config File and Reload Servers**\n5. Verify the server shows **StartedSuccessfully** in the Servers section\n\n\u003e **Tip:** If `uvx` isn't found, add the directory containing it to the `path` field in the config (e.g., `\"/opt/homebrew/bin\"` on Mac or `\"C:\\\\Users\\\\\u003cyou\u003e\\\\.local\\\\bin\"` on Windows). Alternatively, use `pip install gladekit-mcp` and set `\"command\": \"python\"` with `\"args\": [\"-m\", \"gladekit_mcp\"]`.\n\n\u003e **Troubleshooting:** If the server shows **FailedToStart**, click **Inspect** for error details. The most common cause is PATH - Unity's PATH differs from your terminal's PATH. See the [Troubleshooting](#troubleshooting) section below.\n\n\u003e **Paid tier (`GLADEKIT_API_KEY`):** To enable RAG knowledge base and cross-session memory on any client, add the key to the `env` field of your config. See [Cloud intelligence](#cloud-intelligence) below.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eVS Code (GitHub Copilot)\u003c/strong\u003e\u003c/summary\u003e\n\nAdd to `.vscode/mcp.json` in your workspace:\n\n```json\n{\n  \"servers\": {\n    \"gladekit-unity\": {\n      \"type\": \"stdio\",\n      \"command\": \"uvx\",\n      \"args\": [\"gladekit-mcp\"]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n---\n\n## Why GladeKit Unity MCP?\n\n| Feature            | GladeKit Unity MCP                                                                                   | unity-mcp (CoplayDev)  |\n| ------------------ | ---------------------------------------------------------------------------------------------------- | ---------------------- |\n| Tools              | **235+ granular tools** across 16 categories                                                         | ~40 consolidated tools |\n| System prompt      | **Full Unity intelligence** - render pipeline detection, input system routing, tool discipline rules | None                   |\n| Project context    | **GLADE.md** - inject your game design doc into every request                                        | None                   |\n| Script search      | **Semantic search** via OpenAI embeddings (bring your own key)                                       | None                   |\n| Skill calibration  | **Auto-detects beginner/expert**, adapts response verbosity                                          | None                   |\n| In-session memory  | `remember_for_session` - AI stores and recalls facts mid-conversation                                | None                   |\n| Cloud intelligence | `GLADEKIT_API_KEY` - RAG knowledge base, cross-session memory, convention extraction                 | None                   |\n| License            | MIT                                                                                                  | MIT                    |\n\nAll core features are **free and local**. The cloud intelligence layer is optional and requires a `GLADEKIT_API_KEY`.\n\n---\n\n## Features\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e235+ tools across 16 categories\u003c/strong\u003e\u003c/summary\u003e\n\nScene • GameObjects • Scripts • Prefabs • Materials • Lighting • VFX \u0026 Audio • Animation • IK • Physics • Camera • UI • Input System • Terrain \u0026 NavMesh • Profiler • Asset Pipeline\n\nAll 235+ tools are dispatchable. Claude Code sees ~80 curated core tools by default (Claude Code has a practical 128-tool limit; Unity AI Gateway has a cloud token budget). Use `get_relevant_tools` to discover extended tools for specialized work (blend trees, NavMesh, IK, Cinemachine, etc.).\n\n**5 meta-tools:** `get_relevant_tools` (task-based tool discovery + RAG context), `remember_for_session` (store facts), `recall_session_memories` (retrieve facts), `batch_execute` (multi-step tool dispatch), `search_project_scripts` (semantic code search).\n\n**7 MCP resources:** Bridge health, project context, scene hierarchy, project scripts, current selection, GLADE.md, and session memory.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eGLADE.md\u003c/strong\u003e\u003c/summary\u003e\n\nCreate a `GLADE.md` file in your Unity project root. The MCP server reads it and injects it into every request. Works as a permanent context layer: your game's design intent, conventions, and constraints are always in scope.\n\n```markdown\n# My Game\n\nGenre: 3D platformer\nPlayer: CharacterController, double jump enabled\nArt style: pixel art, 16x16 sprites\nNaming: PascalCase for scripts, snake_case for folders\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eScript semantic search\u003c/strong\u003e\u003c/summary\u003e\n\nSet `OPENAI_API_KEY` in your MCP config's `env` field and the server ranks project scripts by semantic similarity to your query. Ask \"how does the enemy spawn?\" and the right script surfaces — even if it's not named `EnemySpawner`.\n\nEverything needed ships with the package; no install flags or extras required. Get a key at [platform.openai.com/api-keys](https://platform.openai.com/api-keys) (pay-as-you-go, pennies per search via `text-embedding-3-small`).\n\n```json\n{\n  \"mcpServers\": {\n    \"gladekit-unity\": {\n      \"command\": \"uvx\",\n      \"args\": [\"gladekit-mcp\"],\n      \"env\": { \"OPENAI_API_KEY\": \"sk-...\" }\n    }\n  }\n}\n```\n\nWithout the key, `search_project_scripts` still returns scripts - just unranked. Keys are never sent anywhere except OpenAI's embedding endpoint.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eSkill calibration\u003c/strong\u003e\u003c/summary\u003e\n\nThe server tracks vocabulary across your messages and detects whether you're a Unity beginner or expert. Beginners get plain-language explanations and encouraging framing. Experts get terse, technical responses. Calibration persists to `.gladekit/skill_level.json` in your project.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eAsset pipeline (free CC0 imports)\u003c/strong\u003e\u003c/summary\u003e\n\nThree tools for finding and importing free, commercially-usable assets directly from your AI client. All assets are CC0 (public domain — no attribution required). v1 ships [Kenney.nl](https://kenney.nl) packs; additional providers (Freesound, Quaternius, AI generation) are on the roadmap.\n\n| Tool | Purpose |\n| --- | --- |\n| `find_asset` | Search ranked candidates by description, asset type, style, and license. Read-only, no Unity dispatch. |\n| `import_asset` | Download, extract, place under `Assets/`, configure import settings for the asset type, and write a `.gladekit-asset.json` sidecar with license metadata. Requires explicit `licenseAcknowledged: true`. |\n| `list_imported_assets` | Walk the project's sidecars and surface a license audit (license counts, attribution-required count). Useful before a commercial release. |\n\n**Example workflow** (Cursor, Claude Code, Windsurf — same pattern across clients):\n\n\u003e **You:** I'm prototyping a 2D platformer and need placeholder character + tile art. Find me something free.\n\nThe AI calls `find_asset`:\n\n```json\n{\n  \"description\": \"platformer character and tiles\",\n  \"asset_type\": \"sprite_2d\",\n  \"max_results\": 5\n}\n```\n\nResult (truncated):\n\n```json\n{\n  \"success\": true,\n  \"candidates\": [\n    {\n      \"id\": \"kenney/platformer-pack-redux\",\n      \"name\": \"Platformer Pack Redux\",\n      \"description\": \"360+ side-scrolling platformer sprites — characters, enemies, tiles, items, hazards.\",\n      \"license\": \"CC0-1.0\",\n      \"license_summary\": \"Public domain. No attribution required for any use, including commercial.\",\n      \"official_page\": \"https://kenney.nl/assets/platformer-pack-redux\",\n      \"approx_assets\": 360,\n      \"score\": 0.92\n    },\n    { \"id\": \"kenney/pixel-platformer\", \"score\": 0.71, ... },\n    { \"id\": \"kenney/tiny-town\", \"score\": 0.45, ... }\n  ],\n  \"count\": 3\n}\n```\n\n\u003e **You:** Let's go with Platformer Pack Redux. Import it to `Assets/Sprites/Platformer/`. I accept the CC0 license.\n\nThe AI calls `import_asset`:\n\n```json\n{\n  \"candidateId\": \"kenney/platformer-pack-redux\",\n  \"assetType\": \"sprite_2d\",\n  \"licenseAcknowledged\": true,\n  \"targetPath\": \"Assets/Sprites/Platformer/\"\n}\n```\n\nThe MCP server resolves the download URL locally (catalog is bundled with the server — no cloud dependency), passes it to the Unity bridge, which downloads, extracts, configures `TextureImporter` for each sprite (Texture Type = Sprite, Filter Mode = Point, Uncompressed) and writes the license sidecar. Result:\n\n```json\n{\n  \"success\": true,\n  \"message\": \"Imported 360 file(s) from kenney/platformer-pack-redux to Assets/Sprites/Platformer/\",\n  \"downloadedBytes\": 1842340,\n  \"importedFileCount\": 360,\n  \"configuredImportSettings\": 354,\n  \"license\": \"CC0-1.0\",\n  \"sidecarPath\": \"Assets/Sprites/Platformer/.gladekit-asset.json\"\n}\n```\n\nThe sprites appear in the Unity Project window, ready to drop into a scene.\n\n\u003e **You:** Before I ship, audit my imported assets. Anything that needs attribution?\n\nThe AI calls `list_imported_assets`:\n\n```json\n{\n  \"success\": true,\n  \"count\": 1,\n  \"licenseCounts\": { \"CC0-1.0\": 1 },\n  \"attributionRequiredCount\": 0,\n  \"entries\": [\n    {\n      \"candidate_id\": \"kenney/platformer-pack-redux\",\n      \"license\": \"CC0-1.0\",\n      \"asset_type\": \"sprite_2d\",\n      \"imported_at\": \"2026-05-10T09:37:42Z\",\n      \"target_path\": \"Assets/Sprites/Platformer/\",\n      \"imported_file_count\": 360,\n      \"sidecar_path\": \"Assets/Sprites/Platformer/.gladekit-asset.json\"\n    }\n  ]\n}\n```\n\nCC0 needs no attribution; the audit report is empty for required attributions. If you imported a CC-BY asset later, it would surface here so you remember to credit it.\n\n**Security and license discipline:**\n\n- The LLM never sees download URLs. URL resolution happens cloud/MCP-side; the bridge tool refuses if the resolved fields are missing or LLM-injected.\n- `licenseAcknowledged: true` is required on every `import_asset` call. The bridge refuses without it. Do not set it without explicit user confirmation.\n- The bridge validates `_resolvedUrl`'s host against a per-provider allowlist (`AssetPipelineGuard.IsResolvedUrlHostAllowed`) before downloading. Even a client bypassing both the cloud and MCP preprocessors cannot smuggle in an arbitrary download URL — unknown hosts fail closed. HTTPS only.\n- Every imported asset bundle gets a `.gladekit-asset.json` sidecar recording the candidate id, provider, license, attribution string, source URL, and timestamp. `list_imported_assets` reads these for the audit report.\n- Asset Pipeline tools are gated by `AssetPipelineGuard` on the bridge side. A misconfigured client cannot bypass it.\n\n**Disabling the pipeline (for studio / curated-asset workflows):**\n\nSet `GLADEKIT_MCP_DISABLE_ASSET_PIPELINE=1` in the MCP server's environment to suppress the three tools entirely. They will not appear in the tool list and dispatch will refuse with a clear error. This is the recommended setting for projects that already have a managed asset workflow (Perforce-tracked libraries, internal asset stores) where AI-driven external downloads aren't appropriate.\n\n```json\n{\n  \"mcpServers\": {\n    \"gladekit-unity\": {\n      \"command\": \"uvx\",\n      \"args\": [\"gladekit-mcp\"],\n      \"env\": { \"GLADEKIT_MCP_DISABLE_ASSET_PIPELINE\": \"1\" }\n    }\n  }\n}\n```\n\nThe Unity bridge enforces the same gate via `EditorPrefs` (`GladeAI.AssetPipelineEnabled`, default `true`). Toggle it via `POST http://localhost:8765/api/settings { \"assetPipelineEnabled\": false }`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCloud intelligence\u003c/strong\u003e\u003c/summary\u003e\n\nSet `GLADEKIT_API_KEY` in your MCP config's `env` field to unlock cloud-powered features:\n\n- **RAG knowledge base** - `get_relevant_tools` queries a curated Unity knowledge base (API corrections, error patterns) and injects results alongside tool recommendations.\n- **Cross-session persistent memory** - facts stored with `remember_for_session` persist across sessions and are re-injected into the system prompt.\n- **Convention extraction** - the cloud backend distills coding patterns (naming, architecture, preferences) from your accumulated memories.\n\nAll cloud features degrade gracefully: if the key is missing or the cloud is unreachable, everything works normally.\n\n```json\n{\n  \"mcpServers\": {\n    \"gladekit-unity\": {\n      \"command\": \"uvx\",\n      \"args\": [\"gladekit-mcp\"],\n      \"env\": { \"GLADEKIT_API_KEY\": \"your-api-key\" }\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eTransports (stdio + streamable HTTP)\u003c/strong\u003e\u003c/summary\u003e\n\nGladeKit MCP supports two transports. **stdio is the default** and works with all MCP clients - every config above uses stdio.\n\n**Streamable HTTP** is for clients that prefer URL-based config (Claude Desktop URL mode, custom clients). Launch the server manually, then point your client at the URL:\n\n```bash\n# Defaults: host=127.0.0.1, port=8766, path=/mcp\ngladekit-mcp --transport http\n\n# Custom host/port/path\ngladekit-mcp --transport http --host 127.0.0.1 --port 9000 --path /mcp\n```\n\nEndpoints:\n\n- `POST/GET/DELETE http://127.0.0.1:8766/mcp` - MCP streamable-HTTP endpoint\n- `GET http://127.0.0.1:8766/health` - liveness check\n\n**Security defaults:**\n\n- Binds **loopback-only** (`127.0.0.1`). Use `--host 0.0.0.0` to expose on LAN - opt-in only.\n- **DNS-rebinding protection** enabled for loopback binds: requests with a `Host` header other than `127.0.0.1:\u003cport\u003e` or `localhost:\u003cport\u003e` are rejected with `421 Misdirected Request`.\n- Non-loopback binds disable rebinding protection (you've taken responsibility for the network) and print a warning on startup.\n\n**Client config example:**\n\n```json\n{\n  \"mcpServers\": {\n    \"gladekit-unity\": {\n      \"url\": \"http://127.0.0.1:8766/mcp\"\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eEnvironment Variables\u003c/strong\u003e\u003c/summary\u003e\n\n| Variable                              | Required | Description                                                                                     |\n| ------------------------------------- | -------- | ----------------------------------------------------------------------------------------------- |\n| `UNITY_BRIDGE_URL`                    | No       | Unity bridge URL (default: `http://localhost:8765`)                                             |\n| `OPENAI_API_KEY`                      | No       | Enables script semantic search via embeddings ([get one](https://platform.openai.com/api-keys)) |\n| `GLADEKIT_API_KEY`                    | No       | Enables RAG knowledge base, cross-session memory, convention extraction                         |\n| `GLADEKIT_MCP_DISABLE_ASSET_PIPELINE` | No       | Set to `1` to suppress `find_asset` / `import_asset` / `list_imported_assets` (curated-asset workflows) |\n| `GLADEKIT_MCP_SUPPRESS_BRIDGE_WARNING`| No       | Set to `1` to silence the stderr warning when the Unity bridge is older than the recommended version |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eTroubleshooting\u003c/strong\u003e\u003c/summary\u003e\n\n**Bridge not connecting**\n\n- Open Unity and wait for it to finish importing assets - the bridge starts automatically\n- Check **Window \u003e GladeKit MCP** in Unity - the Bridge and AI Client indicators show connection status\n- Verify nothing else is using port 8765: `lsof -i :8765` (Mac/Linux) or `netstat -ano | findstr 8765` (Windows)\n\n**AI client can't find `uvx`**\n\n- Install [uv](https://docs.astral.sh/uv/getting-started/installation/): `curl -LsSf https://astral.sh/uv/install.sh | sh` (Mac/Linux) or `pip install uv`\n- Or use `pip install gladekit-mcp` and change the config command from `\"uvx\"` to `\"python\"` with args `[\"-m\", \"gladekit_mcp\"]`\n\n**Tools not appearing in Claude Code**\n\n- Claude Code has a practical ~128-tool limit. GladeKit shows ~80 curated core tools by default - this is intentional. All 230+ are dispatchable: use `get_relevant_tools` to find extended tools by task description.\n\n**`GLADE.md` not being picked up**\n\n- The file must be named exactly `GLADE.md` (case-sensitive on Mac/Linux) and placed in the Unity project root (same directory as `Assets/`, `Packages/`, `ProjectSettings/`)\n\n**Stderr warning: `Unity bridge X.Y.Z is older than recommended`**\n\n- Unity caches UPM git packages and never refetches, so an `?path=unity-bridge` install drifts behind `main` over time. Update via Unity → **Window \u003e Package Manager \u003e GladeKit MCP Bridge \u003e Update**, or pin the manifest entry to a specific tag so future updates are explicit:\n\n  ```json\n  \"com.gladekit.mcp-bridge\": \"https://github.com/Glade-tool/glade-mcp-unity.git?path=unity-bridge#v0.4.1\"\n  ```\n\n- The same warning also appears as a one-shot prefix on the next tool response so you see it in chat. To silence both: add `\"GLADEKIT_MCP_SUPPRESS_BRIDGE_WARNING\": \"1\"` to the `env` of your MCP client config.\n\n**Unity AI Gateway - server shows FailedToStart**\n\n- Click **Inspect** in the Servers section for the error message\n- Most common cause: Unity can't find `uvx`. Under **Path Configuration**, paste your terminal's full PATH into **User Path**, then click **Refresh Config File and Reload Servers**\n- On Windows: `echo %PATH%` in Command Prompt. On Mac/Linux: `echo $PATH`\n- Alternative: use `pip install gladekit-mcp` and set the command to `\"python\"` with args `[\"-m\", \"gladekit_mcp\"]` - avoids the `uvx` PATH dependency\n- Validate outside Unity first: run `uvx gladekit-mcp` in a terminal (you should see the `gladekit-mcp v...` banner on stderr)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eArchitecture\u003c/strong\u003e\u003c/summary\u003e\n\n```\n[AI Client: Cursor / Claude Code / Windsurf / Claude Desktop / Unity AI Gateway]\n         |\n         | stdio or HTTP MCP protocol\n         v\n[gladekit_mcp Python process]\n    bridge.py -\u003e HTTP localhost:8765\n    prompts.py -\u003e system prompt (auto-reads render pipeline, input system, GLADE.md)\n    tools/ -\u003e 230+ tool schemas + dispatch\n    cloud.py -\u003e optional GLADEKIT_API_KEY -\u003e api.gladekit.com\n         |\n         | HTTP localhost:8765\n         v\n[Unity Bridge -- C# Editor extension (UPM package)]\n    UnityBridgeServer.cs -\u003e HttpListener on :8765\n    230+ ITool implementations\n    UnityContextGatherer -\u003e scene, scripts, packages, render pipeline\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eContributing\u003c/strong\u003e\u003c/summary\u003e\n\nThe Unity bridge (`unity-bridge/`) is the source of truth for C# tools. Adding a tool requires two files:\n\n**1. C# implementation** (`unity-bridge/Editor/Tools/Implementations/\u003cCategory\u003e/MyTool.cs`):\n\n```csharp\npublic class MyTool : ITool\n{\n    public string Name =\u003e \"my_tool\";\n    public string Execute(Dictionary\u003cstring, object\u003e args)\n    {\n        // ... Unity Editor API calls ...\n        return ToolUtils.CreateSuccessResponse(\"Done\", extras);\n    }\n}\n```\n\n**2. Python schema** (`mcp-server/src/gladekit_mcp/tools/\u003ccategory\u003e.py`):\n\nAdd an entry to the category's tool list following the existing format (OpenAI function-calling schema).\n\nTools are auto-discovered via reflection - no registration needed beyond these two files.\n\n\u003c/details\u003e\n\n---\n\n**License:** MIT - see [LICENSE](LICENSE).\n\nThe [GladeKit desktop app](https://gladekit.com) is a separate commercial product that layers streaming, miss recovery, and a memory UI on top of this MCP server.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglade-tool%2Fglade-mcp-unity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglade-tool%2Fglade-mcp-unity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglade-tool%2Fglade-mcp-unity/lists"}