Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
제작자가 쓴 설명(영어 원문)
Build 3D web apps: physics, audio, music, Blender import. Live edits, undo, versions, publishing.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
Authorization비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.
터미널에서 이 명령어를 실행하세요
claude mcp add --transport http r3 https://mcp.r3js.org/mcp --header 'Authorization: your-value'실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"r3": {
"url": "https://mcp.r3js.org/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"r3": {
"type": "http",
"url": "https://mcp.r3js.org/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
Authorization 비밀 HTTP header이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 6일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
r3_docs_listEvery R3 document this server can give you, IN READING ORDER, with what each one covers and how big it is. R3's documentation begins here: no model has R3 in its pretraining, and code written from tool descriptions alone saves cleanly and then silently does nothing. r3_docs_read
r3_docs_readReturn one R3 document in full, or one API symbol. Paths come from r3_docs_list: r3_docs_read("CODE_PATTERNS.md") how a Code component is written (reading order 1) r3_docs_read("PHYSICS_USAGE.md") colliders, rigid bodies, joints r3_docs_read("HOWTO_PHYSICS.md") one task step by s
r3_whoamiReport the R3 account you act for, how you are connected (an agent key, or an app connection made with Sign in with R3), what you are allowed to do, the account's plan (its name and how many live projects it allows and uses: going live needs one), and whether the R3 platform is r
r3_project_createCreate a new R3 project and save it to the user's account. Produces a complete, openable project — scene, world, camera, renderer, lighting, audio listener, music transport and OrbitControls (anyone who opens it can turn and zoom the view) — ready for components to be added. Pass
r3_project_listList the projects this R3 account can work on — its own and its teams' — last updated first, with the projectId every other project tool takes. It is how a project the user names ("my slot machine") rather than giving an id is found: search for it; its projectId is what r3_projec
r3_project_loadList the components in an existing R3 project — what it contains and, for each one, its entityRef: the name code addresses it by (`this['mesh_cube_1']`). Read this before writing any code for a project, and after any tool call whose outcome was reported as unknown, to see what ac
r3_preview_createCreate a shareable preview link for a saved R3 project, so a person can open it in a browser and see it running. The link is valid for 7 days and does NOT make the project public; making a new one is free. It is how the user sees what you built. Takes the projectId returned by r3
r3_preview_removeRemove the preview link of an R3 project: every preview link to it stops working at once (teammates' too). Only when the user asked for it, or when the preview link is what blocks an r3_project_delete the user asked for: a preview link is temporary, so it may then be removed with
r3_publish_livePublish an R3 project live: makes a RELEASE (a frozen copy) of the project as it is now and makes it the one its public live URL shows, for anyone. Only when the user asked for it. Changing the project does NOT change the live site; r3_publish_live does: on a project that is alre
r3_unpublish_liveTake a live R3 project offline: its public live URL stops working at once, and the live-project slot it used on the plan is free again. Only when the user asked for it. Other people open a live project, so one that blocks an r3_project_delete goes offline only once the user has b
r3_release_listList the releases of an R3 project, newest first: number, date, who made it, note, size, which one is LIVE (what the public URL shows), pinned, and releases in the trash (restorable for 7 days). Also says whether the project has saved changes that are not live yet: saving does NO
r3_release_rollbackMake an earlier release of a live R3 project the one its public URL shows again (rollback, or forward again). Only when the user asked for it. The project must be live; this never uses a plan slot. A release in the trash or one marked incomplete is refused. Nothing is deleted: th
r3_publish_settings_readRead the publish settings of one of the user's own R3 projects in this environment — what the app's Deploy → Settings shows: Works on (keyboard / touch / both / not tested), the SEO title and description that search engines and link previews show, how the live page starts (Start
r3_publish_settings_setChange publish settings of one of the user's own R3 projects in this environment — the app's Deploy → Settings. Only the settings named change (the rest stay as they are). Only when the user asked for it, or approved the text: these settings shape the PUBLIC live page — its title
r3_project_renameRename a project: the name shown in the user's project list, the editor's title and the live page. The same change as clicking the title in the R3 editor, kept at once in the project's live copy (every open R3 tab shows it). The public address does not change: a preview or live l
r3_project_deletePermanently delete an R3 project. With the project:delete:created right (on by default), only a project YOU created (this agent key or app connection) — use it to clean up your own abandoned attempts; the user's own projects and other agents' are refused. With project:delete:owne
r3_factory_listList the R3 factories available to r3_factory_run, with each one's options, types and defaults. A factory builds a complete, correctly-wired object — a cube is a mesh plus geometry plus material plus colour, already connected. Call this before r3_factory_run if you are unsure of
r3_factory_runAdd an object to an existing R3 project — a cube, sphere, terrain, lighting, a physics body, and so on. Each factory builds a complete, correctly-wired object (mesh + geometry + material + colour, already connected), so you never assemble components by hand. Kept at once in the p
r3_code_writeAdd or replace a Code component: JavaScript that makes a project DO something. It runs on ONE event you choose (`event`): RENDER_BEFORE (default) every frame, for movement (held keys: this.keysPressed); KEY_DOWN / KEY_UP once per press / release; MOUSE_CLICK, SWIPE, MUSIC_BEAT, P
r3_code_readRead back what a Code component actually contains — its full JavaScript source and the event it runs on. r3_code_write reports what it wrote; this reports what is there. Use it before replacing a script, so an edit builds on the real source instead of overwriting it blind, and af
r3_help_writeSet the instructions that ship WITH a project — controls, what to press, what it does. R3 renders them in a modal behind a floating "?" button and the H key, in the editor and in the live portal alike, so whoever opens your preview link can read them. This is the built-in surface
r3_component_setSet one or more properties on a component that already exists in a project — a material's roughness, a mesh's position, which material a mesh uses. Kept at once in the project's live copy: every R3 tab with the project open shows it now, no editor needed and nothing to save (r3_e
r3_component_readRead back what components actually hold — a material's colour and roughness, a mesh's position, which material it uses. r3_project_load gives you the names; this gives you the values behind them. Pass SEVERAL entityRefs in one call — telling six similarly-named materials apart is
r3_terrain_heightHow high the ground of a heightfield terrain is at the world (x, z) positions you ask, exactly as physics and the drawn terrain have it, plus the terrain's lowest and highest point, centre, size and footprint. Use it to place something ON a terrain: an object stands on the ground
r3_component_boundsThe size and place of meshes and imported models, in R3 units (metres): the world-space box around each (min, max, size, centre), the mesh's scale, rotation and parents applied. Name a Mesh, or the root Empty of a Blender model (r3_blender_import makes one, named " _root"), and t
r3_component_addAdd one component of ANY registered type — a collider, a rigid body, a joint, a light, a material, a geometry … — to a saved R3 project, with its values and references set before it is created. Kept at once in the project's live copy: every R3 tab with the project open shows it n
r3_editor_openOpen a project in the R3 editor the user has open in their browser (their most recently used R3 tab) and focus it, so they see it. A project already open there is just focused (never reloaded). It is how the user gets to see the project you are working on, and how a tab gets the
r3_editor_inspectRead what components hold RIGHT NOW in an R3 tab that has the project open: runtime values included — a moving body's position while the project runs. Use it to debug live behaviour. It needs a tab with the project open (r3_editor_open opens one). r3_component_read reads the kept
r3_editor_setThe same tool as r3_component_set (this is its older name): change properties of a component, kept at once in the project's live copy: every R3 tab with the project open shows it now, no editor needed and nothing to save. Name the component with componentId or entityRef. `values`
r3_editor_codeThe same tool as r3_code_write (this is its older name): replace a Code component's code, kept at once in the project's live copy: every R3 tab with the project open runs the new code now, no editor needed and nothing to save. Name it with componentId or entityRef and pass baseVe
r3_editor_createThe same tool as r3_factory_run (this is its older name): add an object — a cube, sphere, light, physics body … — kept at once in the project's live copy: every R3 tab with the project open shows it now, no editor needed and nothing to save. r3_factory_list lists the factories an
r3_editor_add_componentThe same tool as r3_component_add (this is its older name): add one component of ANY registered type — a collider, a rigid body, a joint, a light, a material, a geometry … — with its values and references set before it is created, kept at once in the project's live copy: every R3
r3_editor_deleteDelete components from the project the user has OPEN in their R3 editor, exactly as the editor's delete dialog asks it — in TWO calls. First call WITHOUT `confirm`: it returns the plan and changes nothing — the selected components, what only they use (their geometry, material, co
r3_editor_undoUndo the last change YOU (this agent key or app connection) made to a project: everything one of your tool calls changed is undone together, and the user sees it at once in any R3 tab that has the project open. Use it when your own change was wrong or the user asks you to take it
r3_release_restorePut a project's working copy back the way one of its releases (saved versions) had it: components added since are removed, removed ones come back, values and scripts go back to that version (each script as a new version on top of the current one), and the name. The user sees it a
r3_editor_runPress the Run buttons of the user's open R3 editor: start physics, code, audio and music (all of them, or the ones named in `systems`), exactly as the user's own click does — a paused simulation resumes. Use it to TEST what you built: run it, then look with r3_editor_capture and
r3_editor_stopPress the Stop buttons of the user's open R3 editor: stop physics, code, audio and music (all of them, or the ones named in `systems`), exactly as the user's own click does. Stopping physics puts every body back where it was placed. It stops every project open in that tab. Change
r3_editor_captureCapture the canvas of a project open in the user's R3 editor — the scene as it looks NOW, running physics included — and LOOK at it: the answer is an image. Call it after a visual change (r3_editor_set, r3_editor_create, r3_editor_code …) to check what you built, and after r3_edi
r3_editor_set_preview_imageUse what the project's camera shows NOW, in the user's open R3 editor, as the project's share image: the picture its live page, link previews (social cards) and the showcase show, used when the project is next published (r3_publish_live, or Publish update in the editor). The edit
r3_blender_listList the Blender models this R3 account has uploaded — one per .blend file name, the current version of each — with what it will produce: how many Blender objects land in the scene, how many meshes and materials, its screenshot, and any PENDING update (a re-upload that changes me
r3_blender_importAdd a Blender model the account has uploaded (its current version) to an existing R3 project — the whole model, or only the meshes you name. Every Blender mesh object becomes an R3 Mesh keeping its own position, rotation, scale and origin, with its geometry, materials and texture
r3_blender_updateA re-uploaded Blender model is always its latest version; the user's projects keep the meshes they have until asked. This tool asks and answers that one question: choice update_projects without reportId shows which projects and entity templates use an older version (or an earlier
r3_blender_copiesDoes this project hold the same Blender model more than once (two whole imports side by side)? Answers "N copies of : … Keep one?" with each copy (its Entity, entityRef, part count) and its delete plan. It changes nothing: which copy stays is the user's choice, and the other is r
r3_blender_uploadSave a .blend you made or changed (in Blender, through a Blender MCP) as the newest version of one of the user's Blender models: the model is named by the file name, so "monster-truck.blend" adds a version to the user's monster-truck model, or makes the model. A tool argument can
r3_blender_downloadGet a .blend of one of the user's OWN Blender models (from r3_blender_list) to open in Blender: the current version, or the version fileId names. Answers a one-time download ticket (5 minutes) and the download endpoint (URL, method, Authorization header); the response body is the
r3_blender_draft_pushWhile you build a model in Blender for the user, push an APPLIED copy of your working .blend after each step (body done, wheels done, materials done): the user's Blender page shows it as a 3D preview they can orbit. A draft is not a saved version: one draft per user, the newest w
r3_image_listList the images this R3 account owns, with the URL to use for each one. That URL is exactly what R3ComponentTexture.url takes, so this is how you find the account's own artwork — a wood grain, a logo, a skybox — and then point a texture at it with r3_component_set. Search by name
r3_audio_listList the audio files this R3 account owns, with the URL to use for each one. That URL is exactly what R3ComponentAudio.url takes, so this is how you find a sound the account already has — a footstep, a drum hit, a music bed — and then point an Audio component at it with r3_compon
r3_image_createStore a small image YOU generated in this R3 account's image library and get back the URL for it — the value R3ComponentTexture.url takes. This is how you make a checkerboard, a gradient, a test grid or a noise tile and then actually put it on something with r3_component_set. Pas
r3_texture_createMake a matching, seamlessly tiling texture SET for a material: a colour map, a normal map and a packed ambient-occlusion / roughness / metalness map, rendered by R3 from a procedural recipe (seeded noise, stones, bricks …). Nothing is uploaded and it is free. The maps are stored
r3_texture_readRead one texture set: its name, size, tile size, the three map urls, the numbers its render measured, the sets it was edited from, and the full RECIPE (the editable source). The account's own sets, or anyone's public one. To change a set, r3_texture_update makes a new version of
r3_texture_updateChange a texture set the account owns: its look (controls: seed, scale, colours, contrast, bumpiness, roughness {min, max}, metalness, size, tileWorldSize, height, applied to the set's own recipe; `scale` multiplies its pattern, so 2 is twice as fine as now) or a whole new `recip
r3_texture_applyWire a texture set to a material in a project: the colour map to `map`, the normal map to `normalMap`, the ambient-occlusion / roughness / metalness map to `aoMap` + `roughnessMap` + `metalnessMap` (for a set without metal its blue channel is 0, so a metal map left by an earlier
r3_sound_createMake a sound (a 48 kHz WAV in the account's audio files) from a recipe that R3 renders: layers of synth / fm / noise / sample sources, each with an envelope and effects (filter, distortion, bitcrush, delay, reverb, compressor, tremolo), and a master stage that can make a seamless
r3_sound_readRead the RECIPE a sound was made from (the editable source), with its name, url, duration, whether it loops and the sound it was edited from. The account's own sounds, or anyone's public one; an uploaded file has no recipe. To change a sound, r3_sound_update makes a new version o
r3_sound_updateChange a sound the account owns: overrides {seed, duration, channels} applied to its own recipe, or a whole new `recipe` (read the current one with r3_sound_read, change it, pass it here; r3_docs_read("SOUND_RECIPES.md") has the format). The sound itself never changes: the change
r3_song_readRead a project's Song: its tracks (each plays Patterns, DrumGrids, Beats or Audio files in clips placed in bars), automation lanes (keyframes on a track's or the master's gain, pan or effect settings), sections, master chain and length, with every source as its entityRef, plus a
r3_song_updateChange a project's Song with small typed changes, or make a new Song (create). The changes are applied in order and kept as ONE change (one undo step, every open R3 tab shows it): ops: setSong, setSections, setMaster, addTrack, setTrack, removeTrack, setClips, addClip, moveClip,
r3_assets_unusedThe account's images, models and audio files that nothing uses — no project, no entity template, no other user's project — with each one's size and date, biggest first, and the total. The same report as the R3 app's Settings → Storage, by the same rules the deletes use. A model l
r3_asset_deleteDelete one of the account's images, models, audio files, Blender models (kind blender: a whole uploaded .blend with every version; its meshes in use stay) or texture sets (kind textureSet: the set and its maps, r3_texture_create made it) — the same reference-guarded delete as the
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리에 소스 저장소가 없어서, 게시자(r3js.org)와 코드를 맞춰 볼 수 없어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
1520ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 60개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 2개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: Authorization
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(3.149.0)은 오늘 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Figma Context MCP, Claude Real Video, Figma MCP Server
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
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.
The Figma MCP server brings Figma design context directly into your AI workflow.
저장소에서 README를 찾지 못했어요