Skip to content

Armax/unitystore-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unity Asset Store MCP

Beta

MCP server for browsing, downloading, extracting, and converting Unity Asset Store packages. Works with Claude Code and other MCP-compatible AI agents.

Install

# Clone and install dependencies
git clone <repo-url> && cd UnityStoreMCP
bun install

Optional: conversion dependencies

  • FBX to glTF: brew install fbx2gltf (macOS) or install FBX2glTF
  • TGA/PSD to PNG: uses macOS sips by default, or ffmpeg as fallback

Setup

Add to your MCP client config (e.g. ~/.claude/settings.json):

{
  "mcpServers": {
    "unity-store": {
      "command": "bun",
      "args": ["run", "/path/to/UnityStoreMCP/src/index.ts"]
    }
  }
}

Authentication

The server authenticates using cookies from assetstore.unity.com:

  1. Log into https://assetstore.unity.com in your browser
  2. Open DevTools (F12) → Network tab
  3. Copy the full Cookie header value from any request
  4. Use configure-auth with method: "session_token" and paste the cookie string

The server exchanges these cookies for the internal tokens needed for downloads.

Tools

Tool Description
configure-auth Authenticate with Unity Asset Store
search-assets Search the store by query
get-asset-details Get details for specific asset IDs
list-my-assets List your purchased/owned assets
download-asset Download a .unitypackage by ID
list-local-packages List Unity Editor cached packages
inspect-package Preview package contents without extracting
extract-package Extract .unitypackage to disk
convert-assets Convert Unity assets to Three.js formats (FBX→glTF, materials, textures)
list-extracted List extracted/converted directories
browse-files Browse files in asset directories

Data Directory

Downloaded, extracted, and converted assets are stored in ~/.unity-mcp/. Override with UNITY_MCP_DATA_DIR environment variable.

Package Decryption

Unity Asset Store packages are served as AES-256-CBC encrypted blobs. The download-asset tool handles this automatically:

  1. Fetches the download URL and a 96-character hex decryption key from Unity's Kharma API
  2. Downloads the encrypted file via streaming (supports files >2GB)
  3. Splits the key: first 32 bytes → AES key, last 16 bytes → IV
  4. Decrypts with openssl and outputs a standard .unitypackage (gzip tar)

About

Unity Asset Store MCP server. Browse, download, extract, and convert .unitypackage assets to glTF/GLB formats formatsfrom Claude Code or any MCP client

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors