Skip to main content
Glama

Rouse Context

Tu teléfono tiene un contexto que la IA no tiene: tus datos de salud, tus notificaciones, el uso de tus aplicaciones. Rouse Context pone ese contexto a disposición de los asistentes de IA bajo demanda, sin sincronizar nunca tus datos con la nube.

Es una aplicación de Android que convierte tu teléfono en un servidor MCP. Los clientes de IA como Claude se conectan a una URL, tu teléfono se activa y se establece una sesión cifrada directa. La IA solicita lo que necesita, tu teléfono responde y luego vuelve a entrar en reposo. Tus datos nunca abandonan tu dispositivo excepto a través de esa sesión en vivo.

Estado: v1.0 lanzada. Disponible en GitHub Releases. Para acceso a la versión beta de Google Play, envía un correo a beta@rousecontext.com. Funciona con Claude, Cursor y cualquier cliente compatible con MCP.

Primeros pasos

  1. Instalar — descarga el APK desde GitHub Releases e instálalo manualmente (es posible que debas habilitar "Instalar desde fuentes desconocidas" en la configuración de tu Android). O envía un correo a beta@rousecontext.com para obtener acceso a la versión beta de Google Play.

  2. Configurar — abre la aplicación, toca "Get Started" (Empezar), concede los permisos de notificación. La aplicación se registra en el relé y aprovisiona los certificados TLS de tu dispositivo (~10 segundos).

  3. Habilitar una integración — toca "Add Integration" (Añadir integración) en la pantalla de inicio. Elige una (por ejemplo, Health Connect), concede los permisos solicitados y obtendrás una URL como https://brave-health.abc123.rousecontext.com/mcp.

  4. Conecta tu cliente de IA — pega esa URL en Claude (Settings → Connectors → Add custom connector), Cursor o cualquier cliente MCP. La primera conexión activará una aprobación OAuth en tu teléfono: toca "Approve" (Aprobar).

  5. Úsalo — pregúntale a la IA sobre tus datos de salud, envíate una notificación, comprueba tu tiempo de pantalla. Cada llamada a una herramienta se registra en la pestaña de auditoría de la aplicación.

Related MCP server: fitbit-mcp

Cómo funciona

AI Client ──TLS──> Relay (SNI passthrough) ──mux WebSocket (mTLS)──> Your Phone
  1. Habilitas una integración (por ejemplo, Health Connect) y obtienes una URL como https://brave-health.abc123.rousecontext.com/mcp (la integración se identifica mediante el prefijo del nombre de host; la ruta es siempre /mcp)

  2. Añade esa URL a Claude, Cursor o cualquier cliente MCP

  3. Cuando el cliente se conecta, el relé activa tu teléfono mediante una notificación push FCM

  4. Tu teléfono se conecta de vuelta a través de un WebSocket mTLS, y el relé empalma ambos flujos TLS

  5. El cliente de IA habla directamente con tu teléfono a través de TLS cifrado de extremo a extremo; el relé nunca ve el texto plano

Las sesiones son efímeras. El teléfono vuelve a entrar en reposo cuando el cliente se desconecta.

Integraciones

Cada integración se habilita de forma independiente y obtiene su propio punto final MCP con autorización OAuth (PKCE). 22 herramientas en 4 integraciones:

Health Connect (3 herramientas)

Consulta datos de Android Health Connect en 36 tipos de registros en 7 categorías (actividad, cuerpo, sueño, constantes vitales, nutrición, reproductiva, atención plena).

Herramienta

Descripción

list_record_types

Lista los tipos de registros de Health Connect con estado de permiso

query_health_data

Consulta registros por tipo y rango de tiempo

get_health_summary

Resumen de salud en los tipos permitidos para un período

Notificaciones (5 herramientas)

Lee, busca e interactúa con las notificaciones del dispositivo.

Herramienta

Descripción

list_active_notifications

Lista las notificaciones publicadas

search_notification_history

Busca en el historial de notificaciones por texto, paquete o rango de tiempo

get_notification_stats

Recuento de notificaciones, aplicaciones principales y hora de mayor actividad para un período

perform_notification_action

Invoca un botón de acción en una notificación activa

dismiss_notification

Descarta una notificación activa por clave

Alcance (10 herramientas)

Permite que la IA realice acciones en el dispositivo: iniciar aplicaciones, abrir enlaces, enviar notificaciones, gestionar el modo "No molestar".

Herramienta

Descripción

launch_app

Inicia una aplicación instalada por nombre de paquete

open_link

Abre una URL http/https en la aplicación predeterminada

copy_to_clipboard

Copia texto al portapapeles

send_notification

Publica una notificación con botones de acción opcionales y URL para abrir al tocar

list_installed_apps

Lista las aplicaciones instaladas

create_notification_channel

Crea un canal de notificaciones

list_notification_channels

Lista los canales de notificación creados por la IA

delete_notification_channel

Elimina un canal de notificación creado por la IA

get_dnd_state

Obtiene el estado de "No molestar"

set_dnd_state

Establece el estado de "No molestar"

Estadísticas de uso (4 herramientas)

Patrones de uso de aplicaciones y análisis de tiempo de pantalla.

Herramienta

Descripción

get_usage_summary

Totales de tiempo de pantalla y aplicaciones principales para un período

get_app_usage

Uso diario por aplicación

get_usage_events

Eventos brutos de primer plano/segundo plano de aplicaciones en un rango

compare_usage

Compara el tiempo de pantalla entre dos períodos; las mayores diferencias primero

Arquitectura

Aplicación Android

Módulo

Propósito

:app

Interfaz Compose, Koin DI, navegación, temas

:core:tunnel

Protocolo Mux, cliente WebSocket, aceptación TLS, CertificateStore

:core:mcp

Enrutamiento de sesiones MCP, servidor HTTP, OAuth (código de dispositivo + código de autorización + PKCE), gestión de tokens

:core:bridge

Puentea flujos mux de túnel a sesiones MCP mediante TLS

:api

Interfaz McpIntegration, IntegrationStateStore

:integrations

Proveedores MCP: Health Connect, alcance (llamadas/SMS/DND), estadísticas de uso, captura de notificaciones

:notifications

Infraestructura de notificaciones transversal, persistencia de auditoría (Room)

:work

Servicio en primer plano, receptor FCM, WorkManager

:core:testfixtures

Fixtures compartidos para pruebas de nivel de integración que inician el binario del relé real

Servidor de relé (relay/)

Binario Rust en un VPS pequeño. Maneja:

  • TLS passthrough — enruta las conexiones de clientes de IA a los dispositivos mediante SNI, nunca termina el TLS interno

  • Mux WebSocket — multiplexa múltiples sesiones de cliente sobre una conexión de dispositivo

  • Activación FCM — envía notificaciones push para activar dispositivos en reposo

  • Certificados ACME — emite certificados TLS por dispositivo mediante Google Trust Services DNS-01 (API de Cloudflare); Let's Encrypt también es compatible

  • Protección contra bots — prefijo de URL secreto validado antes de activar el dispositivo, además de limitación de FCM y limitación de tasa por IP

Seguridad

  • Cifrado de extremo a extremo — el TLS termina en tu teléfono. El relé solo realiza passthrough SNI.

  • Sin sincronización en la nube — los datos se leen de fuentes en el dispositivo y se sirven en vivo. Nada se almacena de forma remota.

  • Certificados ACME por dispositivo — certificados por dispositivo mediante Google Trust Services (DNS-01), clave privada en Android Keystore (respaldada por hardware).

  • Autenticación de dispositivo mTLS — el relé autentica el dispositivo mediante certificado de cliente antes de permitir conexiones.

  • Prefijo de URL secreto — cada URL de dispositivo incluye un secreto rotativo por integración (brave-health.abc123.rousecontext.com, donde brave-health es {adjetivo}-{id_integración}). Los bots que descubren el subdominio del dispositivo no pueden activarlo sin el secreto.

  • OAuth por cliente — cada cliente de IA debe ser autorizado mediante aprobación en el dispositivo antes de acceder a las herramientas.

  • Pista de auditoría — cada invocación de herramienta se registra localmente con argumentos, respuesta y duración.

Construcción

Android

./gradlew assembleDebug

Requiere Android SDK (compileSdk 36, targetSdk 35, minSdk 24). La construcción requiere JDK 21 (JAVA_HOME=/usr/lib/jvm/java-21-openjdk).

Informe de cobertura

./gradlew koverHtmlReport

Agrega la cobertura de líneas y ramas en todas las pruebas unitarias de los módulos y el nivel :core:tunnel:integrationTest (subproceso de relé real). El HTML se genera en build/reports/kover/html/index.html. CI publica el mismo informe como un artefacto test-coverage además de un resumen por módulo en cada PR.

Relé

cd relay
cargo build --release

Pruebas de extremo a extremo

Las pruebas e2e controlan un dispositivo real a través de adb mediante un host (normalmente local en la LAN) que ejecuta adb. La propiedad del sistema adb.host es obligatoria y está vacía por defecto; la tarea :e2e:e2eTest falla rápidamente si no se establece. El número de serie del dispositivo es opcional y solo es necesario si hay varios dispositivos conectados a ese host.

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

El módulo :device-tests tiene un ejecutor separado que construye un APK apuntando a un relé que se ejecuta localmente. También requiere una IP de LAN accesible desde el dispositivo:

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

Sin lan.ip, las pruebas de dispositivo se omiten limpiamente mediante las suposiciones de JUnit.

Estado

v1.0 lanzada. 22 herramientas en 4 integraciones, activación en frío en ~3 segundos, cifrado de extremo a extremo. Consulta docs/design/ para obtener documentos de diseño detallados y la política de privacidad.

Licencia

Licenciado bajo la Licencia Apache, Versión 2.0. Consulta LICENSE para más detalles.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables 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.
    1
    22 npm
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    A 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.
    26
    604 npm
    64
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP 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.
    38
    278 npm
    109
    MIT