Check SimpliSafe system state and sensors, review events, arm/disarm, and control smart locks
MCPpedia last refreshed this data
io.github.chrischall/simplisafe-mcp is an MCP server that check SimpliSafe system state and sensors, review events, arm/disarm, and control smart locks. Its tool list has not been published yet over stdio, requires no API key, and scores 87/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"simplisafe": {
"env": {
"SIMPLISAFE_REFRESH_TOKEN": "${SIMPLISAFE_REFRESH_TOKEN}"
},
"args": [
"-y",
"simplisafe-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP server for SimpliSafe home security. Check whether the system is armed, review sensors and events, arm/disarm, and control smart
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'simplisafe-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked simplisafe-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
Transport for TMCP using STDIO
The graph based agentic IDE
Buddhist canon tools: search, passages, cross-canon parallels, dictionaries — all URN-cited.
MCP Security Weekly
Get CVE alerts and security updates for io.github.chrischall/simplisafe-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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, 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).
| 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.
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
# 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.
Calling a write tool without confirm: true sends nothing and returns a
preview, including a plain statement of the physical consequence:
{
"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.
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