Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者による説明(英語の原文)
MCP server for generating diagrams, charts, presentations, and animations for Markdown documentation
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"media-forge": {
"command": "npx",
"args": [
"-y",
"mcp-media-forge"
]
}
}
}ターミナルでこれを実行します
claude mcp add media-forge -- npx -y mcp-media-forgeプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"media-forge": {
"command": "npx",
"args": [
"-y",
"mcp-media-forge"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"media-forge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-media-forge"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月10日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント PavelGuzenfeld で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.0)がレジストリに届いたのは8 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ 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 generates diagrams, charts, HTML pages, and slide decks from text DSLs -- designed for AI coding agents to embed into Markdown.
LLM agents call tools like render_mermaid, render_html_page, or render_slides with text input, and get back file paths to assets ready to embed in docs.
| Tool | Input | Formats | Use Case |
|---|---|---|---|
render_mermaid | Mermaid code | SVG, PNG | Flowcharts, sequence, ER, state, Gantt, git graphs |
render_d2 | D2 code | SVG, PNG | Architecture diagrams with containers and icons |
render_graphviz | DOT code | SVG, PNG | Dependency graphs, network diagrams |
render_chart | Vega-Lite JSON | SVG, PNG | Bar, line, scatter, area, heatmap charts |
| Tool | Input | Output | Use Case |
|---|---|---|---|
render_html_page | HTML body + theme | Self-contained HTML | Technical docs, reports, dashboards |
render_slides | JSON slide array + theme | HTML slide deck | Presentations, status updates, walkthroughs |
| Tool | Description |
|---|---|
get_tool_guide | Usage examples, anti-patterns, complexity limits per tool |
list_assets | List all generated files in the output directory |
cd docker
docker compose up -d
HTML page and slide tools work without Docker.
Option A -- npx (no install)
npx mcp-media-forge
Option B -- Clone and build
git clone https://github.com/PavelGuzenfeld/mcp-media-forge.git
cd mcp-media-forge npm install npm run build
Any MCP-compatible client (Claude Code, Cursor, VS Code + Copilot, Cline, etc.) can use this server. The standard config:
{
"mcpServers": { "media-forge": { "command": "node", "args": ["/path/to/mcp-media-forge/dist/index.js"], "env": { "PROJECT_ROOT": "/path/to/your/project" } } } }
Where to add this depends on your client:
~/.claude/settings.json.vscode/mcp.jsonAsk your AI assistant to generate diagrams, pages, or presentations:
"Create a sequence diagram showing the OAuth2 flow and embed it in the README"
"Generate an HTML page summarizing the API architecture with KPI cards"
"Make a slide deck with our Q1 metrics and architecture overview"
The agent calls the appropriate tool, gets back a file path, and embeds it in your markdown.
AI Agent (any MCP client)
| | MCP Protocol (JSON-RPC over stdio) v MCP Media Forge (Node.js on host) | |--- Diagrams: docker exec (sandboxed, no network) | | | v | Rendering Container | ├── mmdc (Mermaid CLI + Chromium) | ├── d2 (D2 diagrams) | ├── dot/neato (Graphviz) | └── vl2svg (Vega-Lite via vl-convert) | |--- HTML/Slides: template engine (no Docker) | | | v | CSS Design System (4 themes, depth tiers, components) | v docs/generated/ mermaid-a1b2c3.svg d2-7f8e9a.svg html_page-d4e5f6.html slides-8b9c0d.html
Key design decisions:
network_mode: noneerror_type, error_message, and suggestion to enable LLM self-correctionGet usage guide for any tool before rendering. Returns examples, anti-patterns to avoid, complexity limits, and tips.
{ "tool_name": "mermaid" }
Available guides: mermaid, d2, graphviz, vegalite, html_page, slides, or all for a summary.
{
"code": "flowchart TD\n A[Start] --> B{Decision}\n B -->|Yes| C[Done]", "format": "svg", "theme": "default" }
| Parameter | Type | Default | Description | |||
|---|---|---|---|---|---|---|
code | string | required | Mermaid diagram code (must start with diagram type) | |||
format | svg \ | png | svg | Output format | ||
theme | default \ | dark \ | forest \ | neutral | default | Mermaid theme |
Pre-validation catches: missing diagram type, semicolons, HTML in labels, >25 nodes.
{
"code": "client -> server -> database", "format": "svg", "layout": "dagre" }
| Parameter | Type | Default | Description | ||
|---|---|---|---|---|---|
code | string | required | D2 diagram code | ||
format | svg \ | png | svg | Output format | |
theme | number | -- | Theme ID (0=default, 1=neutral-grey, 3=terminal) | ||
layout | dagre \ | elk \ | tala | dagre | Layout engine |
Pre-validation catches: Mermaid/D2 syntax confusion, unbalanced braces, >3 nesting depth.
{
"dot_source": "digraph G { A -> B -> C }", "engine": "dot", "format": "svg" }
| Parameter | Type | Default | Description | |||||
|---|---|---|---|---|---|---|---|---|
dot_source | string | required | Graphviz DOT source code | |||||
engine | dot \ | neato \ | fdp \ | sfdp \ | twopi \ | circo | dot | Layout engine |
format | svg \ | png | svg | Output format |
Pre-validation catches: missing graph wrapper, -> in undirected graphs, unbalanced braces.
{
"spec_json": "{\"$schema\":\"https://vega.github.io/schema/vega-lite/v5.json\",\"data\":{\"values\":[{\"x\":1,\"y\":10}]},\"mark\":\"bar\",\"encoding\":{\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}}}", "format": "svg" }
| Parameter | Type | Default | Description | |
|---|---|---|---|---|
spec_json | string | required | Vega-Lite JSON specification | |
format | svg \ | png | svg | Output format |
scale | number | 1 | Scale factor for PNG output |
Pre-validation catches: invalid JSON, missing $schema/data/mark, >500 inline data rows.
Generates a self-contained themed HTML page. No Docker required.
{
"title": "System Overview", "body_html": " Metrics ... ", "theme": "swiss", "description": "Q1 architecture overview", "nav_sections": ["Metrics", "Architecture", "Roadmap"] }
| Parameter | Type | Default | Description | |||
|---|---|---|---|---|---|---|
title | string | required | Page title | |||
body_html | string | required | HTML body content (inner content only, no / / ) | |||
theme | swiss \ | midnight \ | warm \ | terminal | swiss | Visual theme |
description | string | -- | Page description (meta tag + header) | |||
nav_sections | string[] | -- | Section names for floating IntersectionObserver navigation |
Design system CSS classes:
| Class | Purpose |
|---|---|
mf-hero | Primary highlight section (large shadow) |
mf-elevated | Secondary highlight (medium shadow) |
mf-card | Bordered content card |
mf-recessed | De-emphasized content |
mf-grid mf-grid-2 | Responsive 2-column grid |
mf-grid mf-grid-3 | Responsive 3-column grid |
mf-split | Two equal columns |
mf-kpi + mf-kpi-value + mf-kpi-label | Key metric display |
mf-badge-success/warning/error/info | Status badges |
Themes:
| Theme | Style | Best for |
|---|---|---|
swiss | White, geometric, blue accent | Technical docs |
midnight | Deep navy, serif, gold accent | Presentations |
warm | Cream paper, bold sans, terracotta | Reports |
terminal | Dark, monospace, cyan accent | Developer content |
Generates a self-contained HTML slide deck with keyboard/touch navigation. No Docker required.
{
"title": "Q1 Review", "slides": "[{\"title\":\"Q1 Review\",\"content\":\"Engineering update\",\"type\":\"title\"},{\"title\":\"Metrics\",\"content\":\" 99.9% uptime \",\"type\":\"content\"}]", "theme": "midnight", "author": "Engineering Team" }
| Parameter | Type | Default | Description | |||
|---|---|---|---|---|---|---|
title | string | required | Presentation title | |||
slides | string | required | JSON array of slide objects | |||
theme | swiss \ | midnight \ | warm \ | terminal | swiss | Visual theme |
author | string | -- | Author (shown on title slide) |
Slide types:
| Type | Layout | Best for |
|---|---|---|
title | Centered large text + subtitle | Opening/closing slides |
section | Centered heading + description | Topic dividers |
content | Heading + body (bullets, text) | Most content |
split | Heading + two columns | Before/after, comparisons |
code | Heading + code block | Code walkthroughs |
quote | Large blockquote + attribution | Testimonials, key quotes |
kpi | Heading + auto-grid metrics | Dashboards, stats |
image | Heading + centered image | Screenshots, diagrams |
Navigation: Arrow keys, Space, PageUp/PageDown, Home/End. Touch: swipe left/right. Click dots to jump.
{ "directory": "" }
Returns a JSON array of all generated files with name, path, size, and modification time.
All tools return structured errors that help LLMs self-correct:
{
"status": "error", "error_type": "syntax_error", "error_message": "First line must declare diagram type. Got: \"A --> B\"", "suggestion": "Start with: flowchart TD, sequenceDiagram, erDiagram, ... See https://mermaid.js.org/syntax/" }
Error types: syntax_error, rendering_error, dependency_missing.
Pre-validation catches common LLM mistakes before hitting the renderer:
graph syntax-->, subgraph), unbalanced bracesdigraph/graph wrapper, -> in undirected graphs| Variable | Default | Description |
|---|---|---|
PROJECT_ROOT | cwd() | Project root for output path resolution |
OUTPUT_DIR | docs/generated | Output directory relative to PROJECT_ROOT |
MEDIA_FORGE_CONTAINER | media-forge-renderer | Docker container name |
`
冒頭だけを表示しています。続きはリポジトリで読めます