Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Best moments + video-gen prompts per scene, beats, tempo, key. Spotify Audio Features alternative.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
X-API-Keyค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http songbrain https://api.songbrain.ai/v1/mcp --header 'X-API-Key: ใส่ค่าของคุณ'เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"songbrain": {
"url": "https://api.songbrain.ai/v1/mcp",
"headers": {
"X-API-Key": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"songbrain": {
"type": "http",
"url": "https://api.songbrain.ai/v1/mcp",
"headers": {
"X-API-Key": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
X-API-Key ความลับ HTTP headerค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 7 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
list_example_songsList real Songbrain analyses of Songbrain's own songs (no API key needed). Use one to show what the API returns before analysing a user's song.
get_example_analysisFull analysis of an example song: Song DNA, beat grid and sections, best moments, lyrics, scores, story and shot plan. No API key needed. Summary view by default (no per-word timings or beat arrays); set view='full' for everything.
get_example_shot_planThe beat-synced shot plan of an example song: every scene with start and end seconds, its act (setup, turn or payoff), the image/video prompt, framing, motion and the lyric sung under it, plus the story, world and palette. No key needed.
get_pricingSongbrain API prices (free songs per month, price per song) and limits.
analyze_songStart the analysis of a song at a public audio URL (MP3, WAV, FLAC, M4A, AAC, OGG or AIFF; 30 s to 10 min). Needs an API key on the MCP connection. Returns a song_id; poll get_song until status is 'done' (typically 60–90 seconds, up to ~2 minutes when busy). Uses one free song, o
get_songStatus of a song started with analyze_song, then its full analysis once done. Summary view by default; view='full' adds word timings and beat arrays.
add_video_directionFor a finished song analysed with mode 'dna': builds its story and beat-synced shot plan (scenes with seconds and image/video prompts) from the existing analysis. 15 credits, refunded if it fails. Then poll get_song (about 30 seconds).
get_accountFree songs left this month, credit balance and price per song for the connected key.
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub songbrain-ai ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 434 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 8 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: X-API-Key
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.4) เข้า registry 19 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Figma Context MCP, Claude Real Video, Figma MCP Server
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Song in, video plan out — the music analysis API for AI video.
Send a song. Get back JSON that a video model can use directly: what the song is, where the beats and sections are, which part to use, what the words are and when they are sung, what the video should show, and a shot list with a prompt for every scene that cuts on the beat.
Under the hood that is beat detection with downbeats, song structure analysis (sections with repeat letters), best-moment detection and word-timed lyrics in one hosted API, plus an MCP server at https://api.songbrain.ai/v1/mcp so Claude, Cursor or ChatGPT can read a song directly (setup guide).
This repository holds the official SDKs for Python and JavaScript/TypeScript, examples, and the MCP server entry.
curl https://api.songbrain.ai/v1/examples/old-truck-home/shot-plan
This returns the story and shot plan of a real song in exactly the format your songs get. GET /v1/examples lists all examples.
One document per song (schema songbrain.song/1). Times are seconds from the start of the song.
| Section | What is in it |
|---|---|
song_dna | Genre and subgenre (37 subgenres), tempo, key and key changes, mood, vocal style, instruments, energy, loudness (LUFS, true peak, per-platform check), a tagline and similar tracks |
timeline | Every beat, every downbeat, time signature, sections with repeat letters (A, B, A) and energy, vocal changes, lyric hooks |
best_moments | Ranked windows with start, peak and end, a score, the reason they work and the measured signals behind it, the beats inside, the words sung |
lyrics | Lines with start and end, and every word with its own start and end |
scores | Virality, quality and lyrics scores with breakdowns, what works, what to fix, audience |
story | What the song means, one world, a three-colour palette, the one element the video is about (before, event, after), setup / turn / payoff |
shot_plan | A beat-synced edit of the best moment (about 15 s, 9:16): every scene with absolute start and end seconds, act, kind, camera motion, transition, framing and a ready image/video prompt. Plus a section-level plan for the full song with cut points on the beat |
One scene from the shot plan:
{
"index": 1, "kind": "tease", "act": "setup", "start_sec": 94.83, "end_sec": 96.246, "duration_sec": 1.416, "beats_in_scene": 4, "transition_in": "cold open, hold", "motion": "slow push-in on a still world", "prompt": "wide establishing shot of the empty space: A distant, warm yellow light source pulses faintly in the deep blue night ...", "sung": null }
A song takes 60–90 seconds to analyse (up to about 2 minutes when busy).
Most of a song is not worth animating. Songbrain ranks the strongest windows first (best_moments, each with the reason it works and the audio signals behind it) and builds the shot_plan on the top one: about 15 seconds, cut on the beat, one scene per cut. Every scene carries a ready prompt for an image or video model, written from the song's story, world and three-colour palette, so the scenes look like one film instead of unrelated clips.
{"index": 8, "act": "turn", "start_sec": 102.965, "end_sec": 103.282, "motion": "impact: frame lands displaced and settles, fast energy",
"prompt": "tight detail shot: The truck's grille, showing rust, illuminated by the faint glow of the low headlight. Faded brown and warm yellow, in ..."}
Pass the prompts to Kling, Runway, Luma, Veo or a hosted model on fal or Replicate, and cut the clips at the given seconds. Recipes: render-with-your-model.md, song_to_clips_fal.py, song_to_clips_replicate.py. The full-song plan (shot_plan.full_song) gives the cut points for a complete video.
Since November 27, 2024, new Spotify apps get a 403 on /audio-features and /audio-analysis. Songbrain returns the same kind of data from any audio file, released or not, and more:
| Spotify | Songbrain | Note |
|---|---|---|
tempo | song_dna.tempo_bpm | plus tempo_confidence |
key + mode | song_dna.key | "C minor"; key_changes[] with the second each one happens |
energy | song_dna.energy | 0–1, plus energy per section |
loudness | song_dna.loudness_lufs | EBU R128 integrated loudness and true peak |
valence, danceability | song_dna.mood[] | mood words rather than a number |
instrumentalness, speechiness | has_vocals, song_dna.vocals | vocal style or "instrumental" |
audio-analysis beats | timeline.beats | every beat in seconds |
audio-analysis bars | timeline.downbeats | first beat of each bar |
audio-analysis sections | timeline.sections | with repeat letters (A, B, A …) and relative energy |
| — | best_moments, lyrics, story, shot_plan | not in Spotify: the strongest windows and why, word timings, a shot list |
Migration guide with a ten-line example: https://www.songbrain.ai/guides/spotify-audio-features-alternative
pip install songbrain # Python 3.9+, one dependency (requests)
npm install songbrain # Node 18+, no runtime dependencies, ESM + CJS + types
from songbrain import Songbrain
sb = Songbrain() # reads SONGBRAIN_API_KEY song = sb.analyze("song.mp3") # or analyze(audio_url="https://…")
dna = song["song_dna"] print(dna["genre"], dna["tempo_bpm"], dna["key"]) for s in song"shot_plan"["scenes"]: print(f'{s["start_sec"]:.2f}-{s["end_sec"]:.2f} [{s["act"]}] {s["prompt"]}')
import { Songbrain } from "songbrain";
const sb = new Songbrain(); // reads SONGBRAIN_API_KEY const song = await sb.analyze({ file: "song.mp3" }); // or { audioUrl: "https://…" }
const dna = song.song_dna!; console.log(dna.genre, dna.tempo_bpm, dna.key); for (const s of song.shot_plan?.clip?.scenes ?? []) { console.log(${s.start_sec.toFixed(2)}-${s.end_sec.toFixed(2)} [${s.act}] ${s.prompt}); }
analyze() uploads, waits until the song is done and returns the full document. Pass wait=False (Python) or wait: false (JS) to get the id right away, then use a webhook or get_song / getSong later.
Every song is analysed in one of two modes. Use dna when you only need the data, or to sort many songs first. Then add the video direction to the ones you pick. dna plus the direction costs the same as full.
| Mode | What you get | Price |
|---|---|---|
dna | Song DNA: song_dna, timeline, best_moments, lyrics, scores. No story, no shot plan | 10 credits, about $0.20 |
full (default) | Song DNA + video direction: story and a beat-synced shot_plan with a prompt per scene | 25 credits, about $0.50 |
| Add direction later | story + shot_plan for a finished dna song. No new upload | 15 credits, about $0.30 |
song = sb.analyze("song.mp3", mode="dna") # 10 credits: no story, no shot plan
if song"scores"["score"] >= 80: song = sb.add_direction(song["id"]) # +15 credits, waits about 30-40 s print(song"shot_plan""scenes"["prompt"])
let song = await sb.analyze({ file: "song.mp3", mode: "dna" }); // 10 credits: no story, no shot plan
if ((song.scores?.virality.score ?? 0) >= 80) { song = await sb.addDirection(song.id); // +15 credits, waits about 30-40 s console.log(song.shot_plan?.clip?.scenes[0]?.prompt); }
The 5 free songs a month cover either mode. Adding the direction never uses a free song. If it fails, the 15 credits are refunded and the song stays dna. GET /v1/songs/{id}/shot-plan on a dna song answers 409 no_direction.
Without an SDK: send "mode": "dna" in the JSON body (or -F "mode=dna" with an upload), then POST /v1/songs/{id}/direction. Try the dna view without a key: GET https://api.songbrain.ai/v1/examples/sugar-rush?mode=dna.
Python uses snake_case and JS uses camelCase method names. Response fields are the API's own names in both.
| Python | JavaScript | API | Key | ||
|---|---|---|---|---|---|
| `analyze(file \ | audio_url=…, mode=None, test=False, idempotency_key=None, wait=True)` | `analyze({ file \ | audioUrl, mode, test, idempotencyKey, wait })` | POST /v1/songs + polling | yes |
add_direction(id, wait=True) | addDirection(id, { wait }) | POST /v1/songs/{id}/direction + polling | yes | ||
get_song(id, view, include) | getSong(id, { view, include }) | GET /v1/songs/{id} | yes | ||
shot_plan(id) | shotPlan(id) | GET /v1/songs/{id}/shot-plan | yes | ||
list_songs(limit, starting_after) | listSongs({ limit, startingAfter }) | GET /v1/songs | yes | ||
iter_songs(page_size) | iterSongs({ pageSize }) | GET /v1/songs, every page | yes | ||
delete_song(id) | deleteSong(id) | DELETE /v1/songs/{id} | yes | ||
account() | account() | GET /v1/account | yes | ||
test_webhook(url) | testWebhook(url) | POST /v1/webhooks/test | yes | ||
webhook_deliveries(limit) | webhookDeliveries({ limit }) | GET /v1/webhooks/deliveries | yes | ||
pricing() | pricing() | GET /v1/pricing | no | ||
examples() | examples() | GET /v1/examples | no | ||
example(id, view, include, mode) | example(id, { view, include, mode }) | GET /v1/examples/{id} | no | ||
example_shot_plan(id) | exampleShotPlan(id) | GET /v1/examples/{id}/shot-plan | no | ||
webhooks.verify(body, header, secret) | verifyWebhook(body, header, secret) | Songbrain-Signature header | – |
Both SDKs:
Authorization: Bearer sb_live_…,SongbrainError (status, code, message, request_id / requestId) and the subclasses AuthenticationError, InsufficientCredits, NotFound, RateLimited (with retry_after / retryAfter), AnalysisFailed and WaitTimeout,Idempotency-Key with every new song and retry network errors, 429 and 5xx up to 3 times with backoff, honouring Retry-After,last_rate_limit / lastRateLimit.Package docs: python/README.md · js/README.md
# 1. send a file (or JSON {"audio_url": "https://…"})
curl -X POST https://api.songbrain.ai/v1/songs \ -H "Authorization: Bearer $SONGBRAIN_API_KEY" \ -F "file=@song.mp3" -F "title=My Song"
curl https://api.songbrain.ai/v1/songs/$ID -H "Authorization: Bearer $SONGBRAIN_API_KEY"
Options on document
ตัดมาแค่ช่วงต้น อ่านต่อใน repo