Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Inicia sesión con Google para escribir reseñas.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Hammerspoon MCP

de vukvukovichversión 0.4.0i★ 1iSe ejecuta en tu computadora
Nombre en el registroio.github.vukvukovich/hammerspoon-mcp

Cómo instalar

Resumen

Descripción del creador (original en inglés)

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

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Diseño, imágenes y audio

Instalación

Elige la app de IA que usas y copia la configuración.

Pasó 3/3 revisiones · Funciona en tu computadora

Primero: ¿qué IA usas?

Elige tu app y los pasos aparecen abajo.

Funciona con Claude, pero hay que preparar algo antes

Necesitas una clave de Hammerspoon MCP (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil

  1. Instala Node.js

    Una sola vez; sirve para todos los servidores que necesitan Node.js

    Abrir la página de descarga de Node.js ↗

  2. Regístrate y crea una clave de Hammerspoon MCP

    Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Puede tener costo.

    Cómo obtener la clave está en el README del autor, más abajo

  3. Abre el archivo de configuración de la app de Claude de escritorio

    SettingsDeveloperEdit Config

  4. Pega esta configuración y guarda el archivo

    {
      "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"
          }
        }
      }
    }

    Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie

  5. Cierra Claude y vuelve a abrirlo

  6. Pruébalo

    Usa Hammerspoon MCP y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Claude dice que está usando Hammerspoon MCP o muestra una herramienta de Hammerspoon MCP en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión

ChatGPT todavía no puede conectar Hammerspoon MCP

Hammerspoon MCP se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web

Lo que puedes hacer en su lugar

A · Usa una app que pueda conectar Hammerspoon MCP

  • Necesitas una clave de Hammerspoon MCP (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
  • Necesitas una clave de Hammerspoon MCP (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez)
  • Necesitas una clave de Hammerspoon MCP (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez)
  • Necesitas una clave de Hammerspoon MCP (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez)

B · Otros en Diseño, imágenes y audio que funcionan con ChatGPT

Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave

Funciona con Claude Code, pero hay que preparar algo antes

Necesitas una clave de Hammerspoon MCP (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez)

  1. Instala Node.js

    Una sola vez; sirve para todos los servidores que necesitan Node.js

    Abrir la página de descarga de Node.js ↗

  2. Regístrate y crea una clave de Hammerspoon MCP

    Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Puede tener costo.

    Cómo obtener la clave está en el README del autor, más abajo

  3. Abre la Terminal

    Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell

  4. Pega este comando y pulsa Enter

    claude mcp add 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-mcp

    Cambia “your-value” por tu clave antes de pulsar Enter

    Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie

  5. Escribe /mcp en Claude Code

    Deberías ver Hammerspoon MCP en la lista como conectado

  6. Pruébalo

    Usa Hammerspoon MCP y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Claude Code dice que está usando Hammerspoon MCP o muestra una herramienta de Hammerspoon MCP en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Funciona con Cursor, pero hay que preparar algo antes

Necesitas una clave de Hammerspoon MCP (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez)

  1. Instala Node.js

    Una sola vez; sirve para todos los servidores que necesitan Node.js

    Abrir la página de descarga de Node.js ↗

  2. Regístrate y crea una clave de Hammerspoon MCP

    Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Puede tener costo.

    Cómo obtener la clave está en el README del autor, más abajo

  3. Pulsa este botón para abrir Cursor

    Abrir en Cursor

    Cursor te pedirá confirmar; pulsa Install

  4. Escribe tu clave

    En la configuración de Hammerspoon MCP, HS_MCP_TOOLS, HS_MCP_TRANSPORT, HS_MCP_HS_PATH, HS_MCP_DOCS_PATH, HS_MCP_LOG_LEVEL está vacío; añade tu clave y guarda

    Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie

  5. Abre el chat de IA de Cursor en modo Agent

  6. Pruébalo

    Usa Hammerspoon MCP y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Cursor dice que está usando Hammerspoon MCP o muestra una herramienta de Hammerspoon MCP en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Funciona con VS Code, pero hay que preparar algo antes

Necesitas una clave de Hammerspoon MCP (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez)

  1. Instala Node.js

    Una sola vez; sirve para todos los servidores que necesitan Node.js

    Abrir la página de descarga de Node.js ↗

  2. Regístrate y crea una clave de Hammerspoon MCP

    Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Puede tener costo.

    Cómo obtener la clave está en el README del autor, más abajo

  3. Pulsa este botón para abrir VS Code

    Abrir en VS Code

    VS Code te pedirá confirmar; pulsa Install

  4. Escribe tu clave

    En la configuración de Hammerspoon MCP, HS_MCP_TOOLS, HS_MCP_TRANSPORT, HS_MCP_HS_PATH, HS_MCP_DOCS_PATH, HS_MCP_LOG_LEVEL está vacío; añade tu clave y guarda

    Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie

  5. Abre el chat de IA de VS Code en modo Agent

  6. Pruébalo

    Usa Hammerspoon MCP y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si VS Code dice que está usando Hammerspoon MCP o muestra una herramienta de Hammerspoon MCP en la respuesta, ya está conectado

Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps

Ver todas las apps que usan MCP →

La configuración JSON está en “Para desarrolladores”, abajo

¿Te atascaste? Pregunta a quien usa Hammerspoon MCP💬 Conversación →
Para desarrolladores: comandos de Terminal y configuración JSON

Instalado en tu computadora

Claude Code

claude mcp add 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-mcp

Claude 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"
      }
    }
  }
}

