Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Check SimpliSafe system state and sensors, review events, arm/disarm, and control smart locks
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
SIMPLISAFE_REFRESH_TOKEN, SIMPLISAFE_TOKEN_CACHE, SIMPLISAFE_TOKEN_FILELos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"simplisafe": {
"command": "npx",
"args": [
"-y",
"simplisafe-mcp"
],
"env": {
"SIMPLISAFE_REFRESH_TOKEN": "your-value",
"SIMPLISAFE_TOKEN_CACHE": "your-value",
"SIMPLISAFE_TOKEN_FILE": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add simplisafe --env SIMPLISAFE_REFRESH_TOKEN=your-value --env SIMPLISAFE_TOKEN_CACHE=your-value --env SIMPLISAFE_TOKEN_FILE=your-value -- npx -y simplisafe-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"simplisafe": {
"command": "npx",
"args": [
"-y",
"simplisafe-mcp"
],
"env": {
"SIMPLISAFE_REFRESH_TOKEN": "your-value",
"SIMPLISAFE_TOKEN_CACHE": "your-value",
"SIMPLISAFE_TOKEN_FILE": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"simplisafe": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"simplisafe-mcp"
],
"env": {
"SIMPLISAFE_REFRESH_TOKEN": "your-value",
"SIMPLISAFE_TOKEN_CACHE": "your-value",
"SIMPLISAFE_TOKEN_FILE": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
SIMPLISAFE_TOKEN_CACHE envSIMPLISAFE_TOKEN_FILE envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub chrischall, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
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.
Superó 1 de 1 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.
Debes completar: SIMPLISAFE_REFRESH_TOKEN
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).
El repo de GitHub cambió por última vez –, y la última versión (1.4.0) llegó al registro hace 3 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, OpenTakeoff
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.
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.
MCP server for SimpliSafe home security. Check whether the system is armed, review sensors and events, arm/disarm, and control smart locks — from Claude.
This server can disarm a home alarm and unlock doors. Every tool that
changes physical state, plus the tool that reads alarm PINs, asks you to confirm
first — nothing is sent until you do, and you see a preview of exactly what
would happen (see Confirmations). Install it only where you'd
be comfortable with that capability.
Developed and maintained by AI (Claude Code).
| Tool | |
|---|---|
simplisafe_list_systems | Systems on the account with current alarm state |
simplisafe_get_system | One system's state, connectivity, base-station messages |
simplisafe_list_sensors | Sensors with battery / offline / triggered status, filterable |
simplisafe_list_locks | Smart locks with locked / unlocked / jammed state |
simplisafe_get_events | Recent base-station events (arm, disarm, opens, alarms); view: "brief" gives one line per event |
simplisafe_get_settings | Entry/exit delays, volumes, base-station health |
simplisafe_get_pins | Alarm PINs — cleartext, asks you to confirm first |
simplisafe_set_alarm_state | Arm home / arm away / disarm — asks you to confirm first |
simplisafe_set_lock_state | Lock / unlock a door — asks you to confirm first |
simplisafe_healthcheck | Auth + API reachability |
Supports SimpliSafe 3 systems. Legacy SS2 systems are rejected with an explanation rather than an opaque upstream 404.
npm install -g simplisafe-mcp
Or add to .mcp.json:
{
"mcpServers": { "simplisafe": { "command": "npx", "args": ["-y", "simplisafe-mcp"], "env": { "SIMPLISAFE_REFRESH_TOKEN": "${SIMPLISAFE_REFRESH_TOKEN}" } } } }
SimpliSafe issues no API keys. The credential is an OAuth2 refresh token, minted by a browser login you perform one time:
git clone https://github.com/chrischall/simplisafe-mcp && cd simplisafe-mcp
node scripts/bootstrap-auth.mjs # prints an authorize URL
node scripts/bootstrap-auth.mjs " "
The token is written to .env (mode 0600) after being verified against the live API. SimpliSafe does not rotate refresh tokens, so it stays valid until you sign out of all devices in the SimpliSafe app — which is how you revoke it.
Capturing the code: open DevTools → Network and tick Preserve log *before* signing in; afterwards the browser fails to open a com.simplisafe.mobile://… link, and that failed entry's link address is what you paste. The code is single-use and expires in about two minutes.
Treat the resulting token like a house key: it grants full control of the alarm.
Arming, disarming, locking, unlocking and reading the PINs all ask you to confirm first. On a client that can show a confirmation prompt (Claude Code) you get the prompt, with the details below (unless MCP_CONFIRM_ELICITATION=off). On one that cannot (claude.ai, Claude Desktop) the first call sends nothing and returns a preview plus a confirmToken; only a repeat call with that token acts, once. The preview includes a plain statement of the physical consequence:
{
"status": "confirmation-required", "confirmed": false, "dispatched": false, "action": "alarm.set_state", "preview": { "action": "set alarm state to away", "method": "POST", "path": "/ss3/subscriptions/7858153/state/away", "sid": 7858153, "locationName": "Home", "currentState": "OFF", "requestedState": "AWAY", "warning": "Arms ALL sensors including interior motion. Starts an exit delay; anyone still moving inside when it expires can trigger the siren and a monitoring-center dispatch." }, "confirmToken": "…", "expiresAt": "…", "ttlSeconds": 600, "instruction": "Show this preview to the user verbatim and proceed only after they explicitly approve in chat. Then call again with confirmToken." }
The token is bound to that tool, target and preview. The system is re-read on the second call, and if what would happen no longer matches what you approved — different arguments, or the alarm or lock state moved in between — it is refused (DRAFT_CHANGED) with a fresh preview. A token that was already used is refused too (TOKEN_REUSED).
| variable | default | |
|---|---|---|
MCP_CONFIRM_MODE | ask-user | What a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). ask-user: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. auto: the same two steps, but the model may use the token after reviewing the preview itself. refuse: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt, unless MCP_CONFIRM_ELICITATION=off. An unrecognised value is treated as refuse. |
MCP_CONFIRM_ELICITATION | on | off never shows a confirmation prompt, so every client gets the MCP_CONFIRM_MODE behaviour. Set it for a client that says it can show prompts but never does (the write hangs — opencode 2.0.x). Any other value is treated as on, with a warning on stderr. |
MCP_CONFIRM_TTL_SECONDS | 600 | How long a token stays valid. |
MCP_CONFIRM_SECRET | random per process | Signing key; set it only if tokens must survive a server restart. |
Once confirmed, a write executes and then re-reads the system to check what actually happened, reporting confirmed, in_progress (the exit delay is counting down), or unconfirmed. A 2xx is never treated as proof.
For quick one-off queries there's a curl-based skill in skills/simplisafe-api/ — same API, no MCP process, sharing the same refresh token.
npm install
npm run build npm test
Verified endpoint shapes live in docs/SIMPLISAFE-API.md, including several things that are easy to get backwards:
location.system.version, not the top-level systemVersion;ss3/ prefix;numEvents has an undocumented hard ceiling of 50;settings.pins returns alarm codes in cleartext alongside harmless settings.Unofficial. Not affiliated with or endorsed by SimpliSafe. It uses the same private API the SimpliSafe mobile app uses, with your own account credentials. Use at your own discretion.
MIT