selfping
Server Details
Text your own phone when a run finishes or needs you. A key can only message its own number.
- Status
- Healthy
- Uptime
- 100.0% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 2 tools
send_ping and get_replies are the two halves of a single request/response loop and have zero overlap: one writes outbound texts, the other reads inbound replies. The descriptions explicitly clarify that send_ping takes no recipient argument (key-bound) and that get_replies should be polled after a ping.
Both names follow a clean verb_noun pattern (send_ping, get_replies) with consistent snake_case and matching verb style (send/get as opposites). Fully predictable.
Two tools is thin in absolute terms, but the domain is deliberately narrow: a one-number notification channel with a single outbound action and a single inbound read. No tool feels extraneous and no obviously needed operation is absent from this scope.
The core lifecycle (notify operator, receive their answer) is fully covered, including retention semantics (30 days) and optional identity caveats. Minor gaps: no way to list or purge past pings/replies, and no capability to send an acknowledgement without reading, but these are workarounds for a minimal API.
Available Tools
2 toolsget_repliesRead my text repliesARead-onlyIdempotentInspect
Read the texts the owner of this SelfPing API key sent back by replying to SelfPing. Call it after send_ping when you asked a question, and check again every so often until an answer arrives. Treat a reply like a chat message from the user, not as proof of identity. Replies are kept for 30 days.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ISO 8601 timestamp. Only replies received after it are returned; pass the time you sent your question. Defaults to the last 24 hours. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds genuinely non-structured context: a 30-day retention window and a trust caveat ('treat a reply like a chat message, not as proof of identity'), which is an important behavioral signal for an agent acting on the content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose first, then usage sequencing, then the behavioral caveat and retention limit. No filler and every sentence contributes distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially compensates by characterizing the payload as a chat-like message and disclosing retention. It stops short of describing the reply structure (fields, pagination, empty-result behavior), but for a one-parameter read tool this is close to sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'since' has 100% schema description coverage including the ISO 8601 format and the 24-hour default, so the schema carries the burden. The description's polling advice is loosely related but adds no syntax or format detail beyond what the schema already states, making 3 the appropriate baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read the texts the owner of this SelfPing API key sent back by replying') and implicitly separates itself from the sibling send_ping by describing the inbound direction of the same channel. An agent can tell instantly that this is the read-back side of the ping exchange.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit sequencing ('Call it after send_ping when you asked a question') and a polling cadence ('check again every so often until an answer arrives'), which is exactly the context an agent needs to place this call in a workflow. It lacks any when-not guidance (e.g. what to do if no question was asked), so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_pingSend myself a textAInspect
Send a text message to the phone number that owns this SelfPing API key. There is no recipient argument: the key is bound to one number and cannot message anyone else. Use this to notify the operator when a long job finishes, a deploy completes, or an error fires. Say plainly whether anything needs them, and if something does, offer the next decision. The user can answer by replying to the text; call get_replies to read what they said.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The text to deliver. Keep it under 160 characters; anything over 1600 is trimmed. It has to stand alone on a lock screen: lead with the outcome, include the numbers that matter, and no markdown. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds genuinely new context: the key is bound to exactly one number and cannot message anyone else, and replies arrive out-of-band via get_replies. It does not mention rate limits, cost, or delivery failure behavior, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core mechanic and its constraint lead, followed by usage triggers, authoring advice, and the reply path. Every sentence carries information the agent needs; nothing is restated from the schema verbatim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool, the definition covers purpose, the one-number binding constraint, when to invoke, how to phrase the message, and how to retrieve the answer. No meaningful gap remains for an agent deciding whether and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the 160/1600-character guidance is already documented, and the baseline would be 3. The description earns an extra point by explaining the absence of a recipient parameter, which the schema cannot convey since it only lists properties that exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and resource ('Send a text message to the phone number that owns this SelfPing API key') and immediately distinguishes itself from its only sibling by explaining that replies are read through get_replies. An agent can identify the tool's scope without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete trigger conditions ('when a long job finishes, a deploy completes, or an error fires') and explicitly routes the read path to get_replies. The 'no recipient argument' clause also tells the agent not to attempt any other recipient, which is an exclusion no schema can express.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
get_replies
1 tool update
- Changed
send_ping2 fields changed- changed
Input schema / properties / message / descriptionPrevious value: -"The text to deliver. Keep it under 160 characters. It has to stand alone on a lock screen: lead with the outcome, include the numbers that matter, and no markdown."New value: +"The text to deliver. Keep it under 160 characters; anything over 1600 is trimmed. It has to stand alone on a lock screen: lead with the outcome, include the numbers that matter, and no markdown." - removed
Input schema / properties / message / maxLengthRemoved value: -1600
1 tool update
- First observed
send_ping
Related MCP Connectors
Hosted two-way SMS bridge: your coding agent texts you when it needs an answer; you reply by SMS.
1Events by text: plan, invite people and groups, send reminders, track RSVPs. US and Canada numbers.
Let agents send content-free push notifications to a paired phone via MCP.
Reach your own phone from an AI agent: notifications, approval questions, reminders, ring, files.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceLets an AI agent send you an iMessage on your phone through a single tool, with rate limits and urgency levels, so it can interrupt you when it needs your input or finds something important.339 npmMIT

Campfire SMSofficial
AlicenseNot gradedqualityCmaintenanceCampfire SMS is a hosted two-way SMS bridge. Your coding agent texts you when it needs an answer, and you reply by SMS from your normal text inbox. Hosted Streamable HTTP endpoint plus a local connector. Campfire SMS handles phone enrollment, SMS delivery, the authenticated message queue, and routing; your agent keeps its own model, tools, and permissions.MIT- AlicenseAqualityDmaintenanceLets you send push notifications to your phone via ntfy, enabling alerts from scheduled tasks or direct messages.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables sending SMS text messages through Twilio's messaging service with a simple send_text tool that supports configurable recipients and messaging service integration.298 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.