Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
MCP server giving AI agents eyes on OpenImageDebugger buffers in live gdb/lldb sessions
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます · ✓ コマンド確認済み 2026年11月13日
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
SettingsDeveloperEdit Config
{
"mcpServers": {
"oid": {
"command": "uvx",
"args": [
"oid-mcp"
]
}
}
}OpenImageDebugger MCP を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が OpenImageDebugger MCP を使っていると言うか、回答に OpenImageDebugger MCP のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ OpenImageDebugger MCP につなげません
OpenImageDebugger MCP はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
A · OpenImageDebugger MCP につなげるアプリを使う
B · デザイン・画像・音声 の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
Claude Code につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
claude mcp add --scope user oid -- uvx oid-mcpOpenImageDebugger MCP が一覧にあり、接続済みと表示されれば OK です
OpenImageDebugger MCP を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が OpenImageDebugger MCP を使っていると言うか、回答に OpenImageDebugger MCP のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
OpenImageDebugger MCP を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が OpenImageDebugger MCP を使っていると言うか、回答に OpenImageDebugger MCP のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
OpenImageDebugger MCP を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が OpenImageDebugger MCP を使っていると言うか、回答に OpenImageDebugger MCP のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください
JSON 設定は下の「開発者向け」にあります
Claude Code
claude mcp add --scope user oid -- uvx oid-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"oid": {
"command": "uvx",
"args": [
"oid-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"oid": {
"command": "uvx",
"args": [
"oid-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"oid": {
"type": "stdio",
"command": "uvx",
"args": [
"oid-mcp"
]
}
}
}この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月14日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント OpenImageDebugger で確認済みです
コードの最終更新:5 日前
MITを使用
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
まだレビューはありません
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は5 日前、最新バージョン(0.3.6)がレジストリに届いたのは19 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Figma Context MCP, AutoClip, Next AI Draw.io
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
draw.io diagrams your AI agent draws on a live browser canvas that you can also edit by hand
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
MCP server that gives AI agents eyes on OpenImageDebugger buffers in a live gdb/lldb session: list observable symbols at a breakpoint, view renderings, read exact values, dump lossless .npy copies, and mirror buffers into the human viewer.
⚠️ Experimental. This is a new, experimental feature — the control
protocol, tool surface, and behavior may change without notice, and it
is not yet covered by any stability guarantee. It is opt-in
(
OID_AGENT=1) and exposes debuggee memory to local processes; enable
it only in trusted, local development. Feedback welcome.
Two cooperating pieces, connected over a localhost socket:
oid.py, stdlib-only) starts inside your debugger's embedded Python when OID_AGENT=1 is set. It writes a per-session discovery file (host, port, random token) into a private per-user directory..npy) outside the fragile debugger process.You run the debugger; the MCP client runs oid-mcp. They find each other through the discovery directory, so both must be able to read the same directory (see Troubleshooting).
oid.py. See the top-level README's Building the Open Image Debugger.lldb — the same debugger you already use with OID.pip install needed. Install with curl -LsSf https://astral.sh/uv/install.sh | sh (or brew install uv). uv run --directory /path/to/OpenImageDebugger/resources/oidmcp oid-mcp
The first run resolves mcp/numpy/pillow into a local venv. It prints an experimental/security warning to stderr and then waits for MCP traffic on stdin — that blocking wait means it started correctly. Press Ctrl-C to exit.
mcpServers schema — only the file location differs. Each client spawns its *own* oid-mcp process, so you can register it in several clients at once; they all discover the same debug session.Claude Code — one-liner:
claude mcp add oid -- \
uv run --directory /path/to/OpenImageDebugger/resources/oidmcp oid-mcp
or add it to .mcp.json:
{
"mcpServers": { "oid": { "command": "uv", "args": ["run", "--directory", "/path/to/OpenImageDebugger/resources/oidmcp", "oid-mcp"] } } }
Cursor — put the same entry in ~/.cursor/mcp.json (global, all projects) or /.cursor/mcp.json (one project). Settings → *MCP / Tools & Integrations* → *Add new MCP server* opens that file. The tools are only usable from Cursor's Agent chat.
{
"mcpServers": { "oid": { "command": "/absolute/path/to/uv", "args": ["run", "--directory", "/path/to/OpenImageDebugger/resources/oidmcp", "oid-mcp"] } } }
Use an absolute `command` path in desktop editors. Cursor and
other GUI IDEs do not inherit your shell
PATH, so a bare"uv"
often fails to launch. Use the output of
command -v uv(e.g.
/opt/homebrew/bin/uvwith Apple-Silicon Homebrew). The same goes
for any interpreter the client can't resolve on its own.
Optional environment variables (set them on the server entry via your client's env field, and — for OID_AGENT_DIR — on the debugger too):
| Variable | Default | Purpose |
|---|---|---|
OID_MCP_MAX_BYTES | 268435456 (256 MiB) | Reject buffers larger than this before transfer |
OID_AGENT_DIR | ~/.oid-agent/ (%LOCALAPPDATA%\oid-agent on Windows) | Discovery directory shared by debugger and server |
Discovery location. The default directory is derived from your home
directory (via the password database), so a GUI-spawned
oid-mcpand a
terminal debugger resolve the same path regardless of
$TMPDIR/$HOME.
To relocate it, set
OID_AGENT_DIRin both environments to the same
absolute path (
~is not expanded).
OID_AGENT=1 gdb ./your-program
(gdb) source /path/to/OpenImageDebugger/oid.py
lldb works the same way:
OID_AGENT=1 lldb ./your-program
(lldb) command script import /path/to/OpenImageDebugger/oid.py
(If oid.py is already in your ~/.gdbinit / ~/.lldbinit, just launch the debugger with OID_AGENT=1 in its environment.)
plot needs it, the other tools do not. list_sessions() # confirm the server sees your debugger
list_buffers() # what's observable at this stop view("frame") # look at the whole buffer view("frame", region=[100,100,64,64]) # zoom into a suspicious spot stats("frame") # min/max/mean/std, NaN/Inf/zero counts values("frame", x=100, y=100, w=4, h=4) # exact numbers for a tiny crop dump("frame") # lossless .npy for offline analysis plot("frame") # mirror it into the human's viewer
Every tool accepts session= to target a specific debugger when more than one is live; it defaults to the most recently started session.
The pixel tools (view, stats, values, dump, list_buffers) don't require a debugger at all. A viewer started standalone with the agent endpoint enabled:
OID_AGENT=1 oidwindow --open path/to/image.png
exposes the same endpoint even with no debugger attached, so an agent can inspect whatever a user currently has open in the viewer.
When a debugger *did* spawn the viewer, that viewer's session carries a debugger_pid back-pointer, so set_view/get_view accept either the viewer's own pid or its debugger's pid to address that window. (The pixel tools — view/stats/values/dump/list_buffers — prefer the debugger's own buffers when given a debugger pid, and fall back to the viewer only when there's no live debugger session.) list_sessions() reports the pairing (see below).
set_view/get_view always target a viewer (there's nothing to move in a debugger without one), resolved the same way: a viewer pid, or a debugger pid paired to a live viewer.
| Tool | Purpose |
|---|---|
list_sessions() | {"debuggers": [...], "viewers": [...]} — live debug sessions and viewer windows (all tools take session= ); each viewer entry shows its debugger_pid pairing (null for a standalone viewer) |
list_buffers() | Observable buffer symbols at the current stop (debugger or viewer session) |
view(symbol, region?, channel?, vmin?, vmax?, max_px?) | PNG rendering; region is the stateless zoom |
stats(symbol, region?) | Per-channel min/max/mean/std, NaN/Inf/zero counts |
values(symbol, x, y, w, h, channel?) | Exact numbers (≤1024 per call) |
dump(symbol, path?, overwrite?) | Lossless .npy dump into the per-user dump directory; path is a filename within it (not an arbitrary path); refuses to overwrite an existing file unless overwrite=true |
plot(symbol) | Mirror into the human viewer window |
set_view(session?, buffer?, center?, zoom?, rotation_deg?, channel?, auto_contrast?) | Set the viewer's view absolutely (idempotent — it sets state, it does not nudge); omitted fields keep their current value; channel is 0, 1, 2, or "all"; auto_contrast is a global viewer toggle, not per-buffer |
get_view(session?) | Read the viewer's current buffer/center/zoom/rotation_deg/channel/auto_contrast |
OID_AGENT=1 is set; it binds localhost with a per-session token (discovery files under ~/.oid-agent/, override with OID_AGENT_DIR). It exposes debuggee memory to local processes that can read those files — the same trust domain as your user account.OID_MCP_MAX_BYTES (default 256 MiB).plot requires it, the other tools do not.OID_AGENT=1 was set in the debugger's environment; oid.py was actually sourced/imported; the debuggee has stopped at a breakpoint at least once; and the debugger and oid-mcp agree on the discovery directory. If they run under different TMPDIR values (common on macOS, where each process may get its own per-user temp dir), set OID_AGENT_DIR to the same absolute path on both sides.OID_AGENT_DIR at a private directory you own with mode 0700.OID_MCP_MAX_BYTES (bytes) on the server entry, or narrow what you fetch.