Rouse Context
Rouse Context
您的手机拥有 AI 所不具备的上下文信息——您的健康数据、通知和应用使用情况。Rouse Context 让 AI 助手能够按需获取这些上下文,且无需将您的数据同步到云端。
这是一个将您的手机变成 MCP 服务器的 Android 应用。Claude 等 AI 客户端连接到一个 URL,您的手机会被唤醒,并建立直接的加密会话。AI 请求它所需的内容,您的手机做出响应,然后重新进入休眠状态。除了通过该实时会话外,您的数据绝不会离开您的设备。
状态: v1.0 已发布。可在 GitHub Releases 获取。如需 Google Play 测试版访问权限,请发送电子邮件至
beta@rousecontext.com。适用于 Claude、Cursor 以及任何兼容 MCP 的客户端。
入门指南
安装 — 从 GitHub Releases 下载 APK 并侧载安装(您可能需要在 Android 设置中启用“安装来自未知来源的应用”)。或者发送电子邮件至
beta@rousecontext.com获取 Google Play 测试版访问权限。引导 — 打开应用,点击“开始使用”,授予通知权限。应用将向中继服务器注册并配置您设备的 TLS 证书(约 10 秒)。
启用集成 — 在主屏幕点击“添加集成”。选择一个(例如 Health Connect),授予请求的权限,您将获得一个类似
https://brave-health.abc123.rousecontext.com/mcp的 URL。连接您的 AI 客户端 — 将该 URL 粘贴到 Claude(设置 → 连接器 → 添加自定义连接器)、Cursor 或任何 MCP 客户端中。首次连接时,您的手机会触发 OAuth 批准请求——点击“批准”。
使用 — 向 AI 询问您的健康数据、给自己发送通知、查看屏幕使用时间。每次工具调用都会记录在应用的“审计”选项卡中。
Related MCP server: fitbit-mcp
工作原理
AI Client ──TLS──> Relay (SNI passthrough) ──mux WebSocket (mTLS)──> Your Phone您启用一个集成(例如 Health Connect)并获得一个类似
https://brave-health.abc123.rousecontext.com/mcp的 URL(集成由主机名前缀标识;路径始终为/mcp)将该 URL 添加到 Claude、Cursor 或任何 MCP 客户端
当客户端连接时,中继服务器通过 FCM 推送唤醒您的手机
您的手机通过 mTLS WebSocket 回连,中继服务器将两个 TLS 流拼接在一起
AI 客户端通过端到端加密的 TLS 直接与您的手机通信——中继服务器永远无法看到明文
会话是短暂的。当客户端断开连接时,手机会重新进入休眠状态。
集成
每个集成都是独立启用的,并拥有自己的带有 OAuth 授权 (PKCE) 的 MCP 端点。4 个集成共包含 22 个工具:
Health Connect (3 个工具)
查询 Android Health Connect 数据,涵盖 7 个类别(活动、身体、睡眠、生命体征、营养、生殖、正念)中的 36 种记录类型。
工具 | 描述 |
| 列出 Health Connect 记录类型及权限状态 |
| 按类型和时间范围查询记录 |
| 获取一段时间内已授权类型的健康摘要 |
通知 (5 个工具)
读取、搜索并与设备通知进行交互。
工具 | 描述 |
| 列出已发布的通知 |
| 按文本、包名或时间范围搜索通知历史记录 |
| 获取一段时间内的通知计数、热门应用和最繁忙时段 |
| 调用活动通知上的操作按钮 |
| 按键值关闭活动通知 |
外联 (10 个工具)
让 AI 对设备执行操作——启动应用、打开链接、发送通知、管理勿扰模式。
工具 | 描述 |
| 按包名启动已安装的应用 |
| 在默认应用中打开 http/https URL |
| 将文本复制到剪贴板 |
| 发布带有可选操作按钮和点击打开 URL 的通知 |
| 列出已安装的应用 |
| 创建通知渠道 |
| 列出 AI 创建的通知渠道 |
| 删除 AI 创建的通知渠道 |
| 获取勿扰模式状态 |
| 设置勿扰模式状态 |
使用统计 (4 个工具)
应用使用模式和屏幕时间分析。
工具 | 描述 |
| 一段时间内的屏幕时间总计和热门应用 |
| 单个应用每日的使用情况 |
| 一段时间内原始的应用前台/后台事件 |
| 比较两个时段的屏幕时间;按差异大小排序 |
架构
Android 应用
模块 | 用途 |
| Compose UI、Koin DI、导航、主题 |
| Mux 协议、WebSocket 客户端、TLS 接受、CertificateStore |
| MCP 会话路由、HTTP 服务器、OAuth(设备代码 + 授权代码 + PKCE)、令牌管理 |
| 通过 TLS 将隧道 Mux 流桥接到 MCP 会话 |
|
|
| MCP 提供程序:Health Connect、外联(通话/短信/勿扰)、使用统计、通知捕获 |
| 跨领域通知基础设施、审计持久化 (Room) |
| 前台服务、FCM 接收器、WorkManager |
| 用于集成层测试的共享夹具,可启动真实的中继二进制文件 |
中继服务器 (relay/)
运行在小型 VPS 上的 Rust 二进制文件。处理:
TLS 透传 — 通过 SNI 将 AI 客户端连接路由到设备,从不终止内部 TLS
Mux WebSocket — 在一个设备连接上复用多个客户端会话
FCM 唤醒 — 发送推送通知以唤醒休眠设备
ACME 证书 — 通过 Google Trust Services DNS-01 (Cloudflare API) 颁发设备级 TLS 证书;也支持 Let's Encrypt
机器人防护 — 在唤醒设备前验证秘密 URL 前缀,外加 FCM 节流和 IP 速率限制
安全性
端到端加密 — TLS 在您的手机上终止。中继服务器仅进行 SNI 透传。
无云端同步 — 数据从设备本地源读取并实时提供。没有任何内容存储在远程。
设备级 ACME 证书 — 通过 Google Trust Services (DNS-01) 为每个设备颁发证书,私钥存储在 Android Keystore(硬件支持)中。
mTLS 设备认证 — 中继服务器在允许连接之前通过客户端证书对设备进行身份验证。
秘密 URL 前缀 — 每个设备 URL 都包含一个可轮换的集成级秘密(
brave-health.abc123.rousecontext.com,其中brave-health是{adjective}-{integrationId})。发现设备子域的机器人如果没有秘密就无法唤醒它。客户端级 OAuth — 每个 AI 客户端在访问工具之前都必须通过设备端批准进行授权。
审计追踪 — 每次工具调用都会在本地记录参数、响应和持续时间。
构建
Android
./gradlew assembleDebug需要 Android SDK(compileSdk 36, targetSdk 35, minSdk 24)。构建需要 JDK 21 (JAVA_HOME=/usr/lib/jvm/java-21-openjdk)。
覆盖率报告
./gradlew koverHtmlReport汇总每个模块单元测试以及 :core:tunnel:integrationTest 层(真实中继子进程)的行和分支覆盖率。HTML 报告位于 build/reports/kover/html/index.html。CI 会发布相同的报告作为 test-coverage 工件,并在每个 PR 上发布模块级摘要。
中继服务器
cd relay
cargo build --release端到端测试
端到端测试通过运行 adb 的(通常是局域网内的)主机,经由 adb 驱动真实设备。需要 adb.host 系统属性,默认为空——如果未设置,:e2e:e2eTest 任务会快速失败。设备序列号是可选的,仅在连接了多个设备到该主机时才需要。
./gradlew :e2e:e2eTest \
-Dadb.host=<your-dev-host> \
-Dadb.serial=<your-device-serial>:device-tests 模块有一个单独的运行器,用于构建指向本地运行的中继服务器的 APK。它还需要一个设备可访问的局域网 IP:
./gradlew :device-tests:test -Dlan.ip=<your-lan-ip>如果没有 lan.ip,设备测试将通过 JUnit 假设干净地跳过。
状态
v1.0 已发布。4 个集成共 22 个工具,冷启动唤醒约 3 秒,端到端加密。详细设计文档请参阅 docs/design/,隐私政策请参阅官网。
许可证
基于 Apache License, Version 2.0 许可。详情请参阅 LICENSE。
This server cannot be deployed
Maintenance
Related MCP Connectors
Give your AI agent a memory and body on your iPhone: set alarms, ring your phone, over MCP.
Melaya is a remote MCP server. It gives an assistant hands on your own Android phone and browser: it reads the screen through the accessibility tree, then taps, types and navigates inside the apps and sites you allow-list, with no per-app API. It also builds, schedules and runs agent pipelines across 6k+ connected tools. OAuth 2.1, nothing to install.
Governed personal world model and memory for your AI agent. Pair once, connect over MCP.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to send SMS messages via Twilio through the Model Context Protocol or a standalone REST API. It supports standard messaging, automated greetings, and creative content generation using natural language.122 npmMIT
- AlicenseAqualityAmaintenanceMCP server for the Fitbit Web API with OAuth PKCE, local cache, and trend analysis.1837 PyPI2GPL 3.0
- AlicenseBqualityAmaintenanceA local-first MCP server that enables AI agents to read user-authorized Google Health API v4 data from Fitbit, Pixel Watch, and partners via OAuth, with tokens never leaving the machine.26604 npm64MIT
- AlicenseAqualityAmaintenanceMCP server that gives AI agents full vision and control over Android devices via ADB and scrcpy. Supports screenshots, input, apps, UI automation, shell, files, and clipboard.38278 npm109MIT