环开发者MCP服务器
用于构建Amazon Ring集成的开发工具包MCP服务器。与Ring的官方MCP(提供文档搜索)不同,此服务器生成 生产就绪代码,验证您的配置,并指导您完成认证和发布。一个工具调用为您提供了一个可工作的、自包含的模块,而不需要多个文档搜索和LLM解释。
它与Ring的官方MCP有何不同
Ring提供了一个 官方Appstore知识MCP服务器 有两个工具(search_docs 和 get_doc)搜索他们的文档。这是一个很好的参考工具,这个服务器甚至可以代理查询。
此MCP服务器是 开发者工具包 这超出了文档的范围:
- 代码生成 --6个工具,可生成自包含的即插即用模块(OAuth、webhooks、设备客户端、流媒体、视频处理)。每个模块都包含自己的身份验证、错误处理和运行所需的一切——没有幻影导入,没有缺失的依赖关系。
- 结构化API参考 --类型化端点定义、webhook有效负载模式和针对LLM消费优化的OAuth流详细信息,而不是散文段落。
- 开发人员工作流程 --配置验证、认证清单、测试指南和发布指南,涵盖了从构建到应用商店的整个生命周期。
- 确定性输出 --同一个工具调用每次都会生成相同的经过验证的代码,这与文档搜索方法不同,在文档搜索方法中,每个LLM和每个提示符的输出都不同。
- 先离线 --内置知识库无需网络访问即可工作,可选择远程回退到Ring的官方MCP。
您可以同时使用这两台服务器。这个处理代码生成和工作流;Ring's处理实时文档搜索。
它的作用
此MCP服务器提供 16工具 涵盖整个Ring开发生命周期的四个类别:
文档和搜索
| 工具 | 说明 |
|---|---|
search_ring_docs | 使用本地知识库和Ring官方MCP的可选代理搜索Ring文档 |
refresh_ring_docs | 从Ring开发人员门户获取最新文档并更新本地缓存 |
API 参考
| 工具 | 说明 |
|---|---|
get_ring_api_reference | 按类别浏览Ring Partner API端点或按关键字搜索 |
get_ring_webhook_schema | 获取带有示例的webhook事件负载模式(运动、人员、设备事件) |
get_ring_oauth_reference | OAuth 2.0帐户链接流、所需端点和配置 |
代码生成
| 工具 | 说明 |
|---|---|
scaffold_ring_project | 生成完整的项目结构(Next.js或Express) |
generate_ring_oauth | 具有缓存和自动刷新功能的生产就绪OAuth令牌管理 |
generate_ring_webhook_handler | 具有HMAC-SHA256验证和幂等性的Webhook处理程序 |
generate_ring_device_client | 设备发现、状态监控和能力检查 |
generate_ring_streaming_client | WebRTC/WEEP实时视频流与会话管理 |
generate_ring_video_processor | 用于实时相机馈送分析的视频处理器插件 |
generate_ring_env_template | 带有安全提醒的环境变量模板 |
验证和工作流程
| 工具 | 说明 |
|---|---|
validate_ring_config | 验证凭据、端点(HTTPS)和应用元数据 |
get_ring_certification_checklist | 完整的认证清单,包括常见的拒绝原因 |
get_ring_testing_guide | 暂存环境设置和测试工作流程 |
get_ring_publishing_guide | 推出策略、货币化和版本管理 |
快速开始
先决条件
选择一个:
- Node.js 22+ 从源头进行建设
- 码头工人 用于集装箱化部署
以及任何支持MCP的AI编码助手(Claude Desktop、Cursor、VS Code、Kiro、Cline、Windsurf)。
选项A:从源代码构建
git clone https://github.com/benjmac/ring-developer-mcp.git
cd ring-developer-mcp
npm install
npm run build选项B:Docker
git clone https://github.com/benjmac/ring-developer-mcp.git
cd ring-developer-mcp
docker build -t ring-developer-mcp .或者使用npm脚本:
npm run docker:build验证Docker镜像是否正常工作:
echo '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}},"id":1}' | docker run -i --rm ring-developer-mcp您应该看到一个JSON响应 "serverInfo":{"name":"ring-developer-mcp"}.
______________________________________________________________________
连接到您的AI助手
下面是每个主要AI编码工具的配置。每个都显示两者 Node.js 和 码头工人 变体——选择与您构建服务器的方式相匹配的选项。
重要提示: 替换 /absolute/path/to/ring-developer-mcp 使用克隆仓库的实际路径。克劳德桌面
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
Node.js
{
"mcpServers": {
"ring-developer": {
"command": "node",
"args": ["/absolute/path/to/ring-developer-mcp/dist/index.js"]
}
}
}Docker
{
"mcpServers": {
"ring-developer": {
"command": "docker",
"args": ["run", "-i", "--rm", "ring-developer-mcp"]
}
}
}VS代码(克劳德代码扩展)
添加 .vscode/settings.json 或用户设置:
Node.js
{
"claude-code.mcpServers": {
"ring-developer": {
"command": "node",
"args": ["/absolute/path/to/ring-developer-mcp/dist/index.js"]
}
}
}Docker
{
"claude-code.mcpServers": {
"ring-developer": {
"command": "docker",
"args": ["run", "-i", "--rm", "ring-developer-mcp"]
}
}
}光标
设置>功能>MCP>编辑配置:
Node.js
{
"mcpServers": {
"ring-developer": {
"command": "node",
"args": ["/absolute/path/to/ring-developer-mcp/dist/index.js"]
}
}
}Docker
{
"mcpServers": {
"ring-developer": {
"command": "docker",
"args": ["run", "-i", "--rm", "ring-developer-mcp"]
}
}
}基罗
Kiro按钮>MCP服务器>编辑:
Node.js
{
"ring-developer": {
"command": "node",
"args": ["/absolute/path/to/ring-developer-mcp/dist/index.js"]
}
}Docker
{
"ring-developer": {
"command": "docker",
"args": ["run", "-i", "--rm", "ring-developer-mcp"]
}
}Cline(VS代码)
单击图标>MCP服务器>已安装>添加MCP服务器:
- Node.js:
node /absolute/path/to/ring-developer-mcp/dist/index.js - Docker:
docker run -i --rm ring-developer-mcp
帆板运动
添加到MCP配置:
Node.js
{
"mcpServers": {
"ring-developer": {
"command": "node",
"args": ["/absolute/path/to/ring-developer-mcp/dist/index.js"]
}
}
}Docker
{
"mcpServers": {
"ring-developer": {
"command": "docker",
"args": ["run", "-i", "--rm", "ring-developer-mcp"]
}
}
}验证它是否有效
配置后,重新启动AI助手并询问:
“在Ring文档中搜索身份验证的工作原理”
你应该看看 search_ring_docs 工具调用并返回详细的OAuth和API引用信息。
用法示例
配置后,向您的AI助手提出以下问题:
入门指南
“搜索Ring文档以了解如何开始使用Ring API”
“显示Ring OAuth流程并生成auth模块”
建筑特征
“使用HMAC验证为我的Next.js应用程序生成一个webhook处理程序”
“为Ring摄像机创建WebRTC流媒体客户端”
“生成一个列出所有摄像头及其状态的设备客户端”
“使用Express构建新的Ring集成项目”
准备发射
“验证我的Ring应用程序配置以进行认证”
“给我看看认证清单——提交前我需要什么?”
“Ring应用程序认证的常见拒绝原因是什么?”
保持最新状态
“用最新内容刷新Ring文档缓存”
建筑
每个工具都是一个自包含的模块,位于其自己的文件中——一个工具,一个文件——按类别组织:
src/
├── index.ts # Entry point — stdio MCP transport
├── server.ts # Tool registration hub
├── tools/
│ ├── types.ts # Shared ToolDefinition and ToolResult types
│ ├── docs/
│ │ ├── cache.ts # Documentation cache with 24h TTL
│ │ ├── search-docs.ts # search_ring_docs
│ │ └── refresh-docs.ts # refresh_ring_docs
│ ├── api/
│ │ ├── get-api-reference.ts # get_ring_api_reference
│ │ ├── get-webhook-schema.ts # get_ring_webhook_schema
│ │ └── get-oauth-reference.ts # get_ring_oauth_reference
│ ├── codegen/
│ │ ├── scaffold-project.ts # scaffold_ring_project
│ │ ├── generate-oauth.ts # generate_ring_oauth
│ │ ├── generate-webhook-handler.ts # generate_ring_webhook_handler
│ │ ├── generate-device-client.ts # generate_ring_device_client
│ │ ├── generate-streaming-client.ts # generate_ring_streaming_client
│ │ ├── generate-video-processor.ts # generate_ring_video_processor
│ │ └── generate-env-template.ts # generate_ring_env_template
│ └── workflow/
│ ├── validate-config.ts # validate_ring_config
│ ├── get-certification-checklist.ts # get_ring_certification_checklist
│ ├── get-testing-guide.ts # get_ring_testing_guide
│ └── get-publishing-guide.ts # get_ring_publishing_guide
└── knowledge/
├── api-endpoints.ts # Ring Partner API endpoint definitions
├── webhook-schemas.ts # Webhook event types and payload schemas
├── oauth-config.ts # OAuth configuration and account linking reference
├── guides.ts # Certification, testing, and publishing guides
└── templates.ts # Code generation templates (self-contained modules)设计决策
- 除了MCP SDK和Zod之外,零运行时依赖性 --无膨胀,快速启动
- 内置知识库 -使用全面的Ring API参考数据离线工作
- 远程文档代理 --可选择查询Ring的官方Appstore Knowledge MCP服务器以获取最新文档
- 与框架无关的代码生成 --为Next.js、Express或独立的Node.js生成代码
- 安全第一模板 --所有生成的代码都包括HMAC验证、令牌缓存、HTTPS强制和幂等性
发展
# Watch mode for development
npm run dev
# Type check without emitting
npm run typecheck
# Clean build artifacts
npm run clean
# Full rebuild
npm run clean && npm run build环API覆盖范围
此服务器包含完整的Ring Partner API:
| 类别 | 端点 |
|---|---|
| 认证 | 通过refresh_token授权进行OAuth令牌交换 |
| 用户 | GET/v1/users/me |
| 设备 | 发现、状态、功能、位置、配置 |
| 视频流 | WHEP会话创建(POST)和清理(DELETE) |
| 帐户链接 | 帐户链接生命周期的POST+PATCH |
| 媒体剪辑 | POST下载录制的视频片段 |
| 网络钩子 | 检测到动作、检测到人员、按下按钮、添加设备、移动设备、在线设备、离线设备 |
Ring的官方MCP
Ring提供官方Appstore知识MCP服务器(https://knowledge.appstore-mcp.ring.amazon.dev/mcp)文档搜索由Amazon Bedrock提供支持。看 Ring的MCP文档 有关设置说明。
这两个服务器相互补充得很好——Ring用于实时文档搜索,而这一个用于代码生成、结构化API参考和开发人员工作流。这 search_ring_docs 当您设置时,此服务器中的工具可以将查询代理到Ring的MCP source: "remote" 或 source: "both".
Ring开发人员资源
用于构建此MCP服务器的官方文档和参考:
- Ring开发者门户 — https://developer.amazon.com/ring
- 环API Hello World -亚马逊为Ring Partner API提供的官方示例回购。对于工作代码示例来说,这是一个很好的参考,也是这个项目的灵感来源。如果您正在寻找超出此MCP生成范围的动手示例代码,请从那里开始。
开发人员生命周期
API 文档
认证
设备发现
Webhook通知
其他API
许可证
麻省理工学院
