Update the persona's registry record (and restart runner if needed)
zyndai_update_personaUpdate 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
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Replace 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. | |
| summary | No | Replace the persona's registry summary. | |
| entity_url | No | New 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_usd | No | Update x402 pricing in USD. Pass 0 to switch the persona back to FREE. | |
| pricing_currency | No | Currency for x402 pricing — defaults to USDC. Only meaningful with pricing_usd > 0. |