Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者による説明(英語の原文)
Local file and media tools: images, PDF, audio, video, OCR, batch and metadata. Runs locally.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"lathe": {
"command": "uvx",
"args": [
"lathe-mcp"
]
}
}
}ターミナルでこれを実行します
claude mcp add lathe -- uvx lathe-mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"lathe": {
"command": "uvx",
"args": [
"lathe-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"lathe": {
"type": "stdio",
"command": "uvx",
"args": [
"lathe-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント seayniclabs で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.4.1)がレジストリに届いたのは12 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには: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、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Made by [Seaynic Labs](https://seayniclabs.com). Need tools like this built around your own systems? We do that.
Lathe is an MCP bundle for anyone who handles files and media. It gives your AI assistant local tools for images, PDFs, audio and video, and OCR, plus batch runs and metadata removal. The files stay on your machine.
It is a bundle: one server made of modules, each switched on or off. Modules that arrive in an update and are off by default stay off until you turn them on.
| Security card | |
|---|---|
| Network | None. Lathe makes no network connections, and ffmpeg and ffprobe are restricted to local files (-protocol_whitelist file,pipe). --transport http listens on 127.0.0.1 only when you start it that way. |
| Files | Reads and writes files only inside the working folder (LATHE_WORKING_DIR). Reads its optional config file (~/.config/lathe/config.toml). Writes one local approval log (~/.local/state/lathe/approvals.jsonl). |
| Secrets | No keys, accounts or passwords. Nothing to store, and nothing that leaves the machine. |
| Read-only tools | 8: image_info, pdf_info, pdf_extract_text, audio_info, video_info, ocr_image, health, lathe_modules |
| Writes new files | audio_convert, batch_process, image_convert, image_crop, image_optimize, image_resize, image_thumbnail, pdf_compress, pdf_merge, pdf_split, pdf_to_images, scrub_metadata, video_thumbnail, video_to_gif, video_trim: each call writes new files in the working folder and never overwrites an existing one unless the call passes overwrite=true. batch_process asks the person once per run of two or more files, and nothing else asks. |
| Startup cost | about 7,600 tokens for a default install (21 tools, 4 skill prompts) |
| Changes | Tool descriptions are locked by hash (tool-manifest.lock.json); CI fails if they change silently. |
| Module | What it does | On by default | Needs |
|---|---|---|---|
images | Info, resize, convert, optimize, crop, thumbnail | yes | Pillow (always installed) |
pdf | Info, text (OCR for scanned pages), merge, render pages, split, compress | yes | pdf extra; ghostscript for rendering |
media | Audio and video info, audio convert, a frame, trim, GIF | yes | ffmpeg and ffprobe |
ocr | Text from an image | yes | ocr extra; tesseract |
batch | One operation over every file matching a glob, dry run first | no | per operation (see above) |
privacy | Inspect and remove GPS, camera and author metadata | no | pdf extra, for PDFs |
Lathe is free and MIT licensed. It has 21 tools by default and 23 with batch and privacy on.
Skills explain how to do a job well. Your AI assistant reads them as Agent Skills, or as MCP prompts in any MCP app.
| Skill | Use it for |
|---|---|
getting-started | Setup, the install command for each missing piece, --doctor, and the approval rules |
pdf | Turning a Markdown file into a PDF with Chrome or Chromium |
pdf-forms | Making a PDF with fillable text boxes and checkboxes |
web-image-prep | Removing location data and shrinking a folder of photos for a website |
uvx --from "lathe-mcp[pdf,ocr]" lathe --version prints the version. Needs Python 3.11 or newer and uv.LATHE_WORKING_DIR to the folder with your files.lathe --doctor (uvx --from "lathe-mcp[pdf,ocr]" lathe --doctor). It prints ok or FIX for each piece and the command that fixes it.lathe_modules. It lists every module, what is on, and what is missing.Paste these into your assistant, after setting LATHE_WORKING_DIR:
Call lathe_modules and tell me which pieces are missing.Show me the metadata in photos/trip.jpg, then make a copy without it as photos/trip-clean.jpg. (needs LATHE_PRIVACY_ENABLED=true)Dry-run image_optimize on everything in photos/ into web/, then run it. (needs LATHE_BATCH_ENABLED=true)Split report.pdf into parts of 5 pages in parts/.Cut the first 10 seconds of clip.mp4 into clip-10s.mp4, then make a 5-second GIF from it.Lathe needs Python 3.11 or newer. With uv you don't install anything ahead of time. Choose the extras for the modules you use:
uvx --from lathe-mcp lathe --version # images, media and batch
uvx --from "lathe-mcp[pdf,ocr]" lathe --version # with PDF and OCR
Pinned to this release, for a repeatable setup:
uvx --from "lathe-mcp[pdf,ocr]==0.4.1" lathe --version
Or with pip:
pip install "lathe-mcp[pdf,ocr]"
Extras: pdf (pypdf), ocr (pytesseract), full (both). The images module needs nothing extra.
The repository is also a Claude Code plugin. Its .mcp.json pins lathe-mcp[pdf,ocr]==0.4.1, and it ships the skills in skills/. The plugin is one way to install; the MCP config below works in any client.
Lathe starts without these. lathe --doctor and the lathe_modules tool list what is missing and the command for your platform.
| Program | Used by | macOS | Debian / Ubuntu |
|---|---|---|---|
| ffmpeg (includes ffprobe) | media, batch (audio) | brew install ffmpeg | sudo apt install ffmpeg |
| tesseract | ocr, and pdf_extract_text on scanned pages | brew install tesseract | sudo apt install tesseract-ocr |
| ghostscript | pdf_to_images, batch (PDF) | brew install ghostscript | sudo apt install ghostscript |
Set these as environment variables in your MCP client's config, or in a config file. Lathe starts without any of them.
| Variable | What it is |
|---|---|
LATHE_WORKING_DIR | The folder Lathe reads from and writes to. Default: the folder the server starts in. |
LATHE_MAX_FILE_MB | Largest input file, in MB. Default 500. |
LATHE_OCR_LANG | Tesseract language code(s), e.g. eng or eng+fra. Default eng. |
LATHE_ _ENABLED | true or false. Default true for images, pdf, media and ocr; false for batch and privacy. |
LATHE_BATCH_PREAPPROVED | true lets a batch run of two or more files go ahead without the approval prompt. Default false. Set it only if your client cannot show approval prompts. |
LATHE_APPROVAL_LOG | Where the approval log is written. Default ~/.local/state/lathe/approvals.jsonl. |
Config file (optional). Lathe also reads ~/.config/lathe/config.toml, or the file named by LATHE_CONFIG. Environment variables win over the file.
[core]
working_dir = "/Users/you/Pictures"
[ocr] lang = "eng"
[batch] enabled = true
[privacy] enabled = true
Every client below runs Lathe as a local process over stdio. Put the env values only where you need them.
Claude Desktop: claude_desktop_config.json (Settings, Developer, Edit Config)
{
"mcpServers": { "lathe": { "command": "uvx", "args": ["--from", "lathe-mcp[pdf,ocr]", "lathe"], "env": { "LATHE_WORKING_DIR": "/path/to/your/files", "LATHE_BATCH_ENABLED": "true", "LATHE_PRIVACY_ENABLED": "true" } } } }
Claude Code
claude mcp add lathe -e LATHE_WORKING_DIR=/path/to/your/files -- uvx --from "lathe-mcp[pdf,ocr]" lathe
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
"mcpServers": { "lathe": { "command": "uvx", "args": ["--from", "lathe-mcp[pdf,ocr]", "lathe"], "env": { "LATHE_WORKING_DIR": "/path/to/your/files" } } } }
VS Code: .vscode/mcp.json (note "servers", not "mcpServers")
{
"servers": { "lathe": { "type": "stdio", "command": "uvx", "args": ["--from", "lathe-mcp[pdf,ocr]", "lathe"], "env": { "LATHE_WORKING_DIR": "/path/to/your/files" } } } }
Sonique, Hermes, OpenClaw, and other clients: any client that launches a stdio MCP server. Command uvx, arguments ["--from", "lathe-mcp[pdf,ocr]", "lathe"], plus the env values above.
Over HTTP. For clients that connect to a URL instead of starting a process:
lathe --transport http --port 8765
It serves streamable HTTP at http://127.0.0.1:8765/mcp. It listens only on your own machine by default. Put authentication in front of it before exposing it anywhere else.
| Tool | Module | What it does | Asks first |
|---|---|---|---|
health | core | Server version, working folder, and whether each external program is installed | no |
lathe_modules | core | Which modules are on, what is missing (with the install command), skills, and what each tool needs | no |
image_info | images | Width, height, format, mode, size, and EXIF tags | no |
image_resize | images | Resize by width, height or percentage, keeping the aspect ratio | no |
image_convert | images | Convert to png, jpeg, webp, avif or bmp | no |
image_optimize | images | Shrink for web delivery; metadata stripped unless strip_metadata=false | no |
image_crop | images | Crop a rectangle | no |
image_thumbnail | images | Fit inside a square | no |
pdf_info | Page count, size, encryption, title, author | no | |
pdf_extract_text | Text of the pages you name, or of the whole file; OCR for pages without a text layer; long text in parts | no | |
pdf_merge | Merge PDFs in order | no | |
pdf_to_images | Render pages to PNG or JPEG at a chosen DPI | no | |
pdf_split | Split into parts of N pages | no | |
pdf_compress | Lossless smaller copy: content streams and duplicate objects | no | |
audio_info | media | Duration, format, bitrate, sample rate, channels | no |
audio_convert | media | Convert to mp3, wav, flac, aac or ogg | no |
video_info | media | Duration, resolution, codec, frame rate, audio tracks | no |
video_thumbnail | media | Save one frame at a time in seconds | no |
video_trim | media | Cut a section (stream copy; cuts land on keyframes) | no |
video_to_gif | media | Animated GIF from up to 30 seconds of video | no |
ocr_image | ocr | Text from an image; long text in parts | no |
batch_process | batch | One operation over every matching file; dry run by default | yes, for runs of 2+ files |
scrub_metadata | privacy | Inspect (default), or write a copy without GPS, camera or author metadata | no |
Every tool returns structured data with a published schema. Long text comes in parts: pass next_offset back as offset. Errors always read lathe. . : Fix: .
Only batch_process asks, and only for a run of two or more files. The client shows the person one plan: the operation, the output folder, whether existing outputs may be replaced, the file count and up to ten file names. The person approves or declines once for the whole run. The model cannot answer for the person. A client that cannot show prompts gets approval_unavailable, with the setting that fixes it (LATHE_BATCH_PREAPPROVED=true).
Every other writing tool writes one new file per call without asking. None of them overwrites an existing file unless the call passes overwrite=true.
LATHE_WORKING_DIR. Inputs and outputs must stay inside it. Symlinks that point outside are refused.overwrite=true. An output can never be the input file.batch_process refuses an output folder t冒頭だけを表示しています。続きはリポジトリで読めます