Skip to main content
Glama
Heartran

phonelink-mcp-server

by Heartran

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PHONELINK_PS_EXECUTABLENoPowerShell executable pathpowershell.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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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:

  • If Phone Link is not running, returns connected=false with an appropriate status message.

  • Use phonelink_launch_app to start it first if needed.

phonelink_get_messagesA

Read SMS messages from Phone Link's Messages tab.

Two modes:

  1. List conversations: Leave conversation_name empty to get a list of all visible conversations with their last message previews.

  2. Read conversation: Provide a contact name to open and read messages from that specific conversation.

Args:

  • conversation_name (string, optional): Contact name to open. Empty = list all conversations.

  • max_messages (number): Max messages/conversations to return (1-100, default: 20).

  • navigate_to_tab (boolean): Click the Messages tab first (default: true).

Returns (list mode): { "conversation_count": number, "conversations": [{ "contact": string, ... }] }

Returns (conversation mode): { "conversation": string, "message_count": number, "messages": [{ "text": string, ... }] }

Tips:

  • Use list mode first to discover available conversations.

  • The contact name must match what's displayed in the Phone Link UI.

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:

  • max_calls (number): Maximum call entries to return (1-100, default: 20).

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:

  • max_notifications (number): Max notifications to return (1-100, default: 30).

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:

  • max_photos (number): Maximum photo entries to return (1-100, default: 25).

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:

  • max_depth (number): Maximum tree depth (1-25, default: 10). Higher = more elements but slower.

  • filter_control_type (string, optional): Only return elements of this type (e.g. "Text", "Button", "ListItem").

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:

  • recipient (string): Contact name or phone number.

  • message_text (string): The message to send (max 1600 chars).

Returns: { "sent": boolean, "recipient": string, "message": string }

⚠️ WARNING: This sends a REAL SMS. Verify recipient and message before calling.

Error Handling:

  • Returns sent=false with error message if any UI element can't be found.

  • Common issues: Phone not connected, Messages tab not loading, UI layout changes.

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:

  • phone_number (string): The number to call (include country code if needed).

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 9 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues