Docs / Integrations

Integrations

Connect Talkie to Claude Code, the Anthropic API, MCP tools, Telegram, and manage your server.

Plugin Installation

Talkie is available as a Claude Code plugin, giving you 30 MCP tools and 5 skills without needing to run the full Talkie server. The 15 data tools work entirely offline by reading and writing directly to the SQLite database at ~/.wtb/wtb.db. The other 15 server tools require the Talkie server to be running for voice, IPC, and UI interaction.

Add the following to your Claude Code MCP configuration (typically ~/.claude/settings.json or your project's .mcp.json):

{
  "mcpServers": {
    "wtb": {
      "command": "npx",
      "args": ["wtb-mcp"]
    }
  }
}

Once configured, Claude Code will automatically have access to all Walkie Walkie Talkie Bot tools and skills. Data tools like list_conversations, search_conversations, create_plan, and export_conversation work immediately with no server required. To use server tools like launch_wtb, get_transcript, or respond_to_wtb, start the WTB server with npx walkietalkiebot.

Claude Code Mode

Claude Code mode is the default integration. Each message you send spawns a fresh claude -p CLI process, giving Claude full access to tools like file editing, bash commands, web search, and more.

The CLI is invoked with the following flags:

  • --output-format stream-json — Streams structured JSON events for real-time display
  • --verbose — Includes detailed tool usage information in the event stream
  • --permission-mode bypassPermissions — Skips interactive permission prompts so the CLI can run non-interactively
  • --no-session-persistence — Each request is a fresh one-shot process with no session state carried over

Real-time activity feed

As Claude works, Talkie displays a live activity feed showing each tool call in real-time. You can see when Claude reads a file, edits code, runs a bash command, searches the web, or uses any other tool. The activity feed shows:

  • Tool icon and label — Each of 40+ tools has a unique emoji icon and human-readable label (e.g. "Reading file", "Running command")
  • Category color coding — Tools are grouped into 6 categories, each with a distinct accent color
  • Clean display names — MCP tools like mcp__talkie__list_conversations display as "Conversations"
  • Input parameters — The arguments passed to each tool
  • Status — Whether the tool call is in progress, succeeded, or failed
  • Duration — How long each tool call took to complete

Tool categories

Every tool in the activity feed is color-coded by category. Each category has a subtle left-border accent and tinted background that adapts to the active theme:

Category Color Tools
Filesystem Blue Read, Edit, Write, Glob, Grep
Execution Orange Bash, Task, WebFetch, WebSearch
Voice Purple launch_wtb, get_transcript, update_wtb_state, and other voice tools
Data Green list/get/create/rename/delete conversations, search, messages, liner notes, export
Plans Pink list/get/create/update/delete plans, background jobs
Media Amber analyze_image, open_url, session management

Category colors are defined per-theme, so they match each theme's design language (e.g. neon accents in Guestbook, muted tones in Finder).

Image attachments

You can attach images to your messages by dragging and dropping them onto the chat area or using the image button in the input bar. Images are sent to Claude via the vision API, allowing Claude to analyze screenshots, diagrams, error messages, and other visual content.

Voice-optimized system prompt

When using voice input, Talkie includes a system prompt optimized for spoken interactions. This encourages Claude to give concise, conversational responses that work well when read aloud by the text-to-speech engine.

Direct API Mode

Direct API mode is an alternative to the Claude Code CLI. Instead of spawning a CLI process, it calls the Anthropic API directly. This mode requires an API key but offers faster response times and streaming TTS integration.

Setup

  1. Set the ANTHROPIC_API_KEY environment variable, or enter your API key in the settings drawer.
  2. Open the settings drawer and enable Direct API mode.

Configuration options

  • Model selection — Choose between Sonnet 4, Opus, and Haiku models depending on your speed and quality needs.
  • Max tokens — Configure the maximum number of tokens in Claude's response.
  • Custom system prompts — Override the default system prompt with your own instructions.
  • Streaming TTS — In Direct API mode, text-to-speech starts reading the response as it streams in, rather than waiting for the complete response.
No tool access Direct API mode does not give Claude access to tools like file editing or bash commands. If you need tool access, use Claude Code mode instead.

MCP Server

Talkie includes an MCP (Model Context Protocol) server with 30 tools that allow Claude Code to interact with the Talkie interface. The MCP server uses stdio transport and is launched via the wtb-mcp command.

Setup

Add the following to your Claude Code MCP configuration (typically in ~/.claude/settings.json or your project's .mcp.json):

{
  "mcpServers": {
    "wtb": {
      "command": "npx",
      "args": ["wtb-mcp"]
    }
  }
}

Once configured, Claude Code will have access to all 30 Talkie tools.

Data tools (work offline)

These 15 tools read and write directly to the SQLite database at ~/.wtb/wtb.db. They do not require the Talkie server to be running, making them available in any Claude Code session as soon as the MCP server is configured.

list_conversations
List all saved conversations with pagination.
Params: limit (number), offset (number)
get_conversation
Get full conversation by ID with messages, images, and tool activities.
Params: conversationId (string, required)
create_conversation
Create a new conversation (cassette tape).
Params: title (string), id (string)
rename_conversation
Rename an existing conversation.
Params: conversationId (string, required), title (string, required)
delete_conversation
Delete a conversation and all its messages permanently.
Params: conversationId (string, required)
search_conversations
Full-text search across all conversations using FTS5. Returns ranked results with highlighted snippets.
Params: query (string, required), limit (number)
add_message
Add a message to an existing conversation programmatically.
Params: conversationId (string, required), role (string: user/assistant, required), content (string, required), source (string)
list_plans
List all plans with status workflow tracking.
Params: limit (number), offset (number)
get_plan
Get a plan by ID with full content and status.
Params: planId (string, required)
create_plan
Create a new plan linked to a conversation.
Params: title (string, required), content (string, required), status (string: draft/approved/in_progress/completed/archived), conversationId (string)
update_plan
Update a plan's title, content, or advance its status.
Params: planId (string, required), title (string), content (string), status (string)
delete_plan
Delete a plan permanently.
Params: planId (string, required)
get_liner_notes
Get the markdown liner notes for a conversation.
Params: conversationId (string, required)
set_liner_notes
Set or clear liner notes for a conversation.
Params: conversationId (string, required), linerNotes (string)
export_conversation
Export a conversation as formatted markdown or JSON.
Params: conversationId (string, required), format (string: markdown/json)

Server tools (require WTB server)

These 15 tools communicate with the WTB server over HTTP for voice interaction, UI state management, IPC messaging, and background jobs. The WTB server must be running (npx walkietalkiebot) for these tools to work.

launch_wtb
Start the WTB server and open the interface in the default browser.
Params: none
get_wtb_status
Check if Walkie Walkie Talkie Bot is running and get its current state (idle, listening, thinking, speaking).
Params: none
get_transcript
Get the latest voice transcript. Use after the user has spoken.
Params: none
get_conversation_history
Get the full conversation history (all messages) from the current tape/conversation.
Params: none
get_claude_session
Get the currently connected Claude Code session ID, if one is connected.
Params: none
set_claude_session
Connect to a Claude Code session by setting the session ID.
Params: sessionId (string, required)
disconnect_claude_session
Disconnect the currently connected Claude Code session.
Params: none
get_pending_message
Poll for a pending user message in IPC mode. Returns the message if one is waiting.
Params: none
respond_to_wtb
Send a response back in IPC mode. The response will be displayed and spoken.
Params: content (string, required)
update_wtb_state
Update the UI state, including the avatar animation state and transcript text.
Params: avatarState (enum: idle, listening, thinking, speaking), transcript (string)
analyze_image
Analyze an image using the Claude vision API. Returns a description of the image content.
Params: dataUrl (string, required), fileName (string), apiKey (string)
open_url
Open a URL in the default system browser.
Params: url (string, required)
create_talkie_job
Create a background job in Talkie. The task runs asynchronously and you get a job ID back immediately.
Params: conversationId (string, required), prompt (string, required)
get_talkie_job
Get the status and result of a background job.
Params: jobId (string, required)
list_talkie_jobs
List all background jobs, optionally filtered by status.
Params: status (enum: queued, running, completed, failed, cancelled)

IPC workflow

The MCP tools enable a bidirectional communication flow between Talkie and Claude Code:

  1. User speaks or types in the Talkie UI
  2. Message posted to /api/send on the server
  3. MCP tool polls /api/pending to pick up the waiting message
  4. Claude Code processes the message using its full tool suite
  5. Response sent back via /api/respond
  6. Talkie speaks the response aloud using text-to-speech

This workflow lets you use Talkie as a voice interface for Claude Code while Claude Code retains full access to file editing, bash commands, and all other tools.

Telegram Bot

Talkie includes a Telegram bot that lets you talk to Claude from any Telegram client. The bot auto-starts with the Talkie server when a bot token is configured.

Setup

  1. Create a new bot via @BotFather on Telegram and copy the bot token.
  2. Save the token as the TELEGRAM_BOT_TOKEN environment variable, or write it to ~/.wtb/telegram.token.
  3. Start (or restart) the Talkie server. The bot will connect automatically.
# Option 1: Environment variable
export TELEGRAM_BOT_TOKEN="123456:ABC-DEF..."

# Option 2: Token file
echo "123456:ABC-DEF..." > ~/.wtb/telegram.token

Bot commands

  • /start — Welcome message and introduction
  • /help — Show available commands
  • /conversations — List recent conversations with inline selection buttons
  • /new <name> — Create a new conversation with the given name
  • /current — Show the currently active conversation
  • /status — Check Talkie server status

Message handling

  • Text messages — Sent to Claude Code for processing. Responses are returned as Telegram messages.
  • Photos — Analyzed using Claude vision. Claude describes and responds to the image content.
  • Voice messages — The bot suggests using the Talkie web UI for voice input, as Telegram voice messages require server-side transcription.
Message length limit Telegram enforces a 4096-character limit per message. Long responses from Claude are automatically split across multiple messages.

Server Management

The wtb-server CLI manages the Talkie server lifecycle. It can run the server as a background process or install it as a macOS launchd daemon for automatic startup.

CLI commands

  • wtb-server start [-f] — Start the server. Use -f to run in the foreground (useful for debugging). Without -f, starts as a background process.
  • wtb-server stop — Stop the running server.
  • wtb-server restart — Stop and restart the server.
  • wtb-server status — Show server status including whether it is running, the port, launchd status, and database path.
  • wtb-server logs [-f] — View server logs. Use -f to follow (tail) the log output in real-time.
  • wtb-server install — Install Talkie as a macOS launchd daemon. The server will start automatically on login.
  • wtb-server uninstall — Remove the launchd daemon.

Environment variables

Variable Description Default
WTB_PORT Server port number 5173
ANTHROPIC_API_KEY Anthropic API key for Direct API mode none
TELEGRAM_BOT_TOKEN Telegram bot token from @BotFather none

Networking

Talkie runs over plain HTTP on localhost, which is a secure context in all modern browsers. No certificates or HTTPS setup needed. For remote access (e.g., via Tailscale), place your own TLS certificates at ~/.wtb/cert.pem and ~/.wtb/key.pem and Talkie will automatically use HTTPS.