iiRecord
Agentic AI Atlas · GAP-TOOLS-034: Dynamic Tool Discovery and Search
page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-034a5c.ai
II.
Page reference

page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-034

Reading · 2 min

GAP-TOOLS-034: Dynamic Tool Discovery and Search reference

Discover and search available tools at runtime, including deferred tools from

Pagewiki/docs/harness-features-backlog/gaps/tools-capabilities/GAP-TOOLS-034.mdOutgoing · 0Incoming · 1

GAP-TOOLS-034: Dynamic Tool Discovery and Search

FieldValue
Categorytools-capabilities
PriorityMedium
EffortM
StatusMissing

Description

Discover and search available tools at runtime, including deferred tools from MCP servers. CC's ToolSearchTool enables lazy loading of tool schemas -- tools are listed by name but their full schemas are only fetched when needed.

Current State

Babysitter's agentic tools are a fixed set of 16 tools loaded upfront into Pi sessions. All tool schemas are included in the initial prompt. No deferred loading. No tool discovery from MCP servers. No search across available tools.

When MCP client capability is added (GAP-TOOLS-025), the number of available tools could grow to 50+ (MCP servers like Slack expose 10+ tools each). Loading all schemas upfront would bloat the prompt.

Target State

  • Deferred tool loading: tools listed by name only, full schema fetched on demand
  • tool_search agentic tool: search tools by keyword or capability
  • MCP tool discovery: list tools from connected MCP servers
  • Tool categorization: group tools by source (agentic, MCP:slack, MCP:gmail, etc.)
  • Prompt optimization: only include schemas for tools likely needed by the task

Dependencies

Key Files

ComponentPath
Agentic toolspackages/sdk/src/harness/agenticTools.ts
Prompts modulepackages/sdk/src/prompts/

Recommendation

Phase 3 (M4). Implement when MCP client adds many tools. The deferred loading pattern is essential for prompt size management. CC's ToolSearchTool pattern (name-only listing + on-demand schema fetch) is the right approach.