Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Description from the maker (original English)
3D AI Agent Avatar — render any GLB, give it a Solana wallet, a voice, and pump.fun powers.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
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, REQUIRE_CONFIRMValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"3d-ai-agent-avatar": {
"command": "npx",
"args": [
"-y",
"@three-ws/avatar-agent"
],
"env": {
"SOLANA_RPC_URL": "your-value",
"ETH_RPC_URL": "your-value",
"HELIUS_API_KEY": "your-value",
"NVIDIA_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value",
"REPLICATE_API_TOKEN": "your-value",
"REPLICATE_TEXT_TO_AVATAR_MODEL": "your-value",
"SOLANA_SECRET_KEY": "your-value",
"THREE_MINT": "your-value",
"MAX_SOL_PER_TX": "your-value",
"REQUIRE_CONFIRM": "your-value"
}
}
}
}Run this in your terminal
claude mcp add 3d-ai-agent-avatar --env SOLANA_RPC_URL=your-value --env ETH_RPC_URL=your-value --env HELIUS_API_KEY=your-value --env NVIDIA_API_KEY=your-value --env OPENAI_API_KEY=your-value --env REPLICATE_API_TOKEN=your-value --env REPLICATE_TEXT_TO_AVATAR_MODEL=your-value --env SOLANA_SECRET_KEY=your-value --env THREE_MINT=your-value --env MAX_SOL_PER_TX=your-value --env REQUIRE_CONFIRM=your-value -- npx -y @three-ws/avatar-agentFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"3d-ai-agent-avatar": {
"command": "npx",
"args": [
"-y",
"@three-ws/avatar-agent"
],
"env": {
"SOLANA_RPC_URL": "your-value",
"ETH_RPC_URL": "your-value",
"HELIUS_API_KEY": "your-value",
"NVIDIA_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value",
"REPLICATE_API_TOKEN": "your-value",
"REPLICATE_TEXT_TO_AVATAR_MODEL": "your-value",
"SOLANA_SECRET_KEY": "your-value",
"THREE_MINT": "your-value",
"MAX_SOL_PER_TX": "your-value",
"REQUIRE_CONFIRM": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"3d-ai-agent-avatar": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@three-ws/avatar-agent"
],
"env": {
"SOLANA_RPC_URL": "your-value",
"ETH_RPC_URL": "your-value",
"HELIUS_API_KEY": "your-value",
"NVIDIA_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value",
"REPLICATE_API_TOKEN": "your-value",
"REPLICATE_TEXT_TO_AVATAR_MODEL": "your-value",
"SOLANA_SECRET_KEY": "your-value",
"THREE_MINT": "your-value",
"MAX_SOL_PER_TX": "your-value",
"REQUIRE_CONFIRM": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
SOLANA_RPC_URL envETH_RPC_URL envREPLICATE_TEXT_TO_AVATAR_MODEL envTHREE_MINT envMAX_SOL_PER_TX envREQUIRE_CONFIRM envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account nirholas, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: HELIUS_API_KEY, NVIDIA_API_KEY, OPENAI_API_KEY, REPLICATE_API_TOKEN, SOLANA_SECRET_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.2.3) reached the registry 27 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
@three-ws/avatar-agent
An MCP server that turns any GLB into a 3D AI agent — inspect/validate/optimize models, then give one a Solana wallet, a voice, and pump.fun powers.
Install · Setup · Quick start · Tools · Requirements · three.ws
A single Model Context Protocol server that is two things at once. It is a general-purpose 3D toolkit —
inspect_glb,validate_glb,optimize_glb,thumbnail_glb, andviewer_urlwork on any GLB/glTF model, no avatar required, powered by@gltf-transform/coreand Khronos's officialgltf-validator. It is also a 3D AI agent in a box — spawn a textured GLB avatar, give it a voice (OpenAI TTS), hand it a Solana wallet, and run pump.fun operations (Jupiter swaps, atomic Jito-bundled launches, creator-fee collection). Built and maintained by three.ws. Registry name:io.github.nirholas/3D-AI-Agent-Avatar.
For a lightweight, read-only avatar viewer (no wallet, no signing), see the sibling package @three-ws/avatar-mcp, which renders a live, rotatable on-chain avatar inline in the chat.
npm install @three-ws/avatar-agent
Run it directly with npx (no install needed) or install globally for the CLI:
npx -y @three-ws/avatar-agent # MCP stdio server
npm install -g @three-ws/avatar-agent # exposes three-avatar-agent
Add the server to your MCP client. Claude Code, one line:
claude mcp add avatar-agent -- npx -y @three-ws/avatar-agent
Claude Desktop / Cursor (JSON config):
{
"mcpServers": { "avatar-agent": { "command": "npx", "args": ["-y", "@three-ws/avatar-agent"], "env": { "SOLANA_RPC_URL": "https://api.mainnet-beta.solana.com", "OPENAI_API_KEY": "sk-...", "REPLICATE_API_TOKEN": "r8_..." } } } }
The 3D tools (inspect_glb, validate_glb, optimize_glb, thumbnail_glb, viewer_url) and pump_snapshot work with no environment variables. Voice, generation, and signing tools need the keys in Requirements. Restart your client after editing the config.
Inspect the full tool surface in a GUI:
npx -y @modelcontextprotocol/inspector npx -y @three-ws/avatar-agent
Once connected, ask your client in plain language:
Inspect
https://three.ws/avatars/cz.glb— how many triangles? Then validate it against the Khronos spec and optimize it with Draco.
Runs inspect_glb → validate_glb → optimize_glb({ draco: true }), returning the rewritten GLB inline with honest before/after sizes. Note that cz.glb already ships EXT_meshopt_compression + WebP textures, so re-encoding it with Draco reports a negative savedBytes: the pipeline never hides that, and an uncompressed source is where the wins actually are.
Spawn the
czavatar, give him shades, mint him athree-prefixed Solana wallet, pull a snapshot of $THREE, and have him say "we're so back."
Runs spawn_avatar → dress_avatar → wallet_create({ vanityPrefix: "three" }) → pump_snapshot → speak.
All 24 tools are free MCP tools: there is no per-call x402 charge. Tools marked execution sign and broadcast real Solana transactions that move real funds; configure your client's tool-approval flow for them.
Every tool ships MCP tool annotations: reads advertise readOnlyHint: true, and the four execution tools (wallet_send, pump_buy, pump_launch, pump_collect_fees) are flagged destructiveHint: true, so annotation-aware MCP clients prompt for confirmation before running them. The hints are advisory — the server-side REQUIRE_CONFIRM gate and spend caps (see Safety) apply regardless of client.
| Tool | What it does |
|---|---|
inspect_glb | Mesh / material / texture / animation / skin breakdown, bounding box, vertex and triangle counts. @gltf-transform/core. |
validate_glb | Runs Khronos's official gltf-validator; returns errors, warnings, infos, hints with JSON pointers. |
optimize_glb | Dedup → prune → weld → optional Draco. Returns the rewritten bytes inline with before/after sizes and a signed savedBytes (negative when re-encoding an already-compressed model costs more than it saves). Draco- and meshopt-compressed inputs are decoded on read, so a compressed avatar works like any other. |
thumbnail_glb | Renders any GLB to a PNG via three.ws's hosted three-light rig + auto-framing camera. Returns base64 PNG inline. |
viewer_url | Builds a three.ws/viewer?... URL + paste-ready iframe for any GLB or avatar session (background, auto-rotate, camera preset or explicit orbit, AR mode, dimensions). |
| Tool | What it does |
|---|---|
list_avatars | Catalog of default GLB avatars (default, cz), accessories, and pose presets. |
list_animations | Live fetch of three.ws's pose presets (T-pose, wave, thinker, jump, dance, warrior2, …) grouped by category. |
spawn_avatar | Creates an avatar session from a preset or custom GLB URL. Returns a sessionId. |
dress_avatar | Applies accessories + a pose to a session. |
render_avatar | Renders a posed avatar to a PNG — pose preset + camera orbit (theta/phi/radius) + ARKit-52 facial expression. |
generate_avatar | Text/image-to-3D via Replicate (Hunyuan-3D). New session preloaded with the generated GLB. |
| Tool | What it does |
|---|---|
speak | Synthesizes speech in the avatar's voice — free NVIDIA Magpie TTS lane first (NVIDIA_API_KEY), OpenAI TTS backstop (OPENAI_API_KEY). Returns base64 audio the client plays. |
| Tool | What it does |
|---|---|
wallet_create | Generates a Solana keypair. Optional vanity grinder (vanityPrefix: "three"). Secret is returned once. |
wallet_balance | Reads SOL + all SPL token balances (incl. Token-2022). |
wallet_send_preview | Previews a wallet_send: sender, recipient, amount, network fee, balance before and after, and any rule that would refuse it. Signs nothing. |
wallet_send | Sends SOL on mainnet. Execution. |
| Tool | What it does |
|---|---|
pump_snapshot | Live market snapshot: USD price (Jupiter), 24h volume + DEX (Dexscreener), pump.fun metadata, top-holder distribution. Pass target: "three" for $THREE when THREE_MINT is set. Read-only, no signer. |
pump_buy_quote | Quotes a pump_buy for the exact amount and slippage: SOL spent, expected and minimum tokens, price impact, route and fees. Signs nothing; pass its quote_id to pump_buy. |
pump_buy | Jupiter swap, direct or Jito-bundled (funder→buyer transfer + swap atomic). Accepts any runtime mint. Execution. |
pump_launch_preview | Previews a pump_launch: funder and creator addresses, rent, dev buy, bundle tip, the funder's total and any rule that would refuse it. Signs, uploads and mints nothing. |
pump_launch | Atomic launch via Jito bundle: separate funder + creator wallets, both txs in the same block. Uploads metadata to pump.fun IPFS if no URI is supplied. Execution. |
pump_collect_preview | Previews pump_collect_fees: the live fee vault balance, rent kept behind, the exact SOL that would reach the destination, and any rule that would refuse it. Signs nothing. |
pump_collect_fees | Atomic collect: collectCoinCreatorFee + drain to a safe wallet in one tx inside a Jito bundle — resistant to a leaked creator key. Execution. |
| Tool | What it does |
|---|---|
ens_sns_resolve | Resolves .eth (ENS) and .sol (SNS) names to addresses, with reverse + favorite-domain lookups. SNS is read straight from the SPL Name Service accounts on your SOLANA_RPC_URL, so it depends on no third-party name service. |
The pump_launch and pump_collect_fees tools wrap two patterns:
payerKey is the creator wallet, so the on-chain creator field (which receivOnly the beginning is shown; read the rest in the repo