Rouse Context

by monkopedia

Not rated
GitHub

About

Turn your Android phone into an on-demand MCP server. 22 tools for health data, notifications, app usage, and device actions. End-to-end encrypted, no cloud sync.

Details

Author
monkopedia
Categories
Other, Security

Setup

Install Rouse Context in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/monkopedia/rouse-context

Follow the installation instructions in the repository README, then restart your MCP client.

Your phone has context that AI doesn't — your health data, your notifications, your app usage. Rouse Context makes that context available to AI assistants on demand, without ever syncing your data to the cloud.

It's an Android app that turns your phone into anMCPserver. AI clients like Claude connect to a URL, your phone wakes up, and a direct encrypted session is established. The AI asks for what it needs, your phone responds, and then it goes back to sleep. Your data never leaves your device except through that live session.

Status:v1.0 released. Available onGitHub Releases. For Google Play beta access, emailbeta@rousecontext.com. Works with any MCP-compatible client.
- Install— download the APK from
GitHub Releasesand sideload it (you may need to enable "Install from unknown sources" in your Android settings). Or emailbeta@rousecontext.comfor Google Play beta access. Two builds ship per release — a Firebase-freeFOSSAPK (-foss.apk) and aGoogleAPK (-google.apk); seedocs/distribution.mdfor which to pick and the F-Droid story.
- Onboard— open the app, tap Get Started, grant notification permissions. The app registers with the relay and provisions your device's TLS certificates (~10 seconds).
- Enable an integration— tap Add Integration on the home screen. Pick one (e.g. Health Connect), grant the requested permissions, and you'll get a URL likehttps://brave-health.abc123.rousecontext.com/mcp.
- Connect your AI client— paste that URL into Claude (Settings → Connectors → Add custom connector) or any MCP client. The first connection triggers an OAuth approval on your phone — tap Approve.
- Use it— ask the AI about your health data, send yourself a notification, check your screen time. Every tool call is logged in the app's Audit tab.

AI Client ──TLS──> Relay (SNI passthrough) ──mux WebSocket (mTLS)──> Your Phone

- You enable an integration (e.g. Health Connect) and get a URL likehttps://brave-health.abc123.rousecontext.com/mcp(the integration is identified by the hostname prefix; the path is always/mcp)
- Add that URL to Claude or any MCP client
- When the client connects, the relay wakes your phone via FCM push
- Your phone connects back through a mTLS WebSocket, and the relay splices the two TLS streams together
- The AI client talks directly to your phone over end-to-end encrypted TLS — the relay never sees the plaintext

Sessions are ephemeral. The phone goes back to sleep when the client disconnects.

Each integration is independently enabled and gets its own MCP endpoint with OAuth authorization (PKCE). 22 tools across 4 integrations:

Query Android Health Connect data across 36 record types in 7 categories (activity, body, sleep, vitals, nutrition, reproductive, mindfulness).

Read, search, and interact with device notifications.

Let AI take actions on the device — launch apps, open links, send notifications, manage DND.

App usage patterns and screen time analytics.

- TLS passthrough— routes AI client connections to devices via SNI, never terminates inner TLS
- Mux WebSocket— multiplexes multiple client sessions over one device connection
- FCM wakeup— sends push notifications to wake sleeping devices
- ACME certs— issues per-device TLS certs via Google Trust Services DNS-01 (Cloudflare API); Let's Encrypt also supported
- Bot protection— secret URL prefix validated before waking device, plus FCM throttle and IP rate limiting

- End-to-end encrypted— TLS terminates on your phone. The relay does SNI passthrough only.
- No cloud sync— data is read from on-device sources and served live. Nothing stored remotely.
- Per-device ACME certs— per-device certs via Google Trust Services (DNS-01), private key in Android Keystore (hardware-backed).
- mTLS device auth— relay authenticates the device by client certificate before allowing connections.
- Secret URL prefix— each device URL includes a rotatable per-integration secret (brave-health.abc123.rousecontext.com, wherebrave-healthis{adjective}-{integrationId}). Bots that discover the device subdomain can't wake it without the secret.
- OAuth per-client— each AI client must be authorized via on-device approval before accessing tools.
- Audit trail— every tool invocation is logged locally with arguments, response, and duration.

Requires Android SDK (compileSdk36,targetSdk35,minSdk24). Build requires JDK 21 (JAVA_HOME=/usr/lib/jvm/java-21-openjdk).

Aggregates line + branch coverage across every module's unit tests and the:core:tunnel:integrationTesttier (real relay subprocess). HTML lands inbuild/reports/kover/html/index.html. CI publishes the same report as atest-coverageartifact plus a per-module summary on each PR.

The e2e tests drive a real device overadbvia a (typically LAN-local) host runningadb. Theadb.hostsystem property is required and defaults to empty — the:e2e:e2eTesttask fails fast if unset. Device serial is optional and only needed if multiple devices are connected to that host.

./gradlew :e2e:e2eTest \ -Dadb.host=<your-dev-host> \ -Dadb.serial=<your-device-serial>

The:device-testsmodule has a separate runner that builds an APK pointed at a locally-running relay. It also requires a LAN IP reachable from the device:

./gradlew :device-tests:test -Dlan.ip=<your-lan-ip>

Withoutlan.ip, the device-tests skip cleanly via JUnit assumptions.

v1.0 released. 22 tools across 4 integrations, cold-start wake in ~3 seconds, end-to-end encrypted. Seedocs/design/for detailed design documents andprivacy policy.

Licensed under the Apache License, Version 2.0. SeeLICENSEfor details.

Monitor air quality with Airthings devices.

Control AVM FRITZ!Box routers - manage devices, WiFi, network settings, parental controls, and schedule time-delayed actions

Fuses biometric signals into a stress score (0-100) for real-time AI adaptation. MCP + A2A native.

An MCP server for the Rhombus API, offering advanced security and surveillance features.

Send Push Notifications and Live Activities to your paired iOS devices.

A server for Android APK analysis and reverse engineering using Apktool.

Send iOS push notifications using the Bark app.

Broadcast AI-driven alerts securely to thousands of phones and laptops in seconds—no apps, no SMS, and total user privacy.

An MCP server that uses Facebook IDB to automate iOS simulators, providing device control, input actions, and screenshots over HTTP, SSE, or stdio.

An MCP server to control iOS simulators and real devices, enabling AI assistant integration on macOS.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.