# 3D AI Agent Avatar

Validates and compresses GLB assets while enabling 3D agent avatars with Solana wallets and OpenAI speech.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 249
- Author: nirholas
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/nirholas/three.ws/tree/HEAD/packages/avatar-agent-mcp
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/3d-ai-agent-avatar

## What it does

This MCP server combines a 3D asset processing pipeline with runtime logic for digital avatars. On the graphics side, it inspects geometry, executes official Khronos validation via `gltf-validator`, and shrinks GLB models using `@gltf-transform/core`. It prunes unused attributes, applies Draco compression, and renders snapshot images.

Beyond raw 3D processing, the server configures conversational characters. Avatars speak through OpenAI TTS, hold Solana keypairs, and trigger trades on pump.fun. Basic geometry inspection runs without external credentials. Blockchain transactions move real tokens and require dedicated RPC endpoints with funded keys.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `SOLANA_RPC_URL`, `ETH_RPC_URL`, `HELIUS_API_KEY`, `NVIDIA_API_KEY`, `OPENAI_API_KEY`, `REPLICATE_API_TOKEN`, `REPLICATE_TEXT_TO_AVATAR_MODEL`, `SOLANA_SECRET_KEY`, `THREE_MINT`, `MAX_SOL_PER_TX` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add 3d-ai-agent-avatar -e HELIUS_API_KEY=<HELIUS_API_KEY> -e NVIDIA_API_KEY=<NVIDIA_API_KEY> -e OPENAI_API_KEY=<OPENAI_API_KEY> -e REPLICATE_API_TOKEN=<REPLICATE_API_TOKEN> -e SOLANA_SECRET_KEY=<SOLANA_SECRET_KEY> -- npx -y @three-ws/avatar-agent
```
Replace <…> with your own values. 6 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add avatar-agent-mcp --env SOLANA_RPC_URL=<SOLANA_RPC_URL> --env ETH_RPC_URL=<ETH_RPC_URL> --env HELIUS_API_KEY=<HELIUS_API_KEY> --env NVIDIA_API_KEY=<NVIDIA_API_KEY> --env OPENAI_API_KEY=<OPENAI_API_KEY> -- npx -y @three-ws/avatar-agent
```
Replace <…> with your own values. 6 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "avatar-agent-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@three-ws/avatar-agent"
            ],
            "env": {
                "SOLANA_RPC_URL": "<SOLANA_RPC_URL>",
                "ETH_RPC_URL": "<ETH_RPC_URL>",
                "HELIUS_API_KEY": "<HELIUS_API_KEY>",
                "NVIDIA_API_KEY": "<NVIDIA_API_KEY>",
                "OPENAI_API_KEY": "<OPENAI_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 6 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "avatar-agent-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@three-ws/avatar-agent"
            ],
            "env": {
                "SOLANA_RPC_URL": "<SOLANA_RPC_URL>",
                "ETH_RPC_URL": "<ETH_RPC_URL>",
                "HELIUS_API_KEY": "<HELIUS_API_KEY>",
                "NVIDIA_API_KEY": "<NVIDIA_API_KEY>",
                "OPENAI_API_KEY": "<OPENAI_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 6 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SOLANA_RPC_URL=<SOLANA_RPC_URL> -e ETH_RPC_URL=<ETH_RPC_URL> -e HELIUS_API_KEY=<HELIUS_API_KEY> -e NVIDIA_API_KEY=<NVIDIA_API_KEY> -e OPENAI_API_KEY=<OPENAI_API_KEY> avatar-agent-mcp npx -y @three-ws/avatar-agent
```
Replace <…> with your own values. 6 more environment variables are in the server README

## When to use it
- validate GLB files against the Khronos specification
- compress 3D meshes using Draco and deduplication
- render PNG thumbnails from GLB scenes
- connect a Solana wallet to an animated 3D avatar

## Example prompts
- Validate `character.glb` against the Khronos spec and output the triangle count.
- Run Draco compression on `mesh.glb` and display the saved byte size.
- Generate a Solana wallet for the avatar and trigger an OpenAI TTS voice clip.

## Similar
- [Pascal 3D Editor](https://affpapa.org/en/nevibecode/mcp/pascal-3d-editor.md) — MCP server · ★ 25085
- [Unity-MCP](https://affpapa.org/en/nevibecode/mcp/unity-mcp.md) — MCP server · ★ 4523
- [mcp](https://affpapa.org/en/nevibecode/mcp/sceneview-mcp.md) — MCP server · ★ 1348
- [Gearboy MCP Server](https://affpapa.org/en/nevibecode/mcp/gearboy-mcp-server.md) — MCP server · ★ 1219
- [ChiR24-unreal_mcp_server](https://affpapa.org/en/nevibecode/mcp/chir24-unreal-mcp-server.md) — MCP server · ★ 975
- [Nova3D](https://affpapa.org/en/nevibecode/mcp/nova3d.md) — MCP server · ★ 733

From the same set: [nirholas/three.ws](https://affpapa.org/en/nevibecode/by/nirholas/three.ws.md) — 43 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
