Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
One API for 100+ AI video, image, music and speech models.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
Authorizationต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http unifically https://mcp.unifically.com/mcp --header 'Authorization: ใส่ค่าของคุณ'เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"unifically": {
"url": "https://mcp.unifically.com/mcp",
"headers": {
"Authorization": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"unifically": {
"type": "http",
"url": "https://mcp.unifically.com/mcp",
"headers": {
"Authorization": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
Authorization HTTP headerค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน unifically.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Figma Context MCP, Claude Real Video, Figma MCP Server
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า 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.
server ทางการของ Figma ส่งข้อมูลงานออกแบบให้ AI อ่าน เพื่อเปลี่ยนแบบเป็นโค้ดหรืออธิบายแบบได้ตรงขึ้น ต่อผ่านคลาวด์ของ Figma
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP server for the UnificAlly API. It lets an AI assistant generate video, images, music, speech and sound effects, transcribe audio and upscale media through 100+ models (Veo 3.1, Kling, Seedance, Hailuo, Grok Imagine, Nano Banana, Flux, GPT Image, Suno, ElevenLabs, Topaz) with one API key.
It works in any MCP client: Cursor, Claude Desktop, Claude Code, Cline, Windsurf, Zed, ChatGPT Desktop, Goose, n8n and your own code.
{
"mcpServers": { "unifically": { "command": "npx", "args": ["-y", "@unifically/mcp-server"], "env": { "UNIFICALLY_API_KEY": "sk-..." } } } }
That block works as is for Cursor (.cursor/mcp.json), Claude Desktop (claude_desktop_config.json), Cline and Windsurf (~/.codeium/windsurf/mcp_config.json). Restart the client after saving.
Claude Code:
claude mcp add unifically -e UNIFICALLY_API_KEY=sk-... -- npx -y @unifically/mcp-server
Other clients
Zed (~/.config/zed/settings.json):
{
"context_servers": { "unifically": { "command": { "path": "npx", "args": ["-y", "@unifically/mcp-server"] }, "env": { "UNIFICALLY_API_KEY": "sk-..." } } } }
ChatGPT Desktop: Settings, Connectors, Add MCP server. Command npx -y @unifically/mcp-server, plus the UNIFICALLY_API_KEY variable.
Goose, n8n or anything else that speaks stdio:
UNIFICALLY_API_KEY=sk-... npx -y @unifically/mcp-server
On Windows, if the client says npx not found, use "command": "cmd", "args": ["/c", "npx", "-y", "@unifically/mcp-server"].
There is also a hosted server at https://mcp.unifically.com/mcp for clients that take a URL. See Remote server.
Ask the assistant for something:
Make a 16:9 image of a lighthouse at dusk, then a 6 second video that starts from it.
It calls the tools in order:
{ "name": "generate_image", "arguments": { "prompt": "a lighthouse at dusk, waves, warm light", "aspect_ratio": "16:9" } }
Generated image with google/nano-banana-pro. Result: https://files.unifically.com/image/....png [task_id: 7f3c...]
{ "name": "generate_video", "arguments": { "prompt": "slow push in, waves rolling", "image_url": "https://files.unifically.com/image/....png", "duration": 6 } }
Each generation tool waits for the job and returns the media URL. The structured result looks like this:
{
task_id: string, status: "completed" | "pending" | "processing", output: { video_url?, image_url?, audio_url?, image_urls?, audio_urls?, text? }, // when completed model: string, cost_usd?: number }
Under the hood each call is one request to the UnificAlly API (POST /v1/tasks with { model, input }, then GET /v1/tasks/{id}), the same one shown in the API docs.
| Tool | What it does | Spends balance |
|---|---|---|
generate_video | Text or image to video (Veo, Kling, Hailuo, Seedance, Grok and more). Optional start and end frames, reference images. | yes |
generate_image | Text to image and image editing (Nano Banana, GPT Image, Flux, Qwen, Kling, Grok, SeeDream). | yes |
generate_audio | Text to speech, sound effects, dialogue, transcription (stt), voice change (voice-changer), audio cleanup (voice-isolation). | yes |
generate_music | Suno: make a song, or cover, extend, add-vocals, add-instrumental or stems an existing track. | yes |
edit_video | Edit an existing clip from a prompt, or transfer motion onto a subject image (motion-control). | yes |
upscale_media | Topaz for any image or video (image_url / video_url), or task_id for the Veo and Grok upscalers. | yes |
extend_video | Extend a finished Veo (+8 s) or Grok Imagine generation. | yes |
upload_file | Turn a URL, or a local file on a stdio server, into a public CDN URL. | no |
get_task | Status and result of a task by id, optionally waiting for it. | no |
list_tasks | Past tasks, newest first, filtered by status, model, category, provider or time. | no |
list_resources | Voice lists for ElevenLabs (default), Kling and Veo. | no |
list_models | The model catalog and aliases. | no |
dry_run_cost | The price of a call without running it. | no |
check_balance | Account balance in USD. | no |
Every tool sets all four MCP hints. The seven tools that spend balance are marked destructiveHint: true and idempotentHint: false, so a client that auto-approves read-only tools still asks before a paid run. Failed generations are not charged.
Supported models, each with its parameters, id and a browser playground:
list_models returns the full live catalog.
prompt alone. model is optional and takes short aliases (veo, kling, flux, nano-banana-2, seedance, tts, sfx, stt) or full ids such as google/veo-3.1-fast.image_url, image_urls, end_image_url, reference_image_urls, audio_url, video_url) take public https URLs only. A local path or base64 string gets an error that says to upload first.start_frame_url, Veo's start_image_url, Seedance's first_frame_url). You pass image_url and the server renames it. Any field the server has no parameter for goes in provider_options, which also overrides the mapping.docs.unifically.com/llms.txt before running a model.wait, callback_url, provider_options and confirm_cost.get_task. 429, 5xx and network errors are retried with backoff.Models only read public URLs, so a local file goes to the UnificAlly CDN first.
upload_file { content_type: "image/png" } returns a one-time upload_url and the final file_url. The assistant sends the bytes with curl, without any API key in the shell: curl -X PUT '<upload_url>' --data-binary @photo.png
The URL is signed, single use and expires in about 5 minutes. The file keeps full quality.
upload_file { url } imports a file that is already online.upload_file { file_path } reads the file from disk, only when the server runs locally over stdio.There is no base64 upload, and the instructions tell the assistant never to send a user's file to another host. Both rules come from real failures: with a base64 size limit, agents shrank users' images to fit, and one agent without a key in its shell uploaded a private photo to a public file host.
High quality video and full songs can take minutes.
wait: false returns { task_id, status: "pending" } at once. Poll get_task until status is "completed".callback_url returns at once too, and the API POSTs the result to your webhook.Any task can be picked up later with get_task.
All off by default. Set them per deployment:
UNIFICALLY_CONFIRM_COST_ABOVE= : a call priced above this returns a quote, and runs only when the assistant retries with confirm_cost: true.UNIFICALLY_MAX_COST_PER_TASK= : a call priced above this is rejected. confirm_cost does not override it.UNIFICALLY_BLOCKED_MODELS=veo-quality,suno or UNIFICALLY_ALLOWED_MODELS=nano-banana-2,flux,tts: restrict which models can run.UNIFICALLY_DISABLE_GENERATION=true: read-only mode. Browsing, dry_run_cost and check_balance still work.| Variable | Required | Default |
|---|---|---|
UNIFICALLY_API_KEY | stdio only | none. HTTP callers send their own key. UNIFICALLY_KEY, UNIFICALLY_TOKEN and UNIFICALLY_API_TOKEN also work. |
UNIFICALLY_BASE_URL | no | https://api.unifically.com |
UNIFICALLY_FILES_BASE_URL | no | https://files.unifically.com |
UNIFICALLY_REQUEST_TIMEOUT_MS | no | 60000 |
UNIFICALLY_MAX_RETRIES | no | 3 |
UNIFICALLY_POLL_TIMEOUT_MS | no | 600000 |
UNIFICALLY_POLL_START_MS | no | 2000 |
UNIFICALLY_POLL_MAX_MS | no | 10000 |
UNIFICALLY_CONFIRM_COST_ABOVE | no | off |
UNIFICALLY_MAX_COST_PER_TASK | no | off |
UNIFICALLY_BLOCKED_MODELS | no | none |
UNIFICALLY_ALLOWED_MODELS | no | none |
UNIFICALLY_DISABLE_GENERATION | no | false |
MCP_TRANSPORT | no | stdio (or http) |
UNIFICALLY_HTTP_WAIT_BUDGET_MS | no | 85000, the longest an HTTP call blocks before returning the task_id |
PORT | no | set by the hosting platform |
UNIFICALLY_CORS_ORIGIN | no | * |
UNIFICALLY_TRUSTED_PROXIES | no | loopback. Also private, exact IPs or CIDRs allowed to send X-Forwarded-For. |
UNIFICALLY_TRUST_CF_CONNECTING_IP | no | false |
UNIFICALLY_RATE_PER_MIN | no | 120 requests per minute, per key and per account |
UNIFICALLY_RATE_BURST | no | 40 |
UNIFICALLY_PUBLIC_DISCOVERY | no | true. Lets keyless callers run initialize, tools/list, resources/list and ping. Set 0 to require a key for everything. |
UNIFICALLY_ANON_RATE_PER_MIN | no | 30 keyless requests per minute, per IP |
UNIFICALLY_ANON_RATE_BURST | no | 12 |
MCP_TRANSPORT=http serves Streamable HTTP on /mcp and legacy SSE on GET /sse + POST /messages. The hosted copy runs at https://mcp.unifically.com/mcp.
Each caller sends their own key, so one deployment serves many users and bills each one's own balance:
Authorization: Bearer (recommended)X-API-Key: ?api_key= for clients that only take a URL. Query strings can end up in proxy logs, so use a header when you can.{
"mcpServers": { "unifically": { "url": "https://mcp.unifically.com/mcp", "headers": { "Authorization": "Bearer sk-..." } } } }
For claude.ai (Settings, Connectors, Add custom connector) put the key in the URL: https://mcp.unifically.com/mcp?api_key=sk-.... For stdio-only clients, bridge with mcp-remote:
{
"mcpServers": { "unifically": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.unifically.com/mcp", "--header", "Authorization: Bearer sk-..."] } } }
Details of the HTTP mode:
ตัดมาแค่ช่วงต้น อ่านต่อใน repo