Skip to main content
Glama

Server Details

Your AI rings your iPhone, speaks its question, and gets your spoken answer back as text.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: call makes a voice call, poll_result checks on a ringing call, text sends a text, wait_for_reply waits for incoming messages, and set_thread_title names the thread. Even the two polling tools are differentiated by what they poll for (a call vs. general replies).

Naming Consistency3/5

Tool names are all lower_snake_case but vary in structure: single verbs (call, text) vs. verb phrases (poll_result, set_thread_title, wait_for_reply). While readable, the pattern is not perfectly consistent across the set.

Tool Count5/5

With 5 tools, the set is well-scoped for a personal communication server. Each tool covers a distinct and necessary capability without redundancy or bloat.

Completeness4/5

The surface covers the core workflows: initiating voice/text communication, polling for results, and waiting for replies. Minor gaps exist, such as no explicit thread history retrieval or ability to cancel a call, but these are workable.

Available Tools

5 tools
callA
Destructive
Inspect

Ring the human's iPhone, speak the question aloud, and return what they say. Waits up to ~30s; if the result comes back status "ringing", follow up with poll_result. to is their 10-digit /call-me number (from the /call-me iOS app — not a real phone number). Pass a previous session_token to stay in the same thread on their phone.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
questionYes
from_labelNoSomeone's AI
session_tokenNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds important behavioral context beyond annotations: waits up to 30 seconds, returns a status that may be 'ringing', and the `to` number is a special /call-me number, not a real phone. While annotations already indicate non-read-only and destructive, this description enriches understanding of side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and structured effectively, with three sentences covering purpose, behavioral details, and parameter nuances. Each sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential aspects: action, waiting time, status handling, the special `to` number, and session token. It lacks details about the exact return format and the `from_label` parameter, but these are relatively minor given the tool's straightforward nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must explain parameters. It clarifies `to` and `session_token` well, and `question` is inferable from the tool's purpose. However, `from_label` is not explained, leaving a gap in parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: ringing the human's iPhone, asking a question aloud, and returning their response. It uses a specific verb and resource, and is distinct from siblings like text or poll_result by describing the spoken interaction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear guidance on when to use the tool and next steps: it specifies following up with poll_result if the status is 'ringing' and explains the nature of the `to` number and session_token. However, it does not explicitly contrast with all sibling tools or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

poll_resultA
Read-only
Inspect

Check on a call that was still ringing. Waits up to ~25s for it to settle; returns the final status and transcript once the human answers, declines, or the ring times out ("missed").

ParametersJSON Schema
NameRequiredDescriptionDefault
call_idYes
session_tokenYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, destructiveHint), the description discloses waiting behavior (~25s), possible outcomes (answers, declines, missed), and that it returns a transcript. This adds valuable context without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a compact two-sentence structure, front-loaded with the core purpose and followed by concise behavioral details. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only polling tool with no output schema, the description covers what it does, when to use it, how long it waits, and what it returns. It is complete enough for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no descriptions for the two parameters (0% coverage), and the description does not compensate by explaining 'call_id' or 'session_token'. While the names are somewhat self-explanatory, the description adds no explicit semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Check'), names the resource ('a call that was still ringing'), and clearly describes the outcome (returns final status and transcript). It distinguishes from siblings like 'call' (initiation) and 'wait_for_reply' (text reply) by focusing on polling a ringing call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the usage context: use it when a call was still ringing and you need to wait for the outcome. It does not explicitly name alternatives or exclusions, but the context is clear enough relative to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_thread_titleA
Destructive
Inspect

Name this session's conversation thread on the human's phone (e.g. the project or task you are working on). Shown as the thread title in the app.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
session_tokenYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, so the description's mention of 'Name' and 'thread title' adds context that this changes a persistent label. This is consistent with the annotations and clarifies the effect without being misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences convey the purpose and the visual context without waste. Every clause adds meaningful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple setter with only two self-explanatory parameters and no output schema, the description is sufficient. It tells the agent the effect and where the title appears. Minor gaps like whether it overwrites an existing title are not essential for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. It does not explain session_token or title, relying solely on their names. The description adds no value beyond the schema's field names, leaving a gap for a critical token parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Name this session's conversation thread') and specifies the resource and context ('on the human's phone', 'thread title in the app'). This distinguishes it from sibling tools like call or text, which handle communication rather than session naming.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (when you want to label the current session with a project or task). It doesn't explicitly state when not to use it or mention alternatives, but the sibling tools are clearly different in function, so the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

textA
Destructive
Inspect

Send a one-way text to the human's phone (push notification, no ring). to is their 10-digit /call-me number. Pass a previous session_token to stay in the same thread.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
bodyYes
from_labelNoSomeone's AI
session_tokenNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations by specifying it's a push notification with no ring and one-way (no response expected). It also explains thread continuation via session_token. This complements the destructiveHint and openWorldHint annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the verb and purpose, followed by parameter clarifications. No unnecessary wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's core behavior and key parameters, and annotations handle safety. It doesn't document return values (no output schema) or failure behavior, but for a simple one-way messaging tool this is adequate. The unexplained from_label is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description compensates by explaining `to` as a 10-digit /call-me number and `session_token` for staying in the same thread. `body` is self-explanatory, but `from_label` remains unexplained, leaving a gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Send' and clearly identifies the resource as a one-way text to the human's phone, with clarifying details (push notification, no ring) that distinguish it from sibling tools like call. The scope is unambiguous and not a tautology.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides context for use (one-way text with no ring, session_token for threading) but does not explicitly mention alternatives or when not to use it relative to siblings like call or wait_for_reply. However, the context is clear enough to infer its place.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wait_for_replyA
Read-only
Inspect

Wait for the human to send something back to this session — texts and voicemail transcripts arrive here. Long-polls up to wait_s (max 30s); returns {events, cursor}. Pass the returned cursor next time to only see new events. An empty events list just means nothing yet — poll again if you are still waiting.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNo
wait_sNo
session_tokenYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds significant behavioral context: long-polling up to wait_s (max 30s), the return shape {events, cursor}, the need to pass the cursor for delta reads, and the meaning of an empty events list. This goes well beyond the annotations and gives the agent a clear mental model of the tool's runtime behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact yet information-dense. It front-loads the purpose, then delivers the essential mechanics (long-poll, return shape, cursor, empty list behavior) in two sentences. Every phrase adds value with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description covers all key aspects: what it waits for, the polling timeout, the return structure, and the cursor-based pagination. There is no output schema, so the description's explanation of {events, cursor} is essential and complete. No major behavioral edge cases are ignored for this use case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. It does explain cursor ('Pass the returned cursor next time') and wait_s ('Long-polls up to wait_s (max 30s)'). Session_token is not explicitly described, but its name and the 'session' context make its role obvious. The description compensates well for the schema's lack of parameter documentation, though it could have been more explicit about session_token.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description immediately states the tool's purpose: 'Wait for the human to send something back to this session.' It specifies the resource (human replies), the verb (wait), and the content (texts and voicemail transcripts). This clearly distinguishes it from siblings like 'text' (sending) and 'call' (initiating a call).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool: after sending something, to wait for a reply. It explains the polling pattern ('poll again if you are still waiting') and the cursor usage. However, it does not explicitly mention alternatives or when not to use this tool, so it stops 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.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to ask questions to users asynchronously via a local macOS app, allowing users to respond by text or voice.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Call, text, or push your phone when an agent needs input mid-task — reply by voice instead of babysitting a long-running or blocked terminal.
    12
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to send push notifications and interactive alerts to iPhone and Mac devices via the BotBell app. It allows AI to receive user replies and manage notification bots for tasks like alerts, reminders, and remote approvals.
    2
    22
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to call, text, and email businesses on your behalf, read back transcripts, recordings, and replies.
    42
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources