Skip to main content
Tool Exposure solves the “tool explosion” problem: as you add more capabilities, agents face analysis paralysis choosing which tool to use. Tool Exposure controls how tools are presented, with three modes that balance simplicity and control.

The Problem

With 50+ tools available, agents must:
  1. Know which tools exist
  2. Read documentation for each
  3. Choose the right one
  4. Map parameters correctly

The Solution

Omni Tool analyzes the request and discovers the right tools: Result: Agent says “upload and analyze this PDF” once. Omni Tool figures out the 3 tools needed and maps parameters.

How Omni Tool Works

Step 1: Tool Discovery

Omni Tool analyzes the user request against available tools:

Step 2: Parameter Extraction

Omni Tool maps natural language parameters to tool arguments:

Step 3: Execution

Discovered tools are executed in the correct order:

Configuration

Omni Tool behavior is configured per gateway:
{
  "omni_tool": {
    "visibility": "omni"    // "smart", "omni", "individual"
  }
}

Visibility Modes

Smart (Default)

Expose 3 meta-tools for progressive discovery: Use case: Agents that benefit from exploration. They progressively discover tools. Only expose omni_tool for cleanest UX: Result:
  • One tool for everything
  • Simplest for agents
  • Best user experience
  • Lowest overhead

Individual (Legacy)

Disable omni_tool, expose individual tools only: Use case: Agents that prefer explicit tool selection.

Confidence & Thresholds

Omni Tool includes confidence scores for each discovery:
{
  "discovered_tool": "web_search",
  "confidence_score": 0.95,
  "rationale": "User explicitly asked to search for information"
}
Confidence threshold (global setting):
CONFIG: OMNI_TOOL_CONFIDENCE_THRESHOLD = 0.70

If confidence < 0.70:
  └─ Omni Tool asks for clarification
     "I found these possible tools:
      - web_search (70% confident)
      - knowledge_search (65% confident)
      Which would you prefer?"

If confidence >= 0.70:
  └─ Execute immediately

Example Workflows

Example 1: Research Task

Example 2: Data Processing

Example 3: Ambiguous Request

Omni Tool vs Explicit Selection

ScenarioOmni ToolExplicit
”Upload and analyze this file”✓ Discovers files_write + analyzerAgent must choose
”Get me this specific data from the API”~ May need clarification✓ Clear what to do
”Do whatever it takes to fix this”✓ Explores tools intelligently✗ No clear target
”Call the web_search tool”✓ User explicit about tool✓ Overkill but works
Use Omni Tool when:
  • User describes task, not specific tools
  • Multiple tools might apply
  • Parameter mapping is complex
  • Want simplest interface
Use explicit selection when:
  • Specific tool is required
  • Clear, one-tool task
  • Want full control
  • Billing accuracy matters

Implementation Details

Response Format

Omni Tool returns results with metadata:
{
  "success": true,
  "data": {
    "results": ["Article 1: ...", "Article 2: ..."],
    "summary": "Found 5 relevant articles about AI"
  },
  "metadata": {
    "proxied_via": "omni_tool",
    "discovered_tool": "web_search",
    "confidence_score": 0.95,
    "rationale": "User explicitly requested to search for information",
    "mapped_parameters": {
      "query": "artificial intelligence trends"
    },
    "execution_time_ms": 234
  }
}

Best Practices

Be Descriptive

Describe what you want to achieve. “Upload and analyze” works better than “process”.

Specific > Vague

“Search for AI trends from 2024” works better than “find stuff”.

Monitor Confidence

Check confidence scores. Low scores indicate ambiguous requests.

Use Context

Omni Tool uses prior conversation context. Reference previous work.

Troubleshooting

ProblemSolution
Omni Tool picks wrong toolBe more specific. Clarify intent.
Low confidence scoreRequest is ambiguous. Add details.
Tool not discoveredDescribe task differently. Tool may not match phrasing.
Parameter extraction wrongProvide exact parameter values: “save to file.txt” not “save it”

Configuration Examples

Example: Research Gateway

{
  "name": "Research Assistant Gateway",
  "omni_tool": {
    "visibility": "omni"
  },
  "capabilities": [
    "WebSearch",
    "KnowledgeRetrieval",
    "CodeRunner",
    "Files"
  ]
}
User says: “Find trends and prepare a report” Omni Tool discovers: web_search, code_run, files_write

Example: Support Agent

{
  "name": "Support Agent Gateway",
  "omni_tool": {
    "visibility": "smart"    // progressive discovery
  },
  "capabilities": [
    "KnowledgeRetrieval",
    "Files",
    "HttpClient"
  ]
}
User says: “How do I reset my password?” Agent asks: “Should I search the FAQ or contact support?”
Next: Learn how to configure Tool Exposure for your agents and gateways, or explore Workflows for durable multi-step automation.