Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者による説明(英語の原文)
Synthesizes audio from MusicXML, with voice-part selection and tempo control
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
SYNTH_SOUNDFONT_PATH必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"synth": {
"command": "uvx",
"args": [
"synth-mcp"
],
"env": {
"SYNTH_SOUNDFONT_PATH": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add synth --env SYNTH_SOUNDFONT_PATH=your-value -- uvx synth-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"synth": {
"command": "uvx",
"args": [
"synth-mcp"
],
"env": {
"SYNTH_SOUNDFONT_PATH": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"synth": {
"type": "stdio",
"command": "uvx",
"args": [
"synth-mcp"
],
"env": {
"SYNTH_SOUNDFONT_PATH": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント raulkivi で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:SYNTH_SOUNDFONT_PATH
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.3)がレジストリに届いたのは21 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには: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 that synthesizes audio from MusicXML. Supports voice part selection (Soprano, Alto, Tenor, Bass) and tempo control.
Takes a MusicXML score, optionally filters to one or more voice parts, and renders a WAV audio file using FluidSynth. Useful for choir singers who want to practice a specific voice part.
| Tool | Description |
|---|---|
get_parts | List all voice parts in a score — returns part name, ID, and measure count |
synthesize | Render the score (or selected parts) to a WAV file, with optional tempo adjustment and practice options (bars, repeats, count-in, metronome, timbre, part volumes) |
starting_pitches | Each part's first note as text ("S: D5, A: A4, T: F#4, B: D3") and a short piano clip |
describe_score | Summarize a score cheaply: title, key, time, tempo, parts (ID, clef, range), measures, duration |
list_capabilities | Return server metadata: backend version, soundfont status, FluidSynth availability |
health_check | Check that the soundfont, FluidSynth, and music21 are all available and ready |
cd synth-mcp
uv sync
System library required:
# Ubuntu / Debian
sudo apt install libfluidsynth-dev
brew install fluid-synth
A soundfont (SF2) file is also required. Free options:
| Soundfont | Size | Notes |
|---|---|---|
| TimGM6mb | ~6 MB | Ships with Ubuntu (/usr/share/sounds/sf2/TimGM6mb.sf2) |
| MuseScore General | ~200 MB | Better quality; download from musescore.org |
| GeneralUser GS | ~30 MB | Download from schristiancollins.com |
Prefer not to do the above by hand? Run ./install.sh — it installs uv, the system libfluidsynth package, and a soundfont automatically. See SETUP.md for a non-technical walkthrough, and TROUBLESHOOTING.md if something goes wrong. Ready-made client configs (Claude Desktop, Cursor, Windsurf, Continue, Zed) are in examples/.
SYNTH_SOUNDFONT_PATH=/usr/share/sounds/sf2/TimGM6mb.sf2 uv run synth-mcp
| Variable | Required | Description |
|---|---|---|
SYNTH_SOUNDFONT_PATH | Yes | Path to an SF2 soundfont file |
SHEET_MUSIC_OUTPUT_ROOT | No | Folder output_path must be inside; also readable by musicxml_path (default: working directory) |
SHEET_MUSIC_INPUT_ROOTS | No | Extra folders musicxml_path may read (:-separated; ; on Windows) |
{
"mcpServers": { "synth": { "command": "uv", "args": ["--directory", "/absolute/path/to/synth-mcp", "run", "synth-mcp"], "env": { "SYNTH_SOUNDFONT_PATH": "/absolute/path/to/soundfont.sf2" } } } }
// List parts in a score
{"tool": "get_parts", "arguments": {"musicxml": " ... "}}
// The same, reading a file instead of copying the score into the conversation {"tool": "get_parts", "arguments": {"musicxml_path": "scores/chorale.mxl"}}
// Synthesize the full score { "tool": "synthesize", "arguments": { "musicxml": " ... ", "output_path": "/tmp/full.wav" } }
// Synthesize Soprano part only at 80% tempo { "tool": "synthesize", "arguments": { "musicxml": " ... ", "output_path": "/tmp/soprano.wav", "parts": ["Soprano"], "tempo_factor": 0.8 } }
// Practice track: Alto loud, others soft, bars 17-24 three times, one bar of count-in { "tool": "synthesize", "arguments": { "musicxml_path": "scores/chorale.mxl", "preset": "learning", "focus_part": "Alto", "measures": [17, 24], "repeat": 3, "count_in_bars": 1 } }
// Starting notes before singing {"tool": "starting_pitches", "arguments": {"musicxml_path": "scores/chorale.mxl"}}
parts accepts part IDs from get_parts ("P1"), part names ("Soprano", any case) or voices ("S", "Alto", "Alt", "A1" for divisi); an unknown part returns the valid choices. part_ids still works as a deprecated alias for one minor release.
Every tool that takes musicxml also takes musicxml_path instead (exactly one of the two): a .musicxml, .xml or compressed .mxl file inside the output root, a folder the client shares as an MCP root, or a folder in SHEET_MUSIC_INPUT_ROOTS. Prefer it, and pass on paths other servers return. describe_score reports part IDs, ranges and duration without returning the score.
tempo_factor range: 0.25–4.0. Values below 1.0 slow down; above 1.0 speed up. Does not affect pitch.
Practice options on synthesize (all optional; leaving them out gives the plain track):
| Option | Values | Effect |
|---|---|---|
measures | [start, end] | Only these printed bars (a pickup is 0) |
repeat | 1–20 | Play the selection this many times |
count_in_bars | 0–4 | Wood-block clicks before the music |
metronome | true / false | Clicks on every beat of the music too |
timbre | score, piano, choir, organ | Sound for every part (score keeps the score's instruments) |
preset + focus_part | learning (focus 1.5, others 0.5), karaoke (focus muted), equal | Part volumes |
part_gains | part → 0.0–2.0 | Per-part volume, overrides the preset |
starting_pitches returns the text always; the clip (mono 16 kHz WAV, inline when ≤ 200 KB) needs the soundfont and FluidSynth. Without them the result says why in audio_unavailable.
# Unit tests (no soundfont required)
VIRTUAL_ENV= .venv/bin/pytest tests/ -v
VIRTUAL_ENV= SYNTH_SOUNDFONT_PATH=/usr/share/sounds/sf2/TimGM6mb.sf2 \ .venv/bin/pytest tests/ -v -m integration
ffmpeg -i out.wav out.mp3 if neededlibfluidsynth shared library (libfluidsynth.so.3 on Linux)