MCP server for browsing, downloading, extracting, and converting Unity Asset Store packages. Works with Claude Code and other MCP-compatible AI agents.
# Clone and install dependencies
git clone <repo-url> && cd UnityStoreMCP
bun install- FBX to glTF:
brew install fbx2gltf(macOS) or install FBX2glTF - TGA/PSD to PNG: uses macOS
sipsby default, orffmpegas fallback
Add to your MCP client config (e.g. ~/.claude/settings.json):
{
"mcpServers": {
"unity-store": {
"command": "bun",
"args": ["run", "/path/to/UnityStoreMCP/src/index.ts"]
}
}
}The server authenticates using cookies from assetstore.unity.com:
- Log into https://assetstore.unity.com in your browser
- Open DevTools (F12) → Network tab
- Copy the full
Cookieheader value from any request - Use
configure-authwithmethod: "session_token"and paste the cookie string
The server exchanges these cookies for the internal tokens needed for downloads.
Downloaded, extracted, and converted assets are stored in ~/.unity-mcp/. Override with UNITY_MCP_DATA_DIR environment variable.
Unity Asset Store packages are served as AES-256-CBC encrypted blobs. The download-asset tool handles this automatically:
- Fetches the download URL and a 96-character hex decryption key from Unity's Kharma API
- Downloads the encrypted file via streaming (supports files >2GB)
- Splits the key: first 32 bytes → AES key, last 16 bytes → IV
- Decrypts with
openssland outputs a standard.unitypackage(gzip tar)
