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の設定で「不明なアプリのインストール」を有効にする必要がある場合があります)。または、Google Playのベータ版へのアクセスについては
beta@rousecontext.comまでメールしてください。オンボーディング — アプリを開き、「Get Started」をタップして通知の権限を許可します。アプリがリレーに登録され、デバイスのTLS証明書がプロビジョニングされます(約10秒)。
統合の有効化 — ホーム画面で「Add Integration」をタップします。いずれか(例:Health Connect)を選択し、要求された権限を許可すると、
https://brave-health.abc123.rousecontext.com/mcpのようなURLが発行されます。AIクライアントの接続 — そのURLをClaude(設定 → コネクタ → カスタムコネクタを追加)、Cursor、または任意のMCPクライアントに貼り付けます。最初の接続時にスマートフォンでOAuthの承認が求められるので、「承認」をタップします。
使用する — AIにヘルスデータについて尋ねたり、自分宛てに通知を送ったり、スクリーンタイムを確認したりできます。すべてのツール呼び出しは、アプリの「Audit」タブに記録されます。
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経由で接続し直し、リレーが2つのTLSストリームを結合します
AIクライアントはエンドツーエンドで暗号化されたTLS経由でスマートフォンと直接通信します。リレーがプレーンテキストを見ることはありません
セッションは一時的なものです。クライアントが切断されると、スマートフォンはスリープ状態に戻ります。
統合
各統合は個別に有効化され、OAuth認証(PKCE)を備えた独自のMCPエンドポイントを取得します。4つの統合で22のツールが利用可能です:
Health Connect (3ツール)
7つのカテゴリ(アクティビティ、身体、睡眠、バイタル、栄養、生殖、マインドフルネス)にわたる36種類のレコードタイプで、Android Health Connectデータを照会します。
ツール | 説明 |
| 権限ステータスを含むHealth Connectレコードタイプの一覧 |
| タイプと期間を指定してレコードを照会 |
| 指定期間の許可されたタイプ全体のヘルスサマリー |
通知 (5ツール)
デバイスの通知を読み取り、検索し、操作します。
ツール | 説明 |
| 表示中の通知の一覧 |
| テキスト、パッケージ、または期間で通知履歴を検索 |
| 指定期間の通知数、トップアプリ、最も忙しい時間帯 |
| アクティブな通知のアクションボタンを呼び出し |
| キーを指定してアクティブな通知を消去 |
アウトリーチ (10ツール)
AIがデバイス上でアクションを実行できるようにします(アプリの起動、リンクを開く、通知の送信、おやすみモードの管理など)。
ツール | 説明 |
| パッケージ名でインストール済みアプリを起動 |
| デフォルトアプリでhttp/https URLを開く |
| クリップボードにテキストをコピー |
| オプションのアクションボタンとタップして開くURL付きの通知を投稿 |
| インストール済みアプリの一覧 |
| 通知チャンネルを作成 |
| AIが作成した通知チャンネルの一覧 |
| AIが作成した通知チャンネルを削除 |
| おやすみモードの状態を取得 |
| おやすみモードの状態を設定 |
使用状況統計 (4ツール)
アプリの使用パターンとスクリーンタイムの分析。
ツール | 説明 |
| 指定期間のスクリーンタイム合計とトップアプリ |
| アプリごとの日次使用状況 |
| 指定範囲内のアプリのフォアグラウンド/バックグラウンドイベントの生データ |
| 2つの期間のスクリーンタイムを比較。差分が大きい順に表示 |
アーキテクチャ
Androidアプリ
モジュール | 目的 |
| Compose UI、Koin DI、ナビゲーション、テーマ設定 |
| Muxプロトコル、WebSocketクライアント、TLS受け入れ、CertificateStore |
| MCPセッションルーティング、HTTPサーバー、OAuth(デバイスコード + 認証コード + PKCE)、トークン管理 |
| トンネルMuxストリームをTLS経由でMCPセッションにブリッジ |
|
|
| MCPプロバイダー:Health Connect、アウトリーチ(通話/SMS/DND)、使用状況統計、通知キャプチャ |
| 横断的な通知インフラ、監査の永続化(Room) |
| フォアグラウンドサービス、FCMレシーバー、WorkManager |
| 実際のリレーバイナリを起動する統合テスト層向けの共有フィクスチャ |
リレーサーバー (relay/)
小型VPS上のRustバイナリ。以下を処理します:
TLSパススルー — SNI経由でAIクライアントの接続をデバイスにルーティングし、内部TLSを終了させない
Mux WebSocket — 1つのデバイス接続で複数のクライアントセッションを多重化
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は{形容詞}-{統合ID})。デバイスのサブドメインを発見したボットでも、シークレットなしでは起動できません。クライアントごとのOAuth — 各AIクライアントは、ツールにアクセスする前にデバイス上での承認が必要です。
監査証跡 — すべてのツール呼び出しは、引数、応答、期間とともにローカルに記録されます。
ビルド
Android
./gradlew assembleDebugAndroid 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エンドツーエンドテスト
E2Eテストは、adbを実行しているホスト(通常はLAN内)経由でadbを使用して実際のデバイスを操作します。adb.hostシステムプロパティが必要で、デフォルトは空です。設定されていない場合、:e2e:e2eTestタスクは即座に失敗します。デバイスのシリアル番号はオプションであり、そのホストに複数のデバイスが接続されている場合にのみ必要です。
./gradlew :e2e:e2eTest \
-Dadb.host=<your-dev-host> \
-Dadb.serial=<your-device-serial>:device-testsモジュールには、ローカルで実行中のリレーを指すAPKをビルドする別のランナーがあります。また、デバイスから到達可能なLAN 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