parley(1)  ·  join   loop   man   whatsapp   price   chat   colophon an aikaara venture
you@laptop ~ $ cat /etc/motd
parley — conversational agents you own. Built from your terminal.

Tell your coding agent what the bot should do. It's live on the web in one call.

Your agent already writes your app. parley is the MCP it calls to give that
app a voice: create an agent with instructions, hand it HTTP tools, get a
hosted chat URL + an embed, connect a WhatsApp number, and read the real
transcripts back — all as tool calls, no dashboard.

Your prompt, your tools, your data, your customers. No per-conversation markup.
No email. Your SSH key is your login.
you@laptop ~ $ curl -fsSL https://parley.aikaara.com/join | shcopy
→ github   you
→ key      SHA256:… (~/.ssh/id_ed25519)  ✔ on github

✔ joined parley as @you
workspace  parley-you

akmcp_… (shown once · saved to ~/.parley/token)
added to claude code: claude mcp list

next:  tell your agent “create a parley agent that …”
what it does: signs a nonce with your SSH key (ssh-keygen -Y sign), checks the key is on github.com/<you>.keys, mints a token, installs the MCP into Claude Code. Nothing leaves your machine but your login, your public key and the signature. read the script — 90 lines.

already on shipd? same token works: claude mcp add --transport http parley https://mcp.aikaara.com/parley --header "Authorization: Bearer $(cat ~/.shipd/token)"
you@laptop ~/acme $ claude
> create a parley agent called Acme Support. it answers questions about
  our return policy (30 days, unused, original packaging) and books
  pickups by calling our API.

⏺ parley › create_agent
   acme-support is live → https://parley.aikaara.com/c/you-acme-support
    embed: <iframe src="…/c/you-acme-support?embed=1">

> give it a tool: book_pickup → POST https://api.acme.com/pickups {order_id, date}

⏺ parley › add_tool   book_pickup attached

> test it: "I want to return order 4412, can you pick it up Friday?"

⏺ parley › chat
  reply: Sure — order 4412 is within the 30-day window. I've booked a
  pickup for Friday. You'll get a confirmation shortly.   (tool: book_pickup)

> connect whatsapp, phone number id 1098…, token EAAG…

⏺ parley › connect_whatsapp
  webhook  https://api.aikaara.com/api/v1/parley/whatsapp/parley-you/acme-support
  verify   9f3c…   → paste both in Meta → WhatsApp → Configuration

> what did customers ask today?

⏺ parley › conversations  12 conversations · 3 whatsapp · 9 web
⏺ parley › read_conversation 8812  

you@laptop ~ $ man parley
TOOLS (what your agent can call)
create_agentname + instructions (+ greeting, model). Goes live on the web immediately: chat_url + embed.
update_agentchange instructions / name / greeting / model / pause. Every change is a revision — history kept.
chattalk to your agent from the terminal, synchronously. Test after every change.
add_tool / remove_toolan https endpoint + JSON-schema arguments. The agent calls it when the conversation needs it.
publish_webhosted chat page (Turnstile-gated, rate-limited, your API key never in the browser) + iframe embed.
connect_whatsappWhatsApp Business Cloud API number → webhook URL + verify token. Inbound → agent → reply.
conversations / read_conversationreal traffic across web, WhatsApp and your own tests. Full transcripts incl. tool calls.
set_llmbring your own key (openai / anthropic / bedrock / open_router / azure / custom). Until then: platform key, small daily budget.
usagespend vs budget, BYOK status, conversations + messages 24h by channel.
report_bugfile what broke; it reaches the team within minutes.
RUNTIME
The same engine that answers millions of production conversations for a
tax-filing assistant in India: prompt revisions, tool calling, per-conversation
cost accounting, transcripts, an always-on auditor. parley is that engine with
a terminal door on it.
you@laptop ~ $ cat WHATSAPP
1. Meta for Developers → create an app → add WhatsApp → note the Phone number ID
   and create a System User token with whatsapp_business_messaging.
2. connect_whatsapp(agent, phone_number_id, access_token) → webhook URL + verify token.
3. App → WhatsApp → Configuration → Webhook: paste both, subscribe to messages.
4. Message the number. whatsapp_status(agent) shows the last inbound.
Optional: pass app_secret and every webhook is signature-checked.
you@laptop ~ $ cat PRICE
Free to build. Your agents run on your own LLM key (set_llm) — you pay your provider,
parley adds no per-conversation markup. Don't have a key yet? A small platform
budget per day gets you building today; usage shows where you stand.
Volume, SLAs, on-prem: aikaara.com.
you@laptop ~ $ curl -fsSL https://parley.aikaara.com/chat | shcopy
parley chat · you are @you (dev) · ctrl-c to leave
14:02 you: whatsapp webhook verify returns 403
14:05 team/venkatesh: verify token is per agent — whatsapp_status(agent) prints the current one. fixed the error text too.
terminal to terminal. Your thread, the people building parley on the other end. No ticket system.
you@laptop ~ $ cat COLOPHON
parley is an aikaara venture. The platform behind it (agents, tools, transcripts,
auditor, gateway) is what we run in production for our own customers.
Interim home: parley.aikaara.com — apex parley.chat later.
Sibling: shipd — one command, backend + frontend + database, live. Same login.