NestDaddy

Hammerspoon Mcp

io.github.vukvukovich/hammerspoon-mcp · v0.4.0

Control macOS through Hammerspoon: windows, apps, and API search. Injection-safe by design.

Connect Runs on your machine

Terminal
claude mcp add hammerspoon-mcp -e HS_MCP_TOOLS=<HS_MCP_TOOLS> -e HS_MCP_TRANSPORT=<HS_MCP_TRANSPORT> -e HS_MCP_HS_PATH=<HS_MCP_HS_PATH> -e HS_MCP_DOCS_PATH=<HS_MCP_DOCS_PATH> -e HS_MCP_LOG_LEVEL=<HS_MCP_LOG_LEVEL> -- npx -y @vukvukovich/[email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "hammerspoon-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@vukvukovich/[email protected]"
      ],
      "env": {
        "HS_MCP_TOOLS": "<HS_MCP_TOOLS>",
        "HS_MCP_TRANSPORT": "<HS_MCP_TRANSPORT>",
        "HS_MCP_HS_PATH": "<HS_MCP_HS_PATH>",
        "HS_MCP_DOCS_PATH": "<HS_MCP_DOCS_PATH>",
        "HS_MCP_LOG_LEVEL": "<HS_MCP_LOG_LEVEL>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "hammerspoon-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@vukvukovich/[email protected]"
      ],
      "env": {
        "HS_MCP_TOOLS": "<HS_MCP_TOOLS>",
        "HS_MCP_TRANSPORT": "<HS_MCP_TRANSPORT>",
        "HS_MCP_HS_PATH": "<HS_MCP_HS_PATH>",
        "HS_MCP_DOCS_PATH": "<HS_MCP_DOCS_PATH>",
        "HS_MCP_LOG_LEVEL": "<HS_MCP_LOG_LEVEL>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "hammerspoon-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@vukvukovich/[email protected]"
      ],
      "env": {
        "HS_MCP_TOOLS": "<HS_MCP_TOOLS>",
        "HS_MCP_TRANSPORT": "<HS_MCP_TRANSPORT>",
        "HS_MCP_HS_PATH": "<HS_MCP_HS_PATH>",
        "HS_MCP_DOCS_PATH": "<HS_MCP_DOCS_PATH>",
        "HS_MCP_LOG_LEVEL": "<HS_MCP_LOG_LEVEL>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
HS_MCP_TOOLS
Optional
Which tools to expose. "safe" (default) exposes inspection, window management, and system tools only. "all" additionally exposes hs_eval, hs_applescript, and hs_ui_press, which run arbitrary Lua and AppleScript and press UI elements - anything the user can do.
HS_MCP_TRANSPORT
Optional
How Lua reaches Hammerspoon. "socket" (default) keeps one persistent Unix domain socket, self-installed on first call, with automatic fallback to spawning; "spawn" runs one hs process per call.
HS_MCP_HS_PATH
Optional
Explicit path to the Hammerspoon hs command line tool. Only needed when Hammerspoon is installed somewhere unusual.
HS_MCP_DOCS_PATH
Optional
Explicit path to Hammerspoon's bundled docs.json, used by hs_api_search.
HS_MCP_LOG_LEVEL
Optional
Log verbosity on stderr: debug, info (default), warn, or error.

Details

Package@vukvukovich/[email protected] (NPM, stdio)
First published14 Aug 2026
Last updated14 Aug 2026
Registry nameio.github.vukvukovich/hammerspoon-mcp

More search and web servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.