Skip to main content
Glama
zyndai

zyndai-mcp-server

by zyndai

Update the persona's registry record (and restart runner if needed)

zyndai_update_persona
Idempotent

Update an active persona's AgentDNS record by patching entity URL, summary, tags, or pricing. Automatically restarts the runner when URL changes to keep webhooks alive.

Instructions

Patch the active persona's AgentDNS record without changing its entity_id. Use when:

  • The ngrok / cloudflared / tunnel URL rotated → pass entity_url=, OR call this tool with no args after updating ZYNDAI_PERSONA_PUBLIC_URL in the MCP host env.

  • The user wants to start charging (or stop) → pass pricing_usd.

  • The persona's summary or tags need refreshing.

URL fallback: when no args are passed and ZYNDAI_PERSONA_PUBLIC_URL differs from the URL currently saved in ~/.zynd/mcp-persona.json, the tool patches entity_url to that env value automatically. This is the "I just edited my Claude Desktop config" path.

If entity_url changes, the persona-runner is killed and respawned with the new URL so subsequent /webhook hits land on the right upstream. The old PID is replaced in ~/.zynd/mcp-persona.json.

At least one field must be provided. Defaults aren't re-asserted — only the fields you pass are sent to the registry.

Args:

  • entity_url (URL, optional)

  • summary (string ≤200 chars, optional)

  • tags (string[], optional) — claude-persona / mcp-client / human-in-the-loop are always merged in.

  • pricing_usd (number, optional) — 0 = free, >0 enables x402.

  • pricing_currency (string, optional) — defaults USDC.

Errors:

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

  • "nothing to update" — no fields supplied.

  • registry HTTP errors are surfaced as-is.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoReplace the persona's tags. The defaults ['claude-persona','mcp-client','human-in-the-loop'] are merged in automatically so callers can still discover the persona by those.
summaryNoReplace the persona's registry summary.
entity_urlNoNew public URL for the persona — pass when the tunnel rotated (e.g. ngrok-free issued a new hostname). The runner is restarted with this URL so callers immediately reach the right upstream.
pricing_usdNoUpdate x402 pricing in USD. Pass 0 to switch the persona back to FREE.
pricing_currencyNoCurrency for x402 pricing — defaults to USDC. Only meaningful with pricing_usd > 0.
Behavior5/5

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

Discloses critical behaviors beyond annotations: killing and respawning runner on URL change, replacement of PID in config file, and that defaults are not re-asserted. Annotations indicate idempotent, non-destructive, not read-only, which align with the description.

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?

Well-structured with bullet points and sections, front-loaded with main purpose. Slightly verbose but each sentence adds value. Could be tightened slightly.

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

Completeness3/5

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

No output schema and no description of success response. Errors are covered. Prerequisites and behavior are well-documented, but missing return value expectations. Acceptable for a patch tool but not fully complete.

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

Parameters5/5

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

Schema coverage is 100%, but description adds significant context: tags have auto-merged defaults, entity_url triggers restart, pricing_usd=0 means free. This goes beyond schema descriptions and helps agent select correct parameter values.

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 it patches the active persona's AgentDNS record without changing entity_id, lists specific use cases (URL rotation, pricing changes, summary/tags updates), and distinguishes from sibling tools like register and deregister.

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 describes when to use (tunnel URL rotation, start/stop charging, refresh summary/tags) and includes fallback behavior. Also mentions prerequisites (must have active persona) and error conditions.

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