MCP server for SimpliSafe — check system state and sensors, review events, arm/disarm, and control smart locks
git clone https://github.com/chrischall/simplisafe-mcp{
"mcpServers": {
"simplisafe-mcp": {
"command": "node",
"args": ["/path/to/simplisafe-mcp/dist/index.js"]
}
}
}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.
[](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
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!