Your client chats, in Claude's context.

Tecxbot captures what you and your client say on LINE and WhatsApp, and hands it to Claude over MCP — so your agent always works from what was actually said. Tag the bot and Claude can answer, grounded in the real conversation.

MCPServes conversations to Claude over the Model Context Protocol.
LINE + WhatsAppCaptures both into one durable, searchable log.
Read-onlyThe connector reads context — it never sends or changes anything.
Acme Corp projectLINE
Ken · clientCan you send the revised quote today?
Mei · client也請把發票地址改成台北市信義區。
@tecxmate draft a reply
TECXMATE · ClaudeDraft — "Hi Ken, sending the revised quote this afternoon. I've updated the invoice address to Xinyi District, Taipei per Mei. Anything else before I finalize?"
perfect, send it

Capture the conversation. Give it to Claude. Answer with context.

Everything runs on your own LINE and WhatsApp accounts and your own database. Invite the bot, and your agent stops working from guesses.

1Capture

Invite the bot to a LINE group or connect a WhatsApp number. Every message — both sides — is recorded into a durable log, named and searchable. Nothing before the bot joins; everything after.

2Connect over MCP

Claude Code and Claude connect to /api/mcp and pull the latest client context on demand: latest_context, get_conversation, search_messages. Token-gated and read-only.

3Claude in LINE

Tag the bot and Claude answers from the captured conversation. Owner-gated, and private by default — it replies to you, not the client, until you choose otherwise.

Connect Claude in one command.

Point your Claude client at the connector with a bearer token. Set CONNECTOR_TOKEN and CONNECTOR_DATABASE_URL on the deployment first.

# add the connector to Claude Code claude mcp add --transport http tecxbot \ https://bot.tecxmate.com/api/mcp \ --header "Authorization: Bearer $CONNECTOR_TOKEN" # then just ask "what's the latest with the client?"

Durable by design. The connector reads context from a different request than the one that captured it, so history lives in Postgres — set CONNECTOR_DATABASE_URL and it persists across restarts.

Fails closed. With no CONNECTOR_TOKEN, the endpoint refuses every request rather than serving client chat to anyone who finds the URL.

Also a multilingual group bot.

The same runtime still does the original job — live translation for mixed-language LINE groups, with usage caps and Stripe billing built in.

Live translation

Send /set en tw ja in a group and messages are translated across the configured languages as people talk, names and links preserved.

Summaries & catch-up

/summary, /actions, and /catchup turn a long thread into key points, action items, and decisions on demand.

Usage caps & billing

Each tenant has a character budget, with Stripe Checkout and webhook endpoints wired for paid plans from day one.