Valores que debes completar

  • HS_MCP_TOOLS env
    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…
  • HS_MCP_TRANSPORT env
    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 env
    Explicit path to the Hammerspoon hs command line tool. Only needed when Hammerspoon is installed somewhere unusual.
  • HS_MCP_DOCS_PATH env
    Explicit path to Hammerspoon's bundled docs.json, used by hs_api_search.
  • HS_MCP_LOG_LEVEL env
    Log verbosity on stderr: debug, info (default), warn, or error.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

De un vistazo

Descargas por semanai
67/sem
Conexión
Se ejecuta en tu computadora
Última versióni
0.4.0
Publicado en el registroi
15 ago 2026
Último cambio de códigoi
29 sept 2026
Creador
vukvukovich
Paquetes
npm: @vukvukovich/hammerspoon-mcp
Estado en el registro
Activo

Qué apps pueden usarlo

Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.

Se ejecutan en tu computadora en

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Todas las apps, con ventajas y desventajas →

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 12 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub vukvukovich, dueña del repo

  • ✓ Superada

    Sigue en mantenimiento

    Último cambio de código: hace 44 días

  • ✓ Superada

    Tiene licencia

    Usa MIT

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Conversación

Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.

Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.

Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.

Inicia sesión con Google para publicar

Reseñas de usuarios

Aún no hay reseñas

Inicia sesión con Google para escribir una reseña

Comparado con otros en Diseño, imágenes y audioi

  • Más estrellas que el 77% de los otros 2935 servidores de esta categoría
  • Publicado en el registro más recientemente que el 21% de los otros 2935 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 2935 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Hammerspoon MCP?

Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez hace 44 días, y la última versión (0.4.0) llegó al registro hace 3 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Next AI Draw.io, Pascal 3D Editor, screenpipe

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Next AI Draw.io

draw.io diagrams your AI agent draws on a live browser canvas that you can also edit by hand

de DayuanJiangMuy usado↓ 21,7 mil/sem★ 36,9 milActualizado hace 4 días

Se ejecuta en tu computadora

Pascal 3D Editor

Create, inspect, validate, and save editable 3D building scenes with Pascal's MCP server.

de pascalorgMuy usado↓ 1 mil/sem★ 25,4 milActualizado ayer

Computadora o nube✓ pascal.app

screenpipe

Search your local screen recordings, audio transcripts, and computer activity from screenpipe.

de screenpipeMuy usado↓ 6,6 mil/sem★ 22,3 milActualizado hace 9 días

Se ejecuta en tu computadora

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

Let an AI agent drive your Mac through Hammerspoon, without ever splicing its input into Lua source.

What it is

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.

Project status

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.

Why this one is different

1. Injection-safe by construction

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:

  1. The validated argument object is JSON-encoded.
  2. That JSON is base64-encoded.
  3. The base64 text is spliced once, into one fixed prelude line:
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.

2. Tiered tools, safe by default

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.

3. Built for the config-development loop

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.

Quick start

Prerequisites
  • macOS.
  • Node.js 24 or newer.
  • Hammerspoon, installed and running:
  brew install --cask hammerspoon
  • The 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.

Add it to your MCP client

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.

Tool reference

Forty-one tools: thirty-eight in the safe tier, three gated.

ToolTierWhat it does
hs_healthsafeReport bridge status: resolved hs path, whether Hammerspoon answers, its version.
hs_api_searchsafeSearch Hammerspoon's bundled API reference and return exact signatures.
hs_console_tailsafeReturn the last N lines of the Hammerspoon console.
hs_reload_configsafeReload ~/.hammerspoon/init.lua.
hs_notifysafeShow a transient on-screen alert, without stealing focus.
hs_list_windowssafeList windows, with id, title, owning app, screen, and frame.
hs_focus_windowsafeFocus a window by id, or by a substring of its title.
hs_move_windowsafeMove or resize a window by id, in absolute screen pixels.
hs_window_layoutsafeSnap a window to a named preset such as left-half or quarter-top-left.
hs_list_appssafeList running applications, with bundle id, PID, and window count.
hs_launch_appsafeLaunch an application by name, or focus it if it is already running.
hs_focus_appsafeBring an already-running application to the front.
hs_screenssafeList screens, with id, name, frame, and which one is primary.
hs_machine_statussafeBattery, brightness, wifi, idle time, audio, and host info in one call.
hs_audio_devicessafeList audio output and input devices, showing the current default.
hs_audio_set_devicesafeSwitch the default output or input device, for example to headphones.
hs_audio_volumesafeGet or set volume and mute on the default device.
hs_brightnesssafeGet or set built-in display brightness.
hs_media_controlsafePlay, pause, skip, or go back, via system media keys.
hs_list_spacessafeList desktops (Spaces) per screen, with positions and which is current.
hs_goto_spacesafeSwitch desktop by id or by 1-based position.
hs_evalunsafeEvaluate arbitrary Lua. Requires HS_MCP_TOOLS=all.
hs_applescriptunsafeRun AppleScript. Reaches Mail, Notes, Reminders, Finder. Requires HS_MCP_TOOLS=all.
hs_ui_pressunsafePress 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

Solo se muestra el principio; lee el resto en el repo