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 = trueDynamic 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_schemawhen 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 toolsBrowser 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=60000Vision 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.2Tasks 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 SearXNGServer Status
# Check MCP server status
tau mcp status
# Debug specific server
tau mcp debug filesystem
# Restart server
tau mcp restart brave-searchTUI MCP Indicators
In the TUI sidebar, MCP servers show connection status:
● builtin (connected)
● browser (connected)
● slack (connecting...)
○ custom-server (offline)