Pally
Server Details
Chat with Pally, the AI assistant in your texts and on Telegram, from any MCP-compatible AI app.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 42.4% over 69 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool maps to a distinct phase of the interaction: message_pally sends work, check_pally retrieves async results, start_call launches the voice channel. The only mild overlap is that check_pally and message_pally both surface Pally's output, but the descriptions make the turn_id handoff explicit enough that an agent can pick correctly.
All three names are snake_case verb_noun with the same noun (check_pally, message_pally, start_call), giving a clean and predictable pattern. 'message' as a verb is slightly unconventional but consistent with the verb-first style.
Three tools is minimal but well-scoped: send, poll, and voice-call each earn their place and reflect a coherent async design. It sits at the thin edge of the ideal range, so a slightly richer surface (e.g. cancel/history) would help.
The core lifecycle—delegating a task, collecting a long-running reply, and starting a live call—is fully covered, including post-call recap retrieval. Missing are secondary operations like cancelling an in-flight turn, ending a call, or reviewing past turns by other means than a turn_id.
Available Tools
3 toolscheck_pallyARead-onlyInspect
Collect the reply to a Pally turn that was still working, or the recap of a call from start_call. Present it as you would a message_pally reply: verbatim when the user is talking to Pally, otherwise in your own answer with its facts, links, and questions intact.
| Name | Required | Description | Default |
|---|---|---|---|
| turn_id | No | The turn_id returned by message_pally or start_call; omit it to check the newest message turn |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, non-destructive, closed-world), and the description adds genuinely useful context above that bar: what the return contains (reply or recap) and how to render it (verbatim vs. paraphrased with facts, links, and questions preserved). It omits whether the call blocks or what happens if the turn is still unresolved, which is a real gap for a 'check' tool.
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?
Two sentences, zero boilerplate: the first defines what is collected, the second defines the output handling rule. Front-loaded and every clause carries 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?
No output schema exists, so the description usefully compensates by describing the payload (reply or recap) and the presentation contract. What remains unaddressed is the pending/not-ready state and failure mode, which matters for a name like check_pally.
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?
With one parameter at 100% schema coverage, the schema already documents turn_id's source and the omit-to-get-newest behavior. The description adds no syntax, format, or lifecycle detail beyond that, so baseline 3 applies.
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 (collect) and two concrete resources (a pending Pally turn's reply, or a call recap from start_call), which lets an agent distinguish it from message_pally. It never explicitly contrasts itself with sending a new message, so the sibling differentiation is implied rather than stated.
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?
Names the trigger condition clearly: use it when a turn 'was still working' or to fetch a call recap. It also encodes the alternative path implicitly via turn_id's source (message_pally or start_call). There is no explicit 'do not poll repeatedly' or 'use message_pally instead when starting a new turn' exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
message_pallyAInspect
Ask Pally, the user's personal assistant, to do or answer something. Use it for anything that needs the user's messages, email, calendar, contacts, reminders, memory, phone calls, bookings, or purchases. When the user talks to Pally, send their words unchanged and present Pally's reply verbatim as your entire response. When you hand Pally a task, write it in plain words with every detail the user gave, and use the reply in your answer. If Pally is still working, call check_pally with the returned turn_id.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The user's words, or the task in plain words with every detail the user gave |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare it is not read-only, not destructive, and open-world; the description adds the behavior that actually matters: replies must be presented verbatim as the entire response, tasks are written in plain words with full detail, and the operation can be asynchronous, returning a turn_id to poll via check_pally. That is substantive context beyond the annotation set.
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?
Four sentences, none wasteful, with the core purpose and scope front-loaded before the usage and output-handling rules. Slightly dense but every clause carries an instruction the caller needs.
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?
No output schema exists, so the description compensates by stating how to handle the return (verbatim presentation, use in the answer, turn_id polling). Its scope enumeration, async fallback, and single-param contract make it complete enough to invoke correctly.
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?
Only one parameter, and the schema already documents it at 100% coverage with essentially the same wording. The description adds a nuance the schema does not: when relaying conversation, pass the user's words unchanged rather than paraphrasing, versus writing a detailed task when delegating. Marginal but real added meaning.
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 (ask) and resource (Pally, the user's personal assistant) and enumerates the domains it covers: messages, email, calendar, contacts, reminders, memory, calls, bookings, purchases. It also implicitly distinguishes itself from the sibling check_pally by handling the 'still working' case through that sibling.
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?
Explicit guidance on when to use it (anything needing the user's Pally-connected data), when to relay user words verbatim, when to write a plain-words task, and the exact fallback: 'If Pally is still working, call check_pally with the returned turn_id.' The alternative and the condition that selects it are both named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_callAInspect
Start a live voice call between the user and Pally. Use it when the user wants to talk with Pally live or by voice, or asks to call or talk to Pally. It returns a call link: give it to the user. The user talks to Pally on that page, or in the call view when the app shows one. After the call, Pally sends the user a recap; check_pally with the returned turn_id reads it. To have Pally ring the user's phone instead, ask Pally through message_pally.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations (readOnlyHint=false, openWorldHint=true) by disclosing that it returns a call link which must be handed to the user, and that a recap becomes available afterwards via check_pally with turn_id. Doesn't cover cost, permissions, or failure modes, keeping 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?
Front-loaded with the action and trigger, then return value, then follow-up. The sentence about the call view ('or in the call view when the app shows one') is slightly redundant padding but everything else earns its place.
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 params and no output schema, the description covers initiation, the returned artifact, how the user completes the interaction, and the post-call recap path — enough for an agent to call it and handle the result correctly.
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?
Zero parameters, so baseline is 4; the description usefully documents the output value (call link) and the turn_id that must be passed to check_pally, which the absent output schema would otherwise leave unexplained.
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 ('Start a live voice call between the user and Pally') and the trigger conditions distinguish it from message_pally and check_pally immediately.
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?
Explicitly says when to use it (user wants to talk live/by voice or asks to call Pally) and names the alternative path ('to have Pally ring the user's phone instead, ask Pally through message_pally'), plus the follow-up tool check_pally for the recap.
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.
2 tool updates
- Changed
check_pally2 fields changed- changed
Input schema / properties / turn_id / descriptionPrevious value: -"The turn_id returned by message_pally; omit it to check the newest turn"New value: +"The turn_id returned by message_pally or start_call; omit it to check the newest message turn" - removed
Input schema / properties / turn_id / patternRemoved value: -"^[0-9a-f]{64}$"
- Added
start_call
1 tool update
- Changed
message_pally1 field changed- changed
Input schema / properties / text / descriptionPrevious value: -"The user's message for Pally"New value: +"The user's words, or the task in plain words with every detail the user gave"
2 tool updates
- First observed
check_pally - First observed
message_pally
Related MCP Connectors
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Messaging network for AI agents: talk to other people's agents over MCP. Free forever.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceTurns any Telegram bot into a chat-first AI assistant, with MCP tools for sending messages and reading conversation history.31 npmMIT
- AlicenseNot gradedqualityCmaintenanceLets any MCP-compatible AI agent read, search, and send Telegram messages through your real account via MTProto.14 npm1MIT
- AlicenseCqualityDmaintenanceConnects AI tools to Telegram via MCP, enabling reading chats, sending messages, managing groups, and more using your own account.5441 PyPI7MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants like Claude to read, search, and send messages through your personal Telegram account via MCP tools.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.