TextureFlow MCP Server
Enables voice-controlled, confirmed actions on Android notifications via a bridge to Convex. Exposes eleven tools with no immediate-send operation, requiring explicit confirmation for reply, dismiss, and snooze.
README
TextureFlow
TextureFlow is a voice-first Android accessibility layer for notification attention and explicitly confirmed actions. The interface combines an Eye of Horus identity, a dense moth-paper texture, liquid-glass controls, semantic audio cues, and haptic boundaries.
Built Surfaces
- Android notification listener with active-state reconciliation, boot/package recovery, a 15-minute health job, durable SQLite outbox, and bounded rebind backoff.
- Android-to-Convex foreground connection with heartbeat, command polling, an independent watchdog, finite network timeouts, persisted command claims, and lease-safe outbox delivery.
- Confirmed action boundary for reply, dismiss, and snooze. The voice bridge can prepare and
confirm a proposal, but only Android can execute a live
PendingIntentand create its receipt. - Convex Core for devices, events, attention, people, sessions, proposals, confirmation grants, commands, receipts, fixtures, and correlated traces.
- VoiceOS-compatible MCP bridge with eleven tools and no immediate-send operation.
- Deterministic intelligence fallback, bounded context, strict model schemas, rehearsal fixtures, safety scenarios, and a non-dispatching live smoke harness.
- Sensory engine with carpet scrolling, glass focus, boundary bumps, urgency, confirmation, execution, success, and failure cues across audio, haptic, and visual channels.
The full target architecture is in docs/ARCHITECTURE.md. Android recovery details are in docs/ANDROID_INTEGRATION.md and docs/ANDROID_CONNECTION.md.
Local Configuration
Copy .env.example to .env.local and provide the Convex deployment values. Both .env.local
and .env.convex are ignored. Team/deploy credentials are used only by local tooling and must
never be placed in Android.
The Android debug build pre-fills only the non-secret Convex URL and owner ID. Use Configure Core link in the app to enroll the scoped device token at runtime. TextureFlow encrypts that token with an Android Keystore AES-GCM key; it is not packaged in the APK.
Verification
npm run check
env JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" \
./gradlew lintDebug assembleDebug testDebugUnitTest
node --env-file=.env.local tools/live-smoke/run.mjs
node --env-file=.env.local tools/verify-bridge-live.mjs
The debug APK is generated at app/build/outputs/apk/debug/app-debug.apk.
Demo Safety
tools/live-smoke/run.mjs uses synthetic data and deliberately ends execution with a
POLICY_BLOCKED receipt. Rehearsal commands never create an Android execution receipt. The bridge
only announces success after a receipt from the authenticated target device says DISPATCHED.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.