Skip to content

Tools and MCP

Varun S V edited this page Oct 16, 2026 · 1 revision

Built-in Tools and MCP Connectors

Most tool execution is performed by T3 workers. Availability depends on runtime, configuration, granted permissions, and the provider/model's capabilities.

Tool families

Family Representative tools Restrictions
Workspace file_read, file_list, file_write, file_edit, file_delete, glob, grep Workspace scope and dangerous-action approval
Code run_code, code_search Code index must be enabled/built
Shell / Git shell, git, github Can change external state; approval required when dangerous
Internet web_search, web_fetch Backend configuration, SSRF checks
Browser browser, browser_control, read_current_page Distinct browser types and surfaces
Documents generate_document, pdf_create Render actual documents, not renamed plain text
Media image_analyze, generate_image, generate_speech, generate_video, transcribe_audio Compatible provider/model needed
Coordination peer_message, ask_user ask_user belongs to cloud/self-hosted web

MCP-provided tools can extend this set at runtime. The tool registry also exposes a plugin registration interface; some plugin lifecycle functionality remains a roadmap/stub, so don't assume every described extensibility idea is enabled.

Configure permissions

Tools are gated by Cascade's approval chain. Configuration supports tools.shellAllowlist, tools.shellBlocklist, and tools.requireApprovalFor; exact field names and defaults are defined in src/config/schema.ts. A prompt from a model or webpage does not grant additional permission.

Local MCP servers

Place local stdio MCP servers in .cascade/config.json and explicitly trust them:

{
  "tools": {
    "mcpServers": [
      {
        "name": "filesystem",
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
      }
    ],
    "mcpTrusted": ["filesystem"]
  }
}

Remote MCP + OAuth

cascade mcp connect https://mcp.example.com/sse
cascade mcp list
cascade mcp remove example

Remote connectors can use OAuth where a server supports it; servers without OAuth may fall back to explicit tokens. Cloud can use an operator-configured OAuth broker for selected services that cannot dynamically register clients.

Sources: src/tools/registry.ts, MCP OAuth design, connect broker.

Clone this wiki locally