Skip to main content
ClaudeWave

MCP server for SimpliSafe — check system state and sensors, review events, arm/disarm, and control smart locks

MCP ServersRegistry oficial0 estrellas0 forksTypeScriptMITActualizado today
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/chrischall/simplisafe-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "simplisafe-mcp": {
      "command": "node",
      "args": ["/path/to/simplisafe-mcp/dist/index.js"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/chrischall/simplisafe-mcp and follow its README for install instructions.
Casos de uso

Resumen de MCP Servers

# simplisafe-mcp

MCP server for [SimpliSafe](https://simplisafe.com) 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, is gated behind an
> explicit `confirm: true`. Without it, no request is sent at all and you get a
> dry-run preview of exactly what would happen. Install it only where you'd be
> comfortable with that capability.

Developed and maintained by AI (Claude Code).

## What you get

| 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) |
| `simplisafe_get_settings` | Entry/exit delays, volumes, base-station health |
| `simplisafe_get_pins` | Alarm PINs — **cleartext, confirm-gated** |
| `simplisafe_set_alarm_state` | Arm home / arm away / disarm — **confirm-gated** |
| `simplisafe_set_lock_state` | Lock / unlock a door — **confirm-gated** |
| `simplisafe_healthcheck` | Auth + API reachability |

Supports **SimpliSafe 3** systems. Legacy SS2 systems are rejected with an
explanation rather than an opaque upstream 404.

## Install

```bash
npm install -g simplisafe-mcp
```

Or add to `.mcp.json`:

```json
{
  "mcpServers": {
    "simplisafe": {
      "command": "npx",
      "args": ["-y", "simplisafe-mcp"],
      "env": { "SIMPLISAFE_REFRESH_TOKEN": "${SIMPLISAFE_REFRESH_TOKEN}" }
    }
  }
}
```

## Authentication — one browser login, once

SimpliSafe issues no API keys. The credential is an OAuth2 refresh token, minted
by a browser login you perform **one time**:

```bash
git clone https://github.com/chrischall/simplisafe-mcp && cd simplisafe-mcp
node scripts/bootstrap-auth.mjs             # prints an authorize URL
# sign in (MFA included), then copy the com.simplisafe.mobile:// URL
node scripts/bootstrap-auth.mjs "<that URL>"
```

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.

## Writes are gated, and verified

Calling a write tool without `confirm: true` sends **nothing** and returns a
preview, including a plain statement of the physical consequence:

```json
{
  "dryRun": true,
  "action": "set alarm state to away",
  "method": "POST",
  "path": "/ss3/subscriptions/7858153/state/away",
  "currentState": "OFF",
  "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.",
  "note": "Nothing was sent. Re-run with confirm: true to execute."
}
```

With `confirm: true`, the tool 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.

## Hosted connector (optional)

The same tools can run as a Cloudflare Worker so they're reachable from
claude.ai on the web, desktop and phone. This archetype supports it because auth
is a non-rotating refresh token — no browser bridge, no signed-in tab.

The connector runs the whole OAuth bootstrap **itself**, as a two-step login
page, so it doesn't depend on a local install and you never paste a long-lived
credential. See [docs/DEPLOY-CONNECTOR.md](docs/DEPLOY-CONNECTOR.md).

## Shell access without the server

For quick one-off queries there's a `curl`-based skill in
[`skills/simplisafe-api/`](skills/simplisafe-api/SKILL.md) — same API, no MCP
process, sharing the same refresh token.

## Development

```bash
npm install
npm run build
npm test              # node suite
npm run worker:test   # Workers-runtime suite (connector)
```

Verified endpoint shapes live in
[docs/SIMPLISAFE-API.md](docs/SIMPLISAFE-API.md), including several things that
are easy to get backwards:

- lock state is encoded **1 = locked, 2 = unlocked**;
- system version for routing is at `location.system.version`, not the top-level
  `systemVersion`;
- events and doorlock control are **not** under the `ss3/` prefix;
- `numEvents` has an undocumented hard ceiling of **50**;
- `settings.pins` returns alarm codes in cleartext alongside harmless settings.

## Disclaimer

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.

## License

MIT

Lo que la gente pregunta sobre simplisafe-mcp

¿Qué es chrischall/simplisafe-mcp?

+

chrischall/simplisafe-mcp es mcp servers para el ecosistema de Claude AI. MCP server for SimpliSafe — check system state and sensors, review events, arm/disarm, and control smart locks Tiene 0 estrellas en GitHub y se actualizó por última vez today.

¿Cómo se instala simplisafe-mcp?

+

Puedes instalar simplisafe-mcp clonando el repositorio (https://github.com/chrischall/simplisafe-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar chrischall/simplisafe-mcp?

+

chrischall/simplisafe-mcp aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.

¿Quién mantiene chrischall/simplisafe-mcp?

+

chrischall/simplisafe-mcp es mantenido por chrischall. La última actividad registrada en GitHub es de today, con 0 issues abiertos.

¿Hay alternativas a simplisafe-mcp?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega simplisafe-mcp en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: chrischall/simplisafe-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/chrischall-simplisafe-mcp)](https://claudewave.com/repo/chrischall-simplisafe-mcp)
<a href="https://claudewave.com/repo/chrischall-simplisafe-mcp"><img src="https://claudewave.com/api/badge/chrischall-simplisafe-mcp" alt="Featured on ClaudeWave: chrischall/simplisafe-mcp" width="320" height="64" /></a>

Más MCP Servers

Alternativas a simplisafe-mcp