Tools
Understanding how decopilot discovers and enables capabilities to stay focused on what matters
This page documents the planned architecture for decopilot tools. The specification serves as the implementation guide for the decopilot module.
Overview
Decopilot uses two types of tools: built-in tools for discovering capabilities and managing work, and scope tools from the current scope for domain-specific actions. Scope tools are available based on the connections in the current scope’s Virtual MCP — decopilot sees them listed in its system prompt.
Tool Reference
Built-in Tools
All built-in tools are available across all scopes. Availability varies between tasks and subtasks.
| Tool | Task | Subtask | Description |
|---|---|---|---|
| Discovery | |||
agent_search | ✓ | ✓ | Find agents configured in the organization |
| Execution | |||
subtask | ✓ | ✗ | Spawn subtask with fresh context, optionally specifying an agent |
user_ask | ✓ | ✗ | Ask user for input or clarification |
sandbox | ✓ | ✓ | Execute JavaScript code with access to MCP tools |
| Context | |||
read_resource | ✓ | ✓ | Read documentation/guidelines from current scope (supports line ranges) |
read_prompt | ✓ | ✓ | Read prompt templates from current scope |
read_tool_output | ✓ | ✓ | Filter large tool outputs using regex patterns |
propose_plan | ✓ | ✗ | Propose execution plans for user approval (in “plan” approval mode) |
Scope Tools
Scope tools come from the current scope—domain-specific capabilities like Shopify, inventory systems, or shipping tools. These are available based on the connections configured in the scope’s Virtual MCP.
Example: A project with Shopify and ShipStation connections might expose:
GET_ORDERS- Fetch customer ordersUPDATE_INVENTORY- Update product stock levelsCREATE_SHIPPING_LABEL- Generate shipping labelsGET_PRODUCTS- List product catalog
Scope tool availability in tasks vs subtasks depends on the tool’s configuration.
Tool Annotations
All tools (both built-in and scope tools) use standard MCP annotations to declare their capabilities and restrictions:
readOnlyHint- Tool does not modify its environment (default: false)destructiveHint- Tool may perform destructive updates vs. only additive updates (default: true, only meaningful whenreadOnlyHintis false)idempotentHint- Calling repeatedly with same arguments has no additional effect (default: false, only meaningful whenreadOnlyHintis false)openWorldHint- Tool may interact with external entities; false means closed domain (default: true)
These annotations allow decopilot to respect tool constraints automatically. For example, a read-only agent will only discover and enable tools marked as readOnlyHint: true , ensuring it never performs destructive actions.
Understanding Availability
Tasks vs Subtasks
Tasks are user-initiated and top-level. They have full access to all built-in tools, can spawn subtasks, and can ask user questions.
Subtasks are spawned by decopilot for parallel work, specialized execution, or isolated context. They have restricted access:
- Cannot spawn additional subtasks - Prevents infinite delegation
- Cannot ask user questions - Subtasks run autonomously without blocking
- Step limit of 15 (vs parent’s 30) - Ensures subtasks stay focused
- Must return a summary - Results flow back to the parent task
These restrictions ensure subtasks complete independently and don’t create blocking dependencies.
Tool Discovery Flow
Decopilot starts each task with only built-in tools, then discovers and enables capabilities as needed:
- Explore - Scope tools are listed in the system prompt based on the current Virtual MCP
- Execute - Use available tools to accomplish work
- Delegate - Spawn subtasks via
subtaskfor parallel or specialized work - Read context - Use
read_resourceandread_promptto load domain knowledge
Common Workflows
Execute Scope Tools
The most common pattern for using scope tools:
- Review available tools from the current scope
- Use tools to accomplish the requested work
- Read resources/prompts for domain context when needed
Delegate to Specialists
For work requiring specialized expertise:
- Search for agents with
agent_search - Spawn a subtask with
subtaskand specific agent - Continue main task while subtask runs in parallel
Context-Driven Execution
For tasks requiring domain knowledge:
- Read relevant resources with
read_resource - Read workflow templates with
read_prompt - Use context to inform tool selection and execution
Next steps: Learn about Tasks and Spawning to understand how decopilot manages work, or explore Context to see how resources and prompts provide guidance.
For technical tool documentation, see Built-in Tools Reference.
Found an error or want to improve this page?
Edit this page