PocketMCP

by axonixtools

Not rated
GitHub

About

Turn your Android phone into an MCP (Model Context Protocol) server. AI agents and desktop scripts can call your phone for live data and actions over LAN

Details

Author
axonixtools
Categories
Productivity, Other, Automation

Setup

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

Repository: https://github.com/axonixtools/PocketMCP

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

Turn your Android phone into an MCP (Model Context Protocol) server. AI agents and desktop scripts can call your phone for live data and actions over LAN or Tailscale.

- Latest testing release:v1.0.0-beta.1
- This build is marked as pre-release and may contain bugs while active development continues.

PocketMCP is fully open-source and core functionality is free. The project is MIT-licensed and community contributions are welcome.
- Communication Hub: Send WhatsApp, Instagram, Messenger messages and make calls from desktop
- Social Media Automation: Interact with Instagram, YouTube, X/Twitter automatically
- Notification Management: Monitor and respond to all phone notifications in real-time
- Daily readiness check: "What is my battery and where is my phone right now?"
- Contact lookup: "Find Alice's number from my phone contacts."
- App ecosystem control: Launch and manage 309+ installed applications
- Phone diagnostics: Run safe shell checks without unlocking the phone.

- Direct Calls: Make phone calls to any number with contact name support
- Multi-Platform Messaging: WhatsApp, Instagram, Messenger, Google Messages
- WhatsApp Business Support: Prioritizes WhatsApp Business when installed
- Deep Link Integration: Opens apps with pre-filled content

- Complete Automation: Send messages with contact selection and typing
- Step-by-Step Control: Select contacts, type messages, press send/cancel
- Accessibility Integration: Full UI automation via accessibility service
- Business & Personal: Supports both WhatsApp variants

- Instagram: Profile search, post interactions (like, comment, share)
- YouTube: Video search, like/dislike/comment on videos
- X/Twitter: Profile search, post interactions
- Deep Links: Direct navigation to specific content

- Live Monitoring: Capture all device notifications in real-time
- Full Data: Title, text, app, time, priority, visibility
- Historical Access: Recent notifications with search and filtering
- Management: Clear history, check status, get counts

- API key authentication supported viaX-API-Key(recommended).
- Local network usage by default; use Tailscale for remote access.
- Shell tool blocks high-risk commands and enforces timeout/output limits.
- File reads are restricted to app storage and external storage roots.
- Loopback URLs are blocked inhttp_request.
- Accessibility Service: Required for advanced automation features.
- Notification Access: Required for real-time notification monitoring.

- Android foreground service keeps MCP server alive.
- Start/stop/status lifecycle is explicit (START,STOP,QUERY_STATUS).
- UI reflects actual service state using status broadcasts.
- Enhanced App Discovery: Detects 309+ launchable apps (up from 25).
- Graceful Fallbacks: Manual interaction instructions when automation not possible.

- DownloadPocketMCP-debug.apkfromv1.0.0-beta.1
- Install with ADB:

./gradlew assembleDebug adb install app/build/outputs/apk/debug/app-debug.apk

- Open PocketMCP.
- Set port (default8080).
- Generate or paste API key.
- Start server from switch or button.
- Copy endpoint/config from the Quick Connect section.

- Location:ACCESS_FINE_LOCATION(auto-requested on launch)
- Contacts:READ_CONTACTS(auto-requested on launch)
- Camera:CAMERA(auto-requested on launch)
- Phone:CALL_PHONEpermission in app settings
- Microphone:RECORD_AUDIOpermission in app settings
- SMS:SEND_SMS,READ_SMSpermissions
- Audio/Storage:READ_MEDIA_AUDIOorREAD_EXTERNAL_STORAGE(auto-requested)
- Notifications: Settings > Apps > Special Access > Notification Access
- Accessibility: Settings > Apps > Special Access > Accessibility Services

# health curl http://192.168.1.100:8080/health # list tools curl -X POST http://192.168.1.100:8080/mcp \ -H "Content-Type: application/json" \ -H "X-API-Key: your-api-key" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Emulator connection (Android Studio AVD)

If PocketMCP runs inside an Android emulator, donotuse10.0.2.15from your host MCP client config.

powershell -ExecutionPolicy Bypass -File .\scripts\setup-emulator-mcp.ps1

- 10.0.2.15is emulator-internal (not host-reachable).
- 10.0.2.2is for emulator -> host, not host -> emulator.

Usemcp-config.example.jsonas a template.

{ "mcpServers": { "phone": { "type": "streamableHttp", "url": "http://192.168.1.100:8080/mcp", "headers": { "X-API-Key": "your-api-key" } } } }

Stdio Bridge (for stdio-only MCP clients)

PocketMCP includes a hardened stdio bridge inmcp-bridge/bridge.mjsthat proxies stdio MCP calls to your phone's HTTP MCP endpoint.

cd mcp-bridge npm install node bridge.mjs --url http://192.168.1.100:8080/mcp --api-key your-api-key --verbose

- --url: target phone MCP URL (auto-addshttp://if missing)
- --api-key: API key sent asX-API-Key
- --timeout-ms: per-request timeout (default20000)
- --tools-ttl-ms: tool cache TTL (default30000)
- --no-tool-cache: disable tool caching
- --verbose: emit detailed bridge logs to stderr

- POCKET_MCP_URL
- POCKET_MCP_API_KEY
- POCKET_MCP_TIMEOUT_MS
- POCKET_MCP_TOOLS_TTL_MS
- POCKET_MCP_DISABLE_TOOL_CACHE=1
- POCKET_MCP_VERBOSE=1

from pocket_mcp_client import PocketMCPClient phone = PocketMCPClient("http://192.168.1.100:8080", api_key="your-api-key") print(phone.device_info()) print(phone.list_apps(limit=25)) print(phone.notifications("list", 10)) print(phone.human_command("vibrate my phone for 5 seconds"))

Python client now includes retries, typed exceptions, stricter argument validation, and a CLI:

# health check (default action) python3 pocket_mcp_client.py 192.168.1.100:8080 your-api-key # list tools python3 pocket_mcp_client.py 192.168.1.100:8080 your-api-key --list-tools # call one tool with JSON args python3 pocket_mcp_client.py 192.168.1.100:8080 your-api-key \ --call send_message \ --args '{"app":"whatsapp","phone_number":"+15551234567","message":"hello from desktop"}'

Some tools require Android special permissions or services:

- Phone (CALL_PHONE)
- Microphone (RECORD_AUDIO)
- SMS (SEND_SMS,READ_SMS,RECEIVE_SMS)
- Notifications access (Notification Listener)
- Accessibility service (for UI automation)

- API key authentication throughX-API-Key(recommended)
- Local network first; remote access via private networks like Tailscale
- Shell command restrictions with timeout/output limits
- File-read path restrictions
- Loopback URL blocking forhttp_request

- Runs as an Android foreground service
- Explicit service lifecycle (START,STOP,QUERY_STATUS)
- Status broadcast updates reflected in UI

- Camera capture tools
- More accessibility-driven automations
- WebSocket support
- One-tap pairing workflow
- Voice-first command flows

Connects to a Coreflux MQTT broker, offering tools for Coreflux commands and integration with AI assistants.

An MCP server that connects to a Coreflux MQTT broker, providing Coreflux and MQTT actions as tools for AI assistants.

High-performance mobile automation architecture with a thin MCP gateway and dedicated Go workers for Android and iOS.

Manage your GoodBarber eCommerce, Community, and Membership app via natural language.

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.

Connects to 3D printer management systems like OctoPrint, Klipper, and Bambu Labs for model manipulation and printing workflows.

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.

AppContext gives your AI coding agent instant visual insight into what you're developing, so it can fix issues, refine UI, and accelerate your development workflow in real time.

Connect AI clients to Cal.com scheduling through the Model Context Protocol using the hosted server at mcp.cal.com or a local instance.

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.