ring-partner-mcp
Integrates with the Ring Partner API to provide read-only access to a user's Ring devices and events. It supports listing devices with kind, online state, and end-to-end encryption status; retrieving full status, capabilities, and configuration for a device; fetching paginated event history such as doorbell presses, motion events, and live views; and retrieving recent recorded snapshots as MCP image content.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ring-partner-mcpDid anyone ring the doorbell while I was out?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ring-partner-mcp
An MCP server for the Ring Partner API (the API behind the Ring Appstore). It lets AI agents read the Ring devices a user has shared with your app:
"Did anyone ring the doorbell while I was out?" "Is the back door sensor online?" "Show me the porch from the last 10 minutes."
Why
Ring ships an MCP server for its documentation, which is great for writing integration code. Nothing exposes a user's actual devices and events to agents. This server does, read-only, over stdio for desktop agents (Claude, Kiro, Cursor, VS Code) or Streamable HTTP (MCP spec 2025-11-25) for remote agents such as an Alexa+ integration.
Related MCP server: ring-vision-mcp
Tools
All tools are read-only (readOnlyHint: true).
Tool | What it does | Ring endpoints |
| Devices with kind ( |
|
| Full status, capabilities and configuration for one device | same, per device |
| Doorbell presses, motion (with |
|
| Latest recorded JPEG in the last N minutes, returned as MCP image content |
|
Things it handles so agents don't have to:
Device kind from capabilities. Ring returns unsupported capabilities as
null, and the device list doesn't say what a device is.End-to-end encrypted cameras (TAKE/E2EE) are reported and never asked for media, since it would be unreadable.
Pre-signed media URLs are fetched without forwarding your bearer token.
Common errors come back in plain language:
MEDIA_NOT_FOUND(nothing recorded in that window),TIME_RANGE_NOT_AUTHORIZED(window starts before the token's access), and expired tokens.History pagination follows
links.nextup to your limit.
Setup
Requires Node 20+.
git clone https://github.com/inslot2525-ctrl/ring-partner-mcp
cd ring-partner-mcp
npm install && npm run buildCredentials, either:
RING_ACCESS_TOKEN: a token from the Ring Developer Playground (valid 30 minutes), orRING_REFRESH_TOKEN+RING_CLIENT_ID+RING_CLIENT_SECRET: from Ring account linking, auto-renewed.
Claude Code
claude mcp add ring -e RING_ACCESS_TOKEN=<token> -- node /path/to/ring-partner-mcp/dist/index.jsClaude Desktop, Kiro, Cursor, VS Code (stdio)
{
"mcpServers": {
"ring": {
"command": "node",
"args": ["/path/to/ring-partner-mcp/dist/index.js"],
"env": { "RING_ACCESS_TOKEN": "<token>" }
}
}
}Streamable HTTP
RING_ACCESS_TOKEN=<token> node dist/index.js --http --port 3333
# → http://127.0.0.1:3333/mcpThe server holds a Ring token, so it binds to localhost by default and refuses any other host unless
MCP_HTTP_TOKEN is set. Clients must then send Authorization: Bearer <MCP_HTTP_TOKEN>. For a public deployment,
put it behind HTTPS.
Privacy
Read-only: no tool changes device settings.
The server instructions tell agents not to try to identify people in snapshots (Ring's Appstore policies prohibit facial recognition).
Event history only covers events after the user granted your app consent, as Ring enforces server-side.
Notes from testing against the Playground
The Playground device streams live video but doesn't record live-view sessions, so snapshot and clip downloads return
416 MEDIA_NOT_FOUND. Real devices with a Ring subscription record normally.Snapshot windows that start before the token was issued return
403 TIME_RANGE_NOT_AUTHORIZED.
Development
npm test # MCP client ↔ server tests against a fake Ring API modeled on real Playground responses
npm run typecheck
npm run dev # run from source with tsxLicense
MIT. Not affiliated with or endorsed by Ring or Amazon.
This server cannot be deployed
Maintenance
Related MCP Connectors
Context and control for any AI. Agent identity, scoped access, and proof across tools.
Read-only banking and personal finance for AI agents: accounts, transactions, spending, budgets.
Web search and page reading for AI agents, including JSON APIs, RSS feeds and YouTube.
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables control of Ring home security devices, including doorbells, cameras, lights, and alarm systems, through MCP-compatible clients like Claude Desktop.4MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to interact with Ring cameras and doorbells through the official Amazon Vision API, supporting device listing, health status, event history, and live WebRTC streaming via natural language.7MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query and interact with Extra Low Voltage security hardware such as Hikvision and Dahua cameras and NVRs through typed, read-only-by-default MCP tools for device info, channel enumeration, and JPEG snapshot capture. Translates proprietary ISAPI and CGI protocols into safe, auditable calls that any MCP client can use over stdio.MIT
- AlicenseNot gradedqualityBmaintenanceEnables context-aware home safety monitoring by exposing tools to retrieve recent Ring events, household context, deterministic activity assessments, and alert explanations over MCP.60,099 npmMIT