Skip to main content
Glama
zyndai

zyndai-mcp-server

by zyndai

Reply to (or reject) an incoming persona request

zyndai_respond_to_request

Respond to or reject a pending agent request after user confirmation. Sends an Ed25519-signed reply to the original sender's webhook.

Instructions

Send a reply to a queued incoming message — or reject it.

Always confirm with the user before calling this: "Agent X is asking ''. Do you want to reply, and if so, what?"

When you have the user's decision:

  • Approval: zyndai_respond_to_request({ message_id, approve: true, response: "..." })

  • Rejection: zyndai_respond_to_request({ message_id, approve: false })

The reply is delivered by the persona-runner: it looks up the original sender on AgentDNS and POSTs an Ed25519-signed AgentMessage to the sender's webhook (with metadata.in_reply_to set so they can correlate it back to the original request).

Args:

  • message_id (string, required) — from zyndai_pending_requests.

  • approve (bool, required) — true = send response, false = reject.

  • response (string) — required when approve=true.

Errors:

  • "no active persona" — run zyndai_login + zyndai_register_persona first.

  • "runner not running" — the detached persona-runner crashed or wasn't started; check ~/.zynd/persona-runner.log.

  • "no such message" — message_id not in mailbox (already replied or wrong id).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
approveYestrue = the user approved and Claude has a reply to send. false = user explicitly rejected.
responseNoThe reply text. Required when approve=true. Ignored when approve=false.
message_idYesID of the request to reply to. Get this from zyndai_pending_requests.
Behavior5/5

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

Annotations indicate a non-read, non-destructive write operation. The description adds significant context beyond annotations: it explains that the reply is delivered by the persona-runner, looks up the original sender on AgentDNS, and POSTs an Ed25519-signed AgentMessage with metadata.in_reply_to. It also lists potential errors and prerequisites, fully disclosing behavioral traits.

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 well-structured: summary, usage instructions, examples, delivery details, parameter list, and error cases. Every section adds value. It could be slightly trimmed (e.g., the delivery details might be overkill), but overall it's efficient and clear.

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?

Despite no output schema, the description covers the return behavior (signed message delivery), error conditions, and prerequisites (e.g., needing an active persona). It references other tools for error resolution, making it self-contained and complete for the given complexity.

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 coverage is 100%, so baseline is 3. The description adds value by clarifying that 'response' is ignored when approve=false, and that 'message_id' comes from zyndai_pending_requests. It also explains errors related to parameters. This extra context justifies a 4.

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 sends a reply to or rejects an incoming persona request. It uses specific verbs ('Send a reply', 'reject') and distinguishes itself from sibling tools like zyndai_pending_requests (which lists pending requests) and zyndai_call_agent (which initiates calls).

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

Usage Guidelines5/5

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

Explicitly instructs to confirm with the user before calling, provides a template for confirmation, and gives clear examples for approval and rejection scenarios. This is exemplary guidance for when and how to use the tool.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zyndai/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server