MCPy
MCP Client for Mobile
MCPy brings the power of Model Context Protocol to mobile. MCP lets AI models call external tools (Slack, Figma, databases, APIs) with user approval. MCPy implements the full MCP spec on iOS via React Native, including OAuth 2.0/PKCE authentication, tool discovery, and an approval workflow that pauses the AI stream until the user approves each tool call. Powered by OpenRouter for multi-model support and Supabase for backend.
React Native 0.83Expo 55TypeScriptMCP Protocol (JSONRPC 2.0)OpenRouter APISupabase+6 more


Features
- ▸Full MCP protocol implementation on mobile (JSONRPC 2.0 over HTTP/SSE)
- ▸9 AI providers via OpenRouter (GPT-5, Claude, Gemini, DeepSeek, Grok…)
- ▸Smart model router: auto-picks model by intent & complexity
- ▸OAuth 2.0 + PKCE auth flow for MCP servers (Slack, Figma, etc.)
- ▸Tool approval workflow — stream pauses, user approves/cancels each tool call
- ▸Dynamic tool discovery & per-server tool enable/disable
- ▸Extended thinking / reasoning content display
- ▸Image attachments via Supabase Storage
- ▸Conversation archive, search, and management
- ▸Glass morphism UI with animated backgrounds (@expo/ui + expo-glass-effect)
Architecture
UIReact Native + Expo Router + @expo/ui (SwiftUI-style components)
StateMobX (persistent) + React Query (server) + Zustand (attachments)
BackendSupabase (PostgreSQL + Auth + Storage + Realtime)
AI LayerOpenRouter API via Supabase Edge Function (2089-line chat-proxy)
MCPJSONRPC 2.0, OAuth 2.0/PKCE, tool approval gate in SSE stream
StreamingSSE with ref-based accumulation, 16ms throttle (~60 FPS renders)
Tech Stack
React Native 0.83Expo 55TypeScriptMCP Protocol (JSONRPC 2.0)OpenRouter APISupabaseMobXReact QueryReanimated 4OAuth 2.0 / PKCESSE Streaming@expo/ui