CrabTalkCrabTalk

Commands

CrabTalk commands — cargo-style subcommand dispatch for telegram, search, and custom tooling.

CrabTalk uses cargo-style subcommand dispatch. Running crabtalk <name> finds crabtalk-<name> on your PATH and executes it, forwarding all remaining arguments. If the binary isn't installed, CrabTalk installs it automatically.

crabtalk telegram start
#        ^^^^^^^^ ^^^^^
#        command  forwarded args
# executes: crabtalk-telegram start

The daemon doesn't spawn or manage commands. Each command is an independent binary that connects to the daemon when it needs to.

Official commands

CommandDescription
telegramConnect Telegram to CrabTalk agents
searchMeta search engine and MCP server

Telegram

The telegram command connects a Telegram bot to your daemon. It runs as a system service (launchd on macOS, systemd on Linux) and forwards messages to the daemon as a client via UDS.

crabtalk telegram start
crabtalk telegram stop

On first run, it prompts for your bot token (from @BotFather), saves the config, installs a system service, and starts it. You can also configure the token via crabtalk auth under the Gateways tab.

Config lives at ~/.crabtalk/config/telegram.toml, separate from the daemon config.

Message flow: Telegram message → gateway receives it → connects to daemon via UDS → event loop dispatches to agent → response streams back through gateway to Telegram.

The search command provides web search as an MCP server. No API keys required — it uses DuckDuckGo and Wikipedia directly.

crabtalk search start
crabtalk search stop

The daemon connects to the search service automatically and makes its tools available to agents. Results from multiple engines are merged and ranked by relevance.

Managing services

List all running command services:

crabtalk ls

Shows each service's name, port, and status (running or stale).

Two kinds of commands

Client commands connect to the daemon and forward messages from external platforms. Telegram is a client — it receives messages and sends them to the daemon for processing.

MCP commands expose tools via the MCP protocol. Search is an MCP server — the daemon connects to it and makes its tools available to agents.

Writing your own

Start from a template:

  • crabtalk-client — template for client commands (platform gateways, bots). Connects to the daemon and forwards external messages.
  • crabtalk-mcp — template for MCP commands (tool servers). Exposes tools that agents can call.

Name your binary crabtalk-<name> and it becomes available as crabtalk <name>.

What's next

On this page