Phonelink Server
FreeNot checkedMCP server that interacts with the Phone Link Windows app via UI Automation to read messages, calls, notifications, and photos, and perform actions like sending
About
MCP server that interacts with the Phone Link Windows app via UI Automation to read messages, calls, notifications, and photos, and perform actions like sending SMS and making calls.
README
MCP server that reads and interacts with the Phone Link (MyPhone) Windows app via UI Automation.
Since Microsoft doesn't offer public APIs for Phone Link, this server scrapes the UI using PowerShell + .NET's System.Windows.Automation.
Features
| Tool | Type | Description |
|---|---|---|
phonelink_get_status |
Read | Connection status + phone info |
phonelink_get_messages |
Read | List conversations or read a specific chat |
phonelink_get_calls |
Read | Call history (incoming/outgoing/missed) |
phonelink_get_notifications |
Read | Phone notifications |
phonelink_get_photos |
Read | Photo gallery metadata |
phonelink_inspect_ui |
Read | Debug: dump full UI automation tree |
phonelink_send_message |
Write | Send an SMS via the Phone Link UI |
phonelink_make_call |
Write | Initiate a phone call |
phonelink_launch_app |
Write | Launch Phone Link if not running |
Requirements
- Windows 10/11 with Phone Link installed and configured
- Node.js >= 18
- PowerShell (Windows PowerShell 5.1+ or PowerShell Core 7+)
- Phone connected and paired in Phone Link
Setup
cd phonelink-mcp-server
npm install
npm run build
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"phonelink": {
"command": "node",
"args": ["C:/path/to/phonelink-mcp-server/dist/index.js"],
"env": {
"PHONELINK_PS_EXECUTABLE": "powershell.exe"
}
}
}
}
Note: Use
pwsh.exeinstead ofpowershell.exeif you have PowerShell Core installed (recommended for better performance).
How It Works
Claude ←→ MCP (stdio) ←→ Node.js Server ←→ PowerShell Scripts ←→ UIAutomation ←→ Phone Link UI
- Claude calls an MCP tool (e.g.,
phonelink_get_messages) - The Node.js server executes the corresponding PowerShell script
- The PowerShell script uses .NET's
System.Windows.Automationto:- Find the Phone Link window
- Navigate to the correct tab
- Traverse the UI element tree
- Extract text, names, and metadata
- Results are returned as JSON through the MCP protocol
Environment Variables
| Variable | Default | Description |
|---|---|---|
PHONELINK_PS_EXECUTABLE |
powershell.exe |
PowerShell executable path |
Troubleshooting
"Phone Link window not found"
- Make sure Phone Link is running (use
phonelink_launch_appfirst) - Check that Phone Link's window title matches expected names. Use
phonelink_inspect_uito debug. - The server searches for: "Phone Link", "Collegamento al telefono", "Il tuo telefono", "Your Phone"
UI elements not found
- Phone Link updates may change the UI structure. Use
phonelink_inspect_uito see current elements. - Try increasing
max_depthin inspect_ui to find deeper elements. - The PowerShell scripts include multi-language support (EN, IT, DE, ES) but your locale might use different strings.
Slow responses
- UI Automation traversal can be slow, especially with high
max_depth. - Keep
max_depthat 10-12 for most operations. - The first call after launching Phone Link may be slower while the UI loads.
Permission issues
- PowerShell must run with sufficient privileges to use UIAutomation.
- If running as a service, ensure the service account has access to the desktop session.
Limitations
- UI-dependent: Changes to Phone Link's UI can break scraping. Use
inspect_uito adapt. - Single language per session: Element names depend on the Windows display language.
- No photo download: The photos tool lists metadata but cannot export actual image files.
- Sequential only: Only one tool should run at a time (concurrent UI automation will conflict).
- Foreground required: Phone Link window must be visible (not minimized) for some operations.
Development
npm run dev # Watch mode
npm run build # Build once
npm start # Run server
License
MIT
Installing Phonelink Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Heartran/phonelink-mcp-serverFAQ
Is Phonelink Server MCP free?
Yes, Phonelink Server MCP is free — one-click install via Unyly at no cost.
Does Phonelink Server need an API key?
No, Phonelink Server runs without API keys or environment variables.
Is Phonelink Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Phonelink Server in Claude Desktop, Claude Code or Cursor?
Open Phonelink Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
LibreOffice Tools
Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a
by passerbyflutterdannote/figma-use
Full Figma control: create shapes, text, components, set styles, auto-layout, variables, export. 80+ tools.
by dannoteLogo.dev
Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content
by NOVA-3951PIX4Dmatic
Enables GUI automation for controlling PIX4Dmatic on Windows through MCP. Supports launching, focusing, capturing screenshots, sending hotkeys, clicking UI elem
by jangjo123Compare Phonelink Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All design MCPs
