tauτ

MCP Integration

TAU has deep integration with the Model Context Protocol (MCP) for extensible tool support.

Built-in MCP Server

TAU includes a built-in MCP server with essential tools:

web
Web search & fetch
browser
Headless browsing
vision
Image analysis
tasks
Task management
filesystem
File operations
git
Git commands

Connecting External MCP Servers

Via CLI

# Install browser MCP
tau mcp install browser

# List available tools
tau mcp tools

# Call a tool directly
tau mcp call browser_open --url "https://example.com"

Via Config

# ~/.config/tau/config.toml

[mcp.filesystem]
type = "local"
command = ["npx", "@modelcontextprotocol/server-filesystem"]
environment = { ALLOWED_DIRS = "/Users/me/code" }
enabled = true
timeout = 30000

[mcp.brave-search]
type = "remote"
url = "https://mcp.brave.com"
enabled = true
headers = { Authorization = "Bearer xxx" }

[mcp.slack]
type = "local"
command = ["npx", "@anthropic/mcp-server-slack"]
environment = { SLACK_BOT_TOKEN = "xoxb-xxx" }
enabled = true

Dynamic Tool Selection

TAU uses lazy loading for MCP tools to save tokens:

  • Model sees tool names from all MCP servers
  • Full JSON schemas are "thinned" (minimal) by default
  • Full schema is fetched lazily via get_tool_schema when needed
# Control tool selection behavior
export TAU_TOOL_SELECTION=dynamic    # Default: only relevant tools
export TAU_TOOL_SELECTION=all        # Legacy: send all schemas
export TAU_TOOL_SELECTION=none       # Chat only, no tools

# Control external MCP visibility
export TAU_MCP_EXTERNAL_TOOLS=all    # Default: show all
export TAU_MCP_EXTERNAL_TOOLS=prompt # Show only on request
export TAU_MCP_EXTERNAL_TOOLS=none   # Hide external tools

Browser MCP

Headless browser integration via agent-browser:

# Install browser MCP
tau mcp install browser

# Available tools:
# - browser_open: Open URL in sandbox
# - browser_snapshot: Get page structure
# - browser_click: Click element
# - browser_fill: Fill form input
# - browser_scroll: Scroll page
# - browser_close: Close browser
# - browser_screenshot_describe: Screenshot + vision analysis

# Browser command timeout (default 60s)
export TAU_BROWSER_COMMAND_TIMEOUT_MS=60000

Vision MCP

Local vision model gives any LLM image understanding:

# Vision tools:
# - understand_image: Analyze single image (base64)
# - understand_images: Compare multiple images
# - file_describe_image: Describe image from file path

# Providers (auto-detected):
# 1. MLX (macOS, local, free) - Qwen3-VL
# 2. Cloud fallback - Claude 4.5 / GPT-5.2

Tasks MCP

Built-in project management with knowledge graph:

# Task management:
task_create "Implement dark mode"
task_update --id task_xyz --status in_progress
task_list --status open

# Epic management:
epic_create "Q1 Features"
epic_update --id epic_abc --status done

# Knowledge graph:
kg_link_commit abc123 "feat: dark mode"
kg_what_was_i_doing --minutes 30
kg_add_node --type decision --name "Use React Query"

# Actor types tracked:
# - human:andrei (human work)
# - ai:claude:sess_123 (AI agent)
# - system:github (webhooks)

Web MCP

# Web search (uses Brave Search or SearXNG)
websearch "rust async programming"

# Web fetch (converts to Markdown)
webfetch "https://docs.rs/tokio/latest/tokio/"

# Providers:
export BRAVE_API_KEY=xxx      # Brave Search API
export SEARXNG_URL=xxx        # Self-hosted SearXNG

Server Status

# Check MCP server status
tau mcp status

# Debug specific server
tau mcp debug filesystem

# Restart server
tau mcp restart brave-search

TUI MCP Indicators

In the TUI sidebar, MCP servers show connection status:

builtin (connected)
browser (connected)
slack (connecting...)
custom-server (offline)