Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者による説明(英語の原文)
Designs a real house exterior on its own photo, prices it line by line and documents it.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
GETFACADE_API_KEY, GETFACADE_API_BASE_URL, GETFACADE_LANG「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"getfacade": {
"command": "npx",
"args": [
"-y",
"@getfacade/mcp"
],
"env": {
"GETFACADE_API_KEY": "your-value",
"GETFACADE_API_BASE_URL": "your-value",
"GETFACADE_LANG": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add getfacade --env GETFACADE_API_KEY=your-value --env GETFACADE_API_BASE_URL=your-value --env GETFACADE_LANG=your-value -- npx -y @getfacade/mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"getfacade": {
"command": "npx",
"args": [
"-y",
"@getfacade/mcp"
],
"env": {
"GETFACADE_API_KEY": "your-value",
"GETFACADE_API_BASE_URL": "your-value",
"GETFACADE_LANG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"getfacade": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@getfacade/mcp"
],
"env": {
"GETFACADE_API_KEY": "your-value",
"GETFACADE_API_BASE_URL": "your-value",
"GETFACADE_LANG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
GETFACADE_API_BASE_URL envGETFACADE_LANG envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名はドメイン getfacade.ai で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:GETFACADE_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.0)がレジストリに届いたのは36 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
MCP server for GetFacade.ai: an agent creates a building, uploads a photo of it, gets the exterior designed, priced and documented, without a human in front of a screen.
Each design is worked out for the country the building stands in: materials that are applicable there, manufacturer products that are actually sold there, and the technical build-up behind the surface. The render shows that on the photo of the house.
The estimate and the album come from the same design:
The server is a thin wrapper over the public GetFacade API. It stores nothing, caches nothing and decides nothing: every rule (pricing, admission, the colour grammar, every message) stays on the server, and the wrapper only carries calls and answers.
Most clients connect without installing anything. Add a custom connector with this URL and sign in to your GetFacade account when asked:
https://app.getfacade.ai/mcp
claude mcp add --transport http getfacade https://app.getfacade.ai/mcpOn the sign-in screen you set a spend cap for the connection. It spends tokens from the agent wallet of your account and never buys tokens on its own. The connection appears among your agent keys in the app, where it can be revoked at any time.
A photo attached to a chat has no link the connector can read. create_building returns photos_page, the building's photo page in the app: add the photo there, and list_photos picks it up. A direct public link to an image works with upload_photo as well.
The package below runs the same tools on your own machine with an agent key. Use it for automation, or when the photos are files on that machine.
Claude Desktop / any MCP client, mcpServers section:
{
"mcpServers": { "getfacade": { "command": "npx", "args": ["-y", "@getfacade/mcp"], "env": { "GETFACADE_API_KEY": "your-key" } } } }
To run a checkout instead of the published package, point the client at it: "command": "node", "args": ["/path/to/mcp/src/index.js"].
| Variable | Required | Default |
|---|---|---|
GETFACADE_API_KEY | yes | — |
GETFACADE_API_BASE_URL | no | https://api.getfacade.ai/api/v1 |
GETFACADE_LANG | no | en |
Messages, including refusals, come from the service in the language of GETFACADE_LANG. Set it to the language the answer should be read in.
| Tool | What it does |
|---|---|
create_building | Creates a building. The name is unique per account. Say where it stands, or the place is inferred from the connection the call arrives on. |
upload_photo | Takes a file path (local) or an image link (URL connection). Registers the file, uploads the bytes, confirms, waits for the answer: a view to design from, a drawing or reference kept with the building, or a refusal with the reason. |
list_photos | The views of a building, including photos added in the app. view_id is what start_design takes. |
start_design | Creates a design and queues its render. Returns a job id. |
refine_design | Changes a finished design in words. Every step after the first. |
get_job | Polls one render, estimate or album. |
list_jobs | Recent jobs across the account, unfinished first. |
list_designs | Designs of a building with their renders and finished picture. |
order_estimate | Orders a cost estimate for chosen renders. |
order_album | Orders the PDF album for chosen renders. |
upscale_render | Enlarges a finished render. Costs tokens, asynchronous. |
get_estimate | The estimate itself: totals, assumptions and every line. |
add_estimate_line | Adds one line to an estimate. |
update_estimate_line | Edits one line of an estimate. |
delete_estimate_line | Removes one line from an estimate. |
delete_render | Deletes one render. The main render's design returns to draft. |
delete_design | Deletes one design with the renders under it. |
delete_building | Deletes a building with everything under it. |
list_token_packages | The packages this account can buy. |
buy_tokens | Refills this key's wallet. Local package only. See below. |
get_balance | Agent wallet, key cap, and whether the next paid call will be accepted. |
report_problem | Reports a defect in this API. Free, and works on an empty wallet. |
Rendering is asynchronous: start_design, refine_design, order_estimate and order_album return a job id immediately, and get_job reports when it is done. A finished estimate reads ready where a render and an album read completed. The only call that waits is upload_photo, which polls until the answer is in.
start_design, refine_design, order_estimate, order_album and upscale_render cost money, and the charge follows the job that gets created. If one of them times out, the honest question is whether the job exists, and the agent cannot answer it from where it stands.
So this server answers it instead. Every paid call goes out under a name of its own (Idempotency-Key), and this server, not the agent, retries it under that same name when the connection fails or when the API says the first attempt is still running. The API recognises the repeat and hands back the original job, so a timeout costs one design, not two.
Nothing about this reaches the tool arguments: ordering the same design twice on purpose stays possible, because two calls are two names. What is gone is the accidental second order.
The API requires that name on every paid call made with an API key, so calling it without this wrapper means sending the header yourself. The reference is at getfacade.ai/agents.
A key is a bearer secret that lives in your agent's config, so its reach is the published agent surface and nothing else: buildings, photos, designs, renders, estimates, albums, the jobs list and the API wallet. Anything outside that answers 403 AGENT_SURFACE_FORBIDDEN, including the account's own sign-in settings, its subscription and its payment history. Changing those, and issuing or revoking keys, is done by a person signed in to the app.
The reference is at getfacade.ai/agents.
A finished render (result_url, main_render_url) and a finished album (result_url) are served from stable URLs: no signature, no expiry. An assistant can hand one straight to a person as the answer to "show me the result", with nothing to refresh and no second call.
The honest half of that: because the link is unsigned it asks nobody for permission, so it keeps working for whoever it is forwarded to, and it cannot be recalled afterwards. Share it as deliberately as any other link that is public forever. GET /renders/{render}/download is a different thing — a short-lived signed URL with a filename, for saving the file rather than for sharing it.
Deletions are soft on the server: a person can undo them in the app, this server cannot.
buy_tokens works only if the key was issued with purchasing enabled (a switch on the issue screen), and only up to what the key may still spend — a purchase never lifts the key's own spend cap. It answers charged when the payment provider took it from a saved payment method, or requires_human with a checkout_url for a person to open. Either way the tokens are credited when the payment is confirmed, so poll get_balance.
Issuing keys and buying a subscription are deliberately absent: a key that can issue itself a key has no ceiling, and a subscription is bought by a person, in the app.
MIT (see LICENSE) — this wrapper carries calls and answers and nothing else, so there is nothing in it to keep closed. The GetFacade service it talks to is a separate matter: using it is governed by the terms at getfacade.ai/terms, and a key is issued to an account, not to this package.
npm install
npm test # smoke test against a stub of the API
test/live-journey.mjs drives the whole journey through a real MCP client against a real API with a real key. It is not part of npm test, because it spends actual credits; the header of the file says how to run it.
Releases: see RELEASING.md.