Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Control macOS through Hammerspoon: windows, apps, and API search. Injection-safe by design.
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
キーの取り方は下の提供元 README にあります
SettingsDeveloperEdit Config
{
"mcpServers": {
"hammerspoon": {
"command": "npx",
"args": [
"-y",
"@vukvukovich/hammerspoon-mcp"
],
"env": {
"HS_MCP_TOOLS": "your-value",
"HS_MCP_TRANSPORT": "your-value",
"HS_MCP_HS_PATH": "your-value",
"HS_MCP_DOCS_PATH": "your-value",
"HS_MCP_LOG_LEVEL": "your-value"
}
}
}
}キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Hammerspoon MCP を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が Hammerspoon MCP を使っていると言うか、回答に Hammerspoon MCP のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ Hammerspoon MCP につなげません
Hammerspoon MCP はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
A · Hammerspoon MCP につなげるアプリを使う
B · デザイン・画像・音声 の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
Claude Code につなげますが、先に準備が必要です
Hammerspoon MCP のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ)
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
キーの取り方は下の提供元 README にあります
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
claude mcp add --scope user hammerspoon --env HS_MCP_TOOLS=your-value --env HS_MCP_TRANSPORT=your-value --env HS_MCP_HS_PATH=your-value --env HS_MCP_DOCS_PATH=your-value --env HS_MCP_LOG_LEVEL=your-value -- npx -y @vukvukovich/hammerspoon-mcpEnter の前に「your-value」を自分のキーに書き換えてください
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Hammerspoon MCP が一覧にあり、接続済みと表示されれば OK です
Hammerspoon MCP を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が Hammerspoon MCP を使っていると言うか、回答に Hammerspoon MCP のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
Hammerspoon MCP のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ)
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
キーの取り方は下の提供元 README にあります
Hammerspoon MCP の設定で HS_MCP_TOOLS, HS_MCP_TRANSPORT, HS_MCP_HS_PATH, HS_MCP_DOCS_PATH, HS_MCP_LOG_LEVEL が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Hammerspoon MCP を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が Hammerspoon MCP を使っていると言うか、回答に Hammerspoon MCP のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
Hammerspoon MCP のキーが必要です(提供元のサイトで作成) · 先にパソコンへ Node.js を入れてください(1 回だけ)
提供元のサイトで登録し、次の手順で使う API キーを作ります。料金や無料プランは提供元のサイトで確認してください。
キーの取り方は下の提供元 README にあります
Hammerspoon MCP の設定で HS_MCP_TOOLS, HS_MCP_TRANSPORT, HS_MCP_HS_PATH, HS_MCP_DOCS_PATH, HS_MCP_LOG_LEVEL が空です。自分のキーを入れて保存します
キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください
Hammerspoon MCP を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が Hammerspoon MCP を使っていると言うか、回答に Hammerspoon MCP のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください
JSON 設定は下の「開発者向け」にあります
Claude Code
claude mcp add --scope user hammerspoon --env HS_MCP_TOOLS=your-value --env HS_MCP_TRANSPORT=your-value --env HS_MCP_HS_PATH=your-value --env HS_MCP_DOCS_PATH=your-value --env HS_MCP_LOG_LEVEL=your-value -- npx -y @vukvukovich/hammerspoon-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"hammerspoon": {
"command": "npx",
"args": [
"-y",
"@vukvukovich/hammerspoon-mcp"
],
"env": {
"HS_MCP_TOOLS": "your-value",
"HS_MCP_TRANSPORT": "your-value",
"HS_MCP_HS_PATH": "your-value",
"HS_MCP_DOCS_PATH": "your-value",
"HS_MCP_LOG_LEVEL": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"hammerspoon": {
"command": "npx",
"args": [
"-y",
"@vukvukovich/hammerspoon-mcp"
],
"env": {
"HS_MCP_TOOLS": "your-value",
"HS_MCP_TRANSPORT": "your-value",
"HS_MCP_HS_PATH": "your-value",
"HS_MCP_DOCS_PATH": "your-value",
"HS_MCP_LOG_LEVEL": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"hammerspoon": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@vukvukovich/hammerspoon-mcp"
],
"env": {
"HS_MCP_TOOLS": "your-value",
"HS_MCP_TRANSPORT": "your-value",
"HS_MCP_HS_PATH": "your-value",
"HS_MCP_DOCS_PATH": "your-value",
"HS_MCP_LOG_LEVEL": "your-value"
}
}
}
}HS_MCP_TOOLS envHS_MCP_TRANSPORT envHS_MCP_HS_PATH envHS_MCP_DOCS_PATH envHS_MCP_LOG_LEVEL envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月12日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント vukvukovich で確認済みです
コードの最終更新:44 日前
MITを使用
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
まだレビューはありません
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は44 日前、最新バージョン(0.4.0)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには: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、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Let an AI agent drive your Mac through Hammerspoon, without ever splicing its input into Lua source.
Hammerspoon is a macOS automation app you script in Lua. It exposes a command line interface through its hs.ipc module, so hs -c " " runs Lua inside the running Hammerspoon process.
This project is an MCP (Model Context Protocol) server that sits in front of that CLI. It gives an agent a set of typed tools (list windows, move a window, focus an app, search the Hammerspoon API docs, tail the console, reload your config) and translates each tool call into a Lua program that Hammerspoon runs.
It speaks MCP over stdio, so any MCP client can use it: Claude Code, Claude Desktop, or your own.
Published on npm as v0.4.x: 38 safe-tier tools, plus 3 gated behind HS_MCP_TOOLS=all. Still pre-1.0, so tool names and argument shapes can change between minor versions.
Most of the risk in a "run Lua for me" bridge is the moment you build the Lua. The usual approach is to interpolate the arguments into a source string and escape the dangerous characters. Escaping is a discipline, and disciplines slip.
This server never interpolates. Every tool's Lua body is a static constant in the TypeScript source. Arguments travel separately:
local ARGS = hs.json.decode(hs.base64.decode("<base64>"))
The tool body then reads ARGS.title, ARGS.windowId, and so on.
The base64 alphabet is A-Z, a-z, 0-9, +, /, and =. It contains no quote, no backslash, no newline, no square bracket, and no hyphen. So the payload cannot close the Lua string, cannot start an escape sequence, cannot open a long bracket, and cannot open a comment. Injection is impossible because of the alphabet, not because someone remembered to escape correctly.
There is no shell layer either. The server talks to Hammerspoon over a persistent Unix socket, falling back to spawn(hsPath, ["-c", lua]) with an argv array, so no sh ever parses the command on either path.
The default tier is safe: read, inspect, and arrange operations. Arbitrary Lua evaluation exists as hs_eval, but it is off unless you set HS_MCP_TOOLS=all.
See Security for the reasoning. Short version: the threat is prompt injection, not you.
Most of the value of Hammerspoon is your own init.lua. So the server helps you write it, not just drive it:
hs_api_search searches Hammerspoon's bundled API documentation, so the agent can look up the real signature of hs.window.moveToUnit instead of guessing.hs_console_tail reads back the Hammerspoon console, so the agent can see its own errors.hs_reload_config reloads init.lua after an edit.Edit, reload, read the console, fix. The agent can run that loop itself.
brew install --cask hammerspoon
hs.ipc module loaded in your Hammerspoon config. Add this line to ~/.hammerspoon/init.lua: require("hs.ipc")
Then reload your config from the Hammerspoon menu bar icon. This is what installs and enables the hs command line tool. Without it, hs -c has nothing to talk to.
Verify the bridge by hand before wiring up any client:
hs -c "return 1 + 1"
If that prints 2, you are ready.
Claude Code:
claude mcp add hammerspoon -- npx -y @vukvukovich/hammerspoon-mcp
Any client that takes an mcpServers JSON block:
{
"mcpServers": { "hammerspoon": { "command": "npx", "args": ["-y", "@vukvukovich/hammerspoon-mcp"] } } }
To opt into the unsafe tier, add the environment variable. Claude Code:
claude mcp add hammerspoon -e HS_MCP_TOOLS=all -- npx -y @vukvukovich/hammerspoon-mcp
JSON:
{
"mcpServers": { "hammerspoon": { "command": "npx", "args": ["-y", "@vukvukovich/hammerspoon-mcp"], "env": { "HS_MCP_TOOLS": "all" } } } }
Ask the agent to call hs_health first. It reports whether the hs binary was found, whether Hammerspoon is running, and whether hs.ipc answered.
Forty-one tools: thirty-eight in the safe tier, three gated.
| Tool | Tier | What it does |
|---|---|---|
hs_health | safe | Report bridge status: resolved hs path, whether Hammerspoon answers, its version. |
hs_api_search | safe | Search Hammerspoon's bundled API reference and return exact signatures. |
hs_console_tail | safe | Return the last N lines of the Hammerspoon console. |
hs_reload_config | safe | Reload ~/.hammerspoon/init.lua. |
hs_notify | safe | Show a transient on-screen alert, without stealing focus. |
hs_list_windows | safe | List windows, with id, title, owning app, screen, and frame. |
hs_focus_window | safe | Focus a window by id, or by a substring of its title. |
hs_move_window | safe | Move or resize a window by id, in absolute screen pixels. |
hs_window_layout | safe | Snap a window to a named preset such as left-half or quarter-top-left. |
hs_list_apps | safe | List running applications, with bundle id, PID, and window count. |
hs_launch_app | safe | Launch an application by name, or focus it if it is already running. |
hs_focus_app | safe | Bring an already-running application to the front. |
hs_screens | safe | List screens, with id, name, frame, and which one is primary. |
hs_machine_status | safe | Battery, brightness, wifi, idle time, audio, and host info in one call. |
hs_audio_devices | safe | List audio output and input devices, showing the current default. |
hs_audio_set_device | safe | Switch the default output or input device, for example to headphones. |
hs_audio_volume | safe | Get or set volume and mute on the default device. |
hs_brightness | safe | Get or set built-in display brightness. |
hs_media_control | safe | Play, pause, skip, or go back, via system media keys. |
hs_list_spaces | safe | List desktops (Spaces) per screen, with positions and which is current. |
hs_goto_space | safe | Switch desktop by id or by 1-based position. |
hs_eval | unsafe | Evaluate arbitrary Lua. Requires HS_MCP_TOOLS=all. |
hs_applescript | unsafe | Run AppleScript. Reaches Mail, Notes, Reminders, Finder. Requires HS_MCP_TOOLS=all. |
hs_ui_press | unsafe | Press a UI element found by hs_ui_inspect. Refuses to act without an expectLabel or expectRole from the inspection, and refuses when the element there no longer matches it. Requires HS_MCP_TOOLS=all. |
hs_window_layout presets: left-half, `righ