phonelink-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PHONELINK_PS_EXECUTABLE | No | PowerShell executable path | powershell.exe |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| phonelink_get_statusA | Get the connection status of Phone Link (MyPhone) and basic phone info. Returns whether the phone is connected, the phone name/model, and whether the app is running. Use this as the first tool call to verify Phone Link is available before using other tools. Returns: { "connected": boolean, // Whether the phone is connected "status": string, // Status text from the UI "phone_name": string, // Phone model/name if detected "app_running": boolean // Whether Phone Link is running } Error Handling:
|
| phonelink_get_messagesA | Read SMS messages from Phone Link's Messages tab. Two modes:
Args:
Returns (list mode): { "conversation_count": number, "conversations": [{ "contact": string, ... }] } Returns (conversation mode): { "conversation": string, "message_count": number, "messages": [{ "text": string, ... }] } Tips:
|
| phonelink_get_callsA | Read recent call history from Phone Link's Calls tab. Navigates to the Calls tab and scrapes the visible call list. Each entry includes the contact/number, call type (incoming/outgoing/missed), and display text. Args:
Returns: { "call_count": number, "calls": [{ "display_text": string, // Full text shown for the call entry "call_type": "incoming" | "outgoing" | "missed" | "unknown", "automation_id": string }] } |
| phonelink_get_notificationsA | Read phone notifications from Phone Link's Notifications panel. Navigates to the Notifications section and scrapes all visible notification entries. Useful for checking app notifications, system alerts, and other phone notifications mirrored to PC. Args:
Returns: { "notification_count": number, "notifications": [{ "text": string, "control_type": string, ... }] } |
| phonelink_get_photosA | List recent photos from Phone Link's Photos tab. Navigates to the Photos tab and scrapes the visible photo grid. Returns metadata about each photo entry (name, bounds, type). Note: This does NOT download photos — it lists what's visible in the UI. Args:
Returns: { "photo_count": number, "photos": [{ "name": string, "bounds": { x, y, width, height }, ... }] } |
| phonelink_inspect_uiA | Debug tool: dumps the Phone Link UI automation tree as JSON. Use this to discover UI element names, automation IDs, control types, and bounding rectangles. Helpful for troubleshooting when other tools can't find expected elements. Args:
Returns: { "element_count": number, "window_name": string, "elements": [{ "Name": string, "ControlType": string, "AutomationId": string, ... }] } |
| phonelink_send_messageA | Send an SMS message through Phone Link's UI. Opens a new message, types the recipient and message text, and clicks Send. This interacts with the Phone Link UI to send a real SMS from your phone. Args:
Returns: { "sent": boolean, "recipient": string, "message": string } ⚠️ WARNING: This sends a REAL SMS. Verify recipient and message before calling. Error Handling:
|
| phonelink_make_callA | Initiate a phone call through Phone Link's dial pad. Opens the Calls tab, enters the phone number, and clicks the call button. This triggers a real phone call from your connected phone. Args:
Returns: { "initiated": boolean, "phone_number": string } ⚠️ WARNING: This initiates a REAL phone call. Verify the number before calling. |
| phonelink_launch_appA | Launches the Phone Link app if not already running. Uses the ms-phone: protocol handler to open Phone Link. Wait a few seconds after calling this before using other tools. Returns: { "launched": boolean, "message": string } |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct Phone Link surface or action: status, photos, messages, calls, notifications, UI inspection, send, call, and launch. There is no meaningful overlap between get_messages and get_calls or between send_message and make_call, and the debug tool is clearly differentiated as a troubleshooting utility.
All tools share the phonelink_ prefix and use consistent snake_case verb_noun patterns: get_* for read operations and send_message, make_call, and launch_app for actions. This makes it easy to predict a tool's behavior from its name.
Nine tools is well-scoped for a Phone Link automation server: it covers the main phone data surfaces plus two user-initiated actions and a launcher/debug aid. Each tool earns its place without bloat or obvious omissions.
The set covers the main Phone Link workflows: connection status, launching the app, reading photos/messages/calls/notifications, sending an SMS, and making a call. Minor gaps exist—photos are not downloadable and notification actions are absent—but these are reasonable boundaries for a UI-automation MCP server.