Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Description from the maker (original English)
AI-manageable audio CDN: upload, transcode, normalize, stream & deliver audio, plus grounded docs.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
ADN_API_KEY, ADN_API_BASE_URL, ADN_MCP_ALLOW_DELETE, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"audiodelivery": {
"command": "npx",
"args": [
"-y",
"@audiodn/mcp"
],
"env": {
"ADN_API_KEY": "your-value",
"ADN_API_BASE_URL": "your-value",
"ADN_MCP_ALLOW_DELETE": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http audiodelivery https://mcp.audiodelivery.net/mcp --header 'Authorization: your-value'claude mcp add audiodelivery --env ADN_API_KEY=your-value --env ADN_API_BASE_URL=your-value --env ADN_MCP_ALLOW_DELETE=your-value -- npx -y @audiodn/mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"audiodelivery": {
"url": "https://mcp.audiodelivery.net/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"audiodelivery": {
"command": "npx",
"args": [
"-y",
"@audiodn/mcp"
],
"env": {
"ADN_API_KEY": "your-value",
"ADN_API_BASE_URL": "your-value",
"ADN_MCP_ALLOW_DELETE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"audiodelivery": {
"type": "http",
"url": "https://mcp.audiodelivery.net/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"audiodelivery": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@audiodn/mcp"
],
"env": {
"ADN_API_KEY": "your-value",
"ADN_API_BASE_URL": "your-value",
"ADN_MCP_ALLOW_DELETE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
ADN_API_BASE_URL envADN_MCP_ALLOW_DELETE envAuthorization secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The publisher (audiodelivery.net) is not the repo owner (audiodn); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: ADN_API_KEY, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.3.3) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the 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.
Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
@audiodn/mcpModel Context Protocol server for AudioDN.
Exposes the AudioDN REST API as MCP tools so AI agents (Cursor, Claude Desktop, Claude Code, VS Code, Codex, etc.) can configure audio hosting on a user's behalf, plus offline, read-only knowledge tools grounded in the canonical AudioDN OpenAPI spec and documentation so agents look up the correct endpoints instead of guessing.
One-click install (hosted endpoint — sign in with your AudioDN account via OAuth when the client connects):
Prefer a local stdio server with an API Access key? Use this button instead:
Both correspond to the mcp.json shipped with this plugin. See Cursor's MCP docs for manual setup.
npm install -g @audiodn/mcp
npx @audiodn/mcp
Point a remote-capable MCP client at https://mcp.audiodelivery.net/mcp with no Authorization header. The client runs the MCP OAuth flow: you sign in at account.audiodeliverynetwork.com, pick an organization, and Allow. That mints a revocable API Access key (visible under Settings → API Keys as MCP · …). Delete that key to disconnect.
Legacy configs that still send Authorization: Bearer or X-ADN-API-Key continue to work.
Knowledge/doc tools work with no key. For live API tools, set a server-side AudioDN API Access key (mint one in the dashboard at https://account.audiodeliverynetwork.com under Settings → API Keys).
export ADN_API_KEY="adn_..."
| Variable | Required | Default | Purpose |
|---|---|---|---|
ADN_API_KEY | No | – | Server-side API Access key for live-API tools. Knowledge tools work without it. |
ADN_API_BASE_URL | No | https://api.audiodelivery.net | Override the API host. |
ADN_MCP_LIVE_DOCS | No | off | Set to 1 to refresh bundled docs from the public site (falls back to the bundle offline). |
ADN_MCP_TIMEOUT_MS | No | 30000 | Per-request timeout in milliseconds. |
adn_delete_creator, adn_delete_collection, adn_delete_track) are available whenever live API tools are authenticated. They set destructiveHint: true so clients should confirm before running them.Besides the local npx stdio server above, AudioDN runs the same tool set as a hosted Streamable HTTP endpoint on Cloudflare Workers.
https://mcp.audiodelivery.net/mcp — the MCP endpoint. The root / serves a human landing page in a browser (and JSON for tooling), and /health returns machine-readable server info./.well-known/oauth-protected-resource and complete authorization code + PKCE against this host. Unauthenticated /mcp requests return 401 with a WWW-Authenticate challenge. Knowledge and live tools (including deletes) require authentication on the hosted endpoint.Authorization: Bearer adn_...
X-ADN-API-Key: adn_...
Example client configuration (OAuth — no pasted key):
{
"mcpServers": { "audiodn": { "url": "https://mcp.audiodelivery.net/mcp" } } }
The hosted Worker lives in worker/ and is deployed with Wrangler (npm run deploy); it is not part of the published npm package.
Worker secrets (not committed): MCP_JWT_SECRET, MCP_GRANT_ENCRYPTION_KEY, MCP_INTERNAL_HMAC, plus a KV namespace bound as MCP_OAUTH.
Settings → Tools & Integrations → MCP (or edit ~/.cursor/mcp.json):
Hosted (OAuth):
{
"mcpServers": { "audiodn": { "url": "https://mcp.audiodelivery.net/mcp" } } }
Local stdio:
{
"mcpServers": { "audiodn": { "command": "npx", "args": ["-y", "@audiodn/mcp"], "env": { "ADN_API_KEY": "adn_..." } } } }
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (or the equivalent on your OS), then restart the app:
{
"mcpServers": { "audiodn": { "command": "npx", "args": ["-y", "@audiodn/mcp"], "env": { "ADN_API_KEY": "adn_..." } } } }
claude mcp add audiodn --env ADN_API_KEY=adn_... -- npx -y @audiodn/mcp
Any client that speaks MCP over stdio uses the same command. For VS Code, add to .vscode/mcp.json:
{
"servers": { "audiodn": { "command": "npx", "args": ["-y", "@audiodn/mcp"], "env": { "ADN_API_KEY": "adn_..." } } } }
For Codex CLI (~/.codex/config.toml):
[mcp_servers.audiodn]
command = "npx" args = ["-y", "@audiodn/mcp"] env = { ADN_API_KEY = "adn_..." }
| Tool | Description |
|---|---|
adn_about | Server version, bundled OpenAPI version, docs source, API base. |
adn_search_docs | Keyword search over bundled docs + OpenAPI summaries. |
adn_list_operations | List all REST operations (operationId, method, path). |
adn_get_operation | Full OpenAPI definition for one operationId. |
adn_get_guide | Canonical guide (authentication, upload, processing, playback, webhooks, output-types / variant-types, security, compatibility). |
adn_list_output_types | The seven output types and which are API-creatable (adn_list_variant_types is a legacy alias). |
On the hosted endpoint these require authentication (OAuth or legacy API key). On stdio they work without ADN_API_KEY.
| Tool | Description | Annotation |
|---|---|---|
adn_get_organization / adn_update_organization | Read/update org (id derived from API key when omitted) | read-only / write |
adn_create_client_key | Mint player / uploader / share key (returned once) | write |
adn_list_creators / adn_get_creator | Read creators | read-only |
adn_create_creator / adn_update_creator | Create/update creator | write |
adn_delete_creator | Delete creator | destructive |
adn_list_collections / adn_get_collection | Read collections | read-only |
adn_create_collection / adn_update_collection | Create/update collection | write |
adn_delete_collection | Delete collection + its tracks | destructive |
adn_create_collection_cover | Mint a fresh collection cover upload URL | write |
adn_list_tracks / adn_get_track | Read tracks. adn_get_track is metadata; use processing tools for readiness | read-only |
adn_find_resource | Exact name lookup for collection, creator, or track. Ambiguous names return candidates and do not create | read-only |
adn_get_processing | Uncached snapshot: upload_accepted, playable, per-output state | read-only |
adn_wait_for_processing | Short wait (default 12s) for playback, one output, settle, or cover. pending means call again with the same ids | read-only |
adn_create_track | One-shot track create (POST /v1/track) with upload URL | write |
adn_update_track | Update track metadata / player fields | write |
adn_delete_track | Soft-delete one track | destructive |
adn_create_track_cover | Mint a fresh track cover upload URL | write |
adn_create_upload_session / adn_get_upload_session | Manage upload sessions (optional nested track) | write / read-only |
adn_create_track_in_upload_session | Register a track, get track_upload.upload_url | write |
adn_create_play_session / adn_get_play_session | Mint/read play sessions (output indexes via variants wire field) | write / read-only |
adn_get_play_track | Signed URLs for a track inside a play session | read-only |
adn_get_play_download | Signed download URL for one output index (downloadable sessions) | read-only |
adn_list_output_presets / adn_get_output_preset | List/get org output presets (legacy: adn_list_variants / adn_get_variant) | read-only |
adn_create_track_output | Add a track-specific transcode/preview output (legacy: adn_create_track_variant) | write |
The server also exposes canonical docs as MCP resources for clients that attach context directly: audiodn://openapi.json, audiodn://llms-full.txt, and audiodn://guide/{topic} for each guide.
An agent helping a user host a podcast might call:
adn_get_guide({ topic: "upload" }) — learn the canonical multi-step flow.adn_create_collection({ title: "My Podcast" })adn_create_upload_session({ collection_id }) — or pass nested track: { file_name } to create the first track in the same call.adn_create_track_in_upload_session({ upload_session_id, file_name: "ep1.mp3" }) (skip if you already nested track above).PUTs the audio bytes to track_upload.upload_url. Create does not upload.adn_wait_for_processing({ target: "track_playback", track_id }). pending with UPLOAD_NOT_ACCEPTED means the PUT has not landed. pending with OUTPUT_PROCESSING or PROCESSING_TIMEOUT means workers are still running — call the same tool again with the same ids. incomplete can still be playable. To wait for one file (waveform, preview), use target: "track_output" and output_index.adn_list_output_presets() — pick real output indexes (e.g. hq, lq).adn_create_play_session({ scope: "track", track_id, variants: ["hq"] }) — returns a play_session_id (for the ADN Player) plus signed file URLs on first_track (for a custom player).npm install
npm run build npm test # vitest npm run smoke # build + spawn the real binary over stdio node dist/index.js
Run the AudioDN API and this MCP worker on different ports, then exercise OAuth and tools with the manual scripts under manual/:
# Terminal 1 — AudioDN API (audiodn-mono)
npm run dev:api # http://127.0.0.1:8787
cp .dev.vars.example .dev.vars # set ADN_API_KEY to a dashboard API Access key npm run dev:local # http://127.0.0.1:8788 (ADN_API_BASE_URL → local API)
npm run manual:auth # browser consent → writes manual/.env npm run manual # find, create, processing-wait, dry-run, delete
ADN_API_BASE_URL in .dev.vars (or the stdio environment) is the switch for which AudioDN API the MCP server calls. Production wrangler.toml keeps the public API default.
The Cloudflare Worker in worker/ serves the same tools over Streamable HTTP.
npx wrangler login
npm run dev:worker
Only the beginning is shown; read the rest in the repo