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)
three.ws 3D avatars in your agent: render a live, interactive 3D avatar inline, or get an embed.
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.
THREEWS_BASE_URLYou 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": {
"threews-avatar": {
"command": "npx",
"args": [
"-y",
"@three-ws/avatar-mcp"
],
"env": {
"THREEWS_BASE_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add threews-avatar --env THREEWS_BASE_URL=your-value -- npx -y @three-ws/avatar-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"threews-avatar": {
"command": "npx",
"args": [
"-y",
"@three-ws/avatar-mcp"
],
"env": {
"THREEWS_BASE_URL": "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": {
"threews-avatar": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@three-ws/avatar-mcp"
],
"env": {
"THREEWS_BASE_URL": "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.
THREEWS_BASE_URL 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 8, 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.
The registry does not list a required key, though some servers ask you to sign in on first use.
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 (0.3.2) reached the registry 28 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-mcp
An MCP server that drops a live, rotatable 3D avatar into any chat — interactive in the conversation, embeddable anywhere. Free, no API key.
Install · Setup · Quick start · Tools · Requirements · three.ws
A thin, zero-config, read-only Model Context Protocol server that brings three.ws 3D avatars into any MCP client — Claude Desktop, Claude Code, Cursor, or any other host. Render a live, rotatable avatar inline, get a paste-anywhere embed iframe, or fetch avatar metadata. Every tool reads live from the real three.ws endpoints — no mock data. Public and unlisted avatars need no API key. Registry name:
io.github.nirholas/threews-avatar. Built by three.ws.
Need wallets, voice, generation, or pump.fun powers? See the sibling package @three-ws/avatar-agent, a full 3D AI agent in a box.
npm install @three-ws/avatar-mcp
Run it directly with npx (no install needed) or install globally for the avatar-mcp CLI:
npx -y @three-ws/avatar-mcp # MCP stdio server
npm install -g @three-ws/avatar-mcp # exposes avatar-mcp
Claude Code, one line:
claude mcp add threews-avatar -- npx -y @three-ws/avatar-mcp
Claude Desktop / Cursor (JSON config):
{
"mcpServers": { "threews-avatar": { "command": "npx", "args": ["-y", "@three-ws/avatar-mcp"] } } }
No environment variables are required. To read avatars from a different host (e.g. a preview deployment), set THREEWS_BASE_URL. Restart your client after editing the config.
Inspect the tool surface in a GUI:
npx -y @modelcontextprotocol/inspector npx -y @three-ws/avatar-mcp
Once connected, ask your client in plain language:
Render avatar bf58f7fc-64b3-4a92-8c27-dd472fc04b58 in the chat, dark background, auto-rotating.
(That UUID is a real public avatar. Any avatar's id is the last path segment of its three.ws URL, and GET https://three.ws/api/avatars/public lists more. A @handle works too, for any three.ws user who has published a public avatar.)
render_avatar returns three things so it looks great in every client:
you can orbit and zoom, for hosts that render HTML resources, andAll three tools are free, read-only, and annotated (readOnlyHint, idempotentHint, openWorldHint) so hosts can run them without confirmation prompts. There is no x402 charge. Identify an avatar by `id` (UUID), `handle` (a three.ws username, with or without the @, that has a public avatar), or a raw `model` GLB URL.
| Tool | Selectors | What it does |
|---|---|---|
render_avatar | id · handle · model | Renders the avatar inline. On MCP Apps-capable hosts it shows a live, rotatable 3D model right in the chat; other clients get a preview image + embed URL. Params: background (transparent/dark/light), scene (portrait/headshot/upper-body/full-body), auto_rotate, height (160–1080). |
avatar_embed_code | id · handle · model | Returns a ready-to-paste that embeds the live avatar anywhere — as easy as a YouTube embed. Params: background, width (CSS), height (160–1080), idle (loop the idle animation), overlay (chrome-free mode for OBS/overlays). |
get_avatar | id · handle | Fetches avatar metadata: name, GLB model_url, owner, visibility. |
render_avatar is an MCP App (SEP-1865): it declares a ui:// resource that supporting hosts render in a sandboxed iframe — a real, orbit-and-zoom , not a static image. The avatar is live in the conversation: rotate it, zoom it, watch it idle, without leaving the chat. Hosts without MCP Apps support still get a rendered preview image and a one-tap live embed, so the tool degrades gracefully everywhere.
// render_avatar — live, rotatable avatar in chat
{ "id": "bf58f7fc-64b3-4a92-8c27-dd472fc04b58", "background": "dark", "auto_rotate": true }
// avatar_embed_code — paste into any website { "id": "bf58f7fc-64b3-4a92-8c27-dd472fc04b58", "height": 560 }
// get_avatar: metadata, by @handle instead of id { "handle": "@your-handle" }
get_avatar on that id returns, live:
{
"id": "bf58f7fc-64b3-4a92-8c27-dd472fc04b58", "name": "Jade", "slug": "jade-fe1a51", "model_url": "https://pub-2534e921bf9c4314addcd4d8a6e98b7b.r2.dev/u/299bdfa7-d848-4865-bdb1-0db23fc3b431/jade-fe1a51.glb", "thumbnail": null, "visibility": "public" }
Every tool also advertises an outputSchema describing its structuredContent, so typed clients can consume results without re-parsing the text blocks.
| Prompt | Arguments | What it does |
|---|---|---|
showcase-avatar | avatar — id (UUID) or @handle | One-step showcase: renders the live, rotatable avatar inline and produces the embed iframe, ending with a copy-paste summary (name, viewer URL, embed URL, snippet). |
Each selector maps to a real three.ws endpoint. Raw model URLs must be https:// (or http://localhost for dev); other schemes are rejected.
| Selector / asset | Endpoint |
|---|---|
id | GET https://three.ws/api/avatars/:id |
handle | GET https://three.ws/api/users/:handle/avatar |
| preview image | GET https://three.ws/api/avatar/render?avatar=:id |
| live embed | https://three.ws/avatar-embed.html?... |
| viewer | https://three.ws/viewer?src=:glb |
>=20.| Variable | Required | Notes |
|---|---|---|
THREEWS_BASE_URL | Optional | three.ws host to read from. Defaults to https://three.ws. |
THREEWS_TIMEOUT_MS | Optional | Per-request network timeout. Defaults to 30000. |
@three-ws/avatar-agent — full 3D AI agent (wallet, voice, pump.fun)Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub