Pally
Server Details
Chat with Pally, the AI assistant in your texts and on Telegram, from any MCP-compatible AI app.
- Status
- Healthy
- Uptime
- 23.7% over 49 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
check_pally and message_pally have distinct purposes: one sends a user message, the other polls an existing turn. The descriptions explicitly link them via turn_id, leaving no meaningful overlap.
Both tools use snake_case with a verb_pally pattern (check_pally, message_pally). The convention is consistent and predictable.
Two tools is minimal but well-matched to an asynchronous messaging relay; neither is redundant. It sits slightly below the typical 3–15 range but does not feel thin for this narrow purpose.
The pair covers the core send-and-poll lifecycle for conversing with Pally. A cancel or stop operation is absent, but the basic interaction loop is complete.
Available Tools
2 toolscheck_pallyARead-onlyInspect
Check a Pally turn that is still working and return any collected Pally replies. Present the collected replies verbatim as your entire response, with no preamble or postamble.
| Name | Required | Description | Default |
|---|---|---|---|
| turn_id | No | The turn_id returned by message_pally; omit it to check the newest turn |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly=true, non-destructive, closed-world, so the safety profile is covered. The description adds real behavioral value beyond them: replies must be emitted verbatim as the entire response with no preamble or postamble, and it discloses that a turn's replies are 'collected'. It does not say what happens on a non-existent or expired turn_id.
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 filler, with the operation stated first and the output-formatting directive immediately after. Every clause 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 output schema, the description carries the return-value burden and does so by naming the collected Pally replies and prescribing exactly how to present them. Only the empty/expired-turn case is unaddressed, a minor gap for a 1-param polling tool.
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% and the schema itself documents the turn_id format (64-char hex) and the omit-to-get-newest behavior, so the description adds nothing new here. Baseline 3 is appropriate when the schema carries the parameter burden.
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+resource ('Check a Pally turn') and scopes it to turns 'still working', which distinguishes it from the sibling message_pally that initiates a turn. An agent can select between the two without opening either 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?
The phrase 'that is still working' clearly signals the polling context (use after message_pally while a turn is in flight), and the turn_id description cross-references message_pally as the source of the id. It stops short of stating what to do once the turn is finished or whether repeats are safe, so no explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
message_pallyAInspect
Send the user's message to Pally verbatim and return Pally's reply. Present Pally's reply verbatim as your entire response, with no preamble or postamble. While the user is conversing with Pally, send each new user message through this tool unchanged. If Pally is still working, call check_pally with the returned turn_id.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The user's message for Pally |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description reveals important behavioral traits: the message must be sent verbatim, the reply must be presented verbatim with no preamble/postamble, and the tool can return a turn_id indicating asynchronous work. This is rich, non-obvious context that an agent needs to behave correctly.
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 sentences with no wasted words. The main action is front-loaded, followed by the response formatting rule and the fallback to check_pally. Every sentence 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?
For a single-parameter tool with no output schema, the description covers the full invocation flow: what to send, how to present the response, and what to do if Pally is still working. The mention of turn_id is sufficient given the sibling check_pally will presumably accept it. Nothing essential is missing.
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 schema already fully documents the single 'text' parameter with 100% coverage. The description adds meaning by emphasizing that the text must be the user's message 'verbatim' and 'unchanged,' which is not explicit in the schema description. This extra guidance elevates it slightly above the 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?
The description states a specific verb and resource: 'Send the user's message to Pally verbatim and return Pally's reply.' It also clarifies the exact output behavior (present reply verbatim as entire response), making the tool's purpose unmistakable. It distinguishes itself from the sibling check_pally by describing when to use each.
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?
The description gives explicit usage context: 'While the user is conversing with Pally, send each new user message through this tool unchanged.' It also provides the alternative condition: 'If Pally is still working, call check_pally with the returned turn_id.' This clearly routes the agent between this tool and its sibling.
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
- 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.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
One memory, every AI: Claude, ChatGPT, Perplexity, Gemini, Cursor, OpenClaw, Hermes, any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceTurns any Telegram bot into a chat-first AI assistant, with MCP tools for sending messages and reading conversation history.35 npmMIT
- AlicenseNot gradedqualityCmaintenanceLets any MCP-compatible AI agent read, search, and send Telegram messages through your real account via MTProto.47 npm1MIT
- AlicenseCqualityDmaintenanceConnects AI tools to Telegram via MCP, enabling reading chats, sending messages, managing groups, and more using your own account.5424 PyPI5MIT
- 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.