Analyzed 34 days ago · 2 anonymous rescans remaining · register free to re-analyze any time.
Public analysis · read only
Register free to re-analyze

priyankark/phonepi-mcp

35 7 2 issues
JavaScript
MIT

Project Overview

anthropic / claude-opus-4-7

PhonePi MCP

MCP server that lets AI assistants control your smartphone over a local WebSocket connection.

AI Verdict
Review Recommended— AI Trust Assessment

True Intent (AI Assessment)

Provide a local MCP+WebSocket bridge so desktop AI assistants can invoke actions on a paired smartphone companion app.

README Accuracy

Partially Accurate

Notes

The server code is clean and matches the stated purpose, but the actual phone-side tool implementations are not in this repo (closed-source companion app required). WebSocket server accepts any client on the LAN without authentication—users must rely on network-level security as the README notes.

What Is This?

PhonePi MCP is a Model Context Protocol (MCP) server paired with a CLI client that bridges desktop AI tools (like Claude Desktop and Cursor) to a companion smartphone app. The server exposes phone capabilities as MCP tools, and a WebSocket connection on port 11041 relays commands between the AI and the phone app running on the user's device.

The problem it addresses is that desktop AI assistants have no native way to interact with a user's phone. Users who want an AI to send SMS, place calls, check battery, manage contacts, share clipboard content, or trigger notifications on their phone need a bridge. PhonePi provides that bridge without routing traffic through third-party remote servers.

The intended users are developers and power users of MCP-compatible AI clients who own the companion PhonePi mobile app (referenced but not included in this repo). They install the server via npm (`phonepi-mcp`), configure their MCP client to launch it, and their phone connects to the server over the local network. An optional CLI (`phonepi`) provides a standalone chat interface backed by Anthropic's Claude API.

Architecturally, the repo contains two Node.js/TypeScript packages. The `server` package implements an MCP server using `@modelcontextprotocol/sdk` over stdio, plus a `ws` WebSocketServer that listens on 0.0.0.0:11041 for the phone app to connect. Tool calls from the AI are forwarded as JSON messages to the connected phone via WebSocket, and responses are matched back using a pendingRequests map. The `phonepi-cli` package wraps this with an Anthropic-powered interactive chat client that spawns the MCP server as a subprocess.

Notable observations: the WebSocket server binds to 0.0.0.0 with `verifyClient` always returning true, meaning any device on the local network could connect and issue phone-control commands. The README acknowledges this and recommends Tailscale/private networks. The actual phone-side app is closed source and not in this repo, so the 23+ 'tools' advertised are defined on the mobile side, not visible here. Code quality is reasonable, MIT-licensed, and there are no obvious malicious patterns.

Your Report, Tab by Tab
At a Glance
35Stars
7Forks
2Open Issues
April 15, 2025Last Active
CLI ToolTypeScriptMIT
Technology Stack
LanguagesTypeScript, JavaScript, Shell
RuntimeNode.js 14+
FrameworkModel Context Protocol SDK
DatabaseNone detected
Package Managernpm
Key Dependencies@modelcontextprotocol/sdk, ws, @anthropic-ai/sdk, commander, inquirer, chalk
Build ToolTypeScript compiler (tsc)
Test FrameworkNone detected