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 JSON

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

Structured · live

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

Inspect the normalized record payload exactly as the atlas UI reads it.

File · wiki/docs/harness-features-backlog/gaps/tools-capabilities/gap-tools-034.mdCluster · wiki
Record JSON
{
  "id": "page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-034",
  "_kind": "Page",
  "_file": "wiki/docs/harness-features-backlog/gaps/tools-capabilities/gap-tools-034.md",
  "_cluster": "wiki",
  "attributes": {
    "nodeKind": "Page",
    "sourcePath": "docs/harness-features-backlog/gaps/tools-capabilities/GAP-TOOLS-034.md",
    "sourceKind": "repo-docs",
    "title": "GAP-TOOLS-034: Dynamic Tool Discovery and Search",
    "displayName": "GAP-TOOLS-034: Dynamic Tool Discovery and Search",
    "slug": "docs/harness-features-backlog/gaps/tools-capabilities/gap-tools-034",
    "articlePath": "wiki/docs/harness-features-backlog/gaps/tools-capabilities/GAP-TOOLS-034.md",
    "article": "\n# GAP-TOOLS-034: Dynamic Tool Discovery and Search\n\n| Field | Value |\n|-------|-------|\n| Category | tools-capabilities |\n| Priority | Medium |\n| Effort | M |\n| Status | Missing |\n\n## Description\nDiscover and search available tools at runtime, including deferred tools from\nMCP servers. CC's `ToolSearchTool` enables lazy loading of tool schemas -- tools\nare listed by name but their full schemas are only fetched when needed.\n\n## Current State\nBabysitter's agentic tools are a fixed set of 16 tools loaded upfront into Pi\nsessions. All tool schemas are included in the initial prompt. No deferred loading.\nNo tool discovery from MCP servers. No search across available tools.\n\nWhen MCP client capability is added (GAP-TOOLS-025), the number of available tools\ncould grow to 50+ (MCP servers like Slack expose 10+ tools each). Loading all\nschemas upfront would bloat the prompt.\n\n## Target State\n- Deferred tool loading: tools listed by name only, full schema fetched on demand\n- `tool_search` agentic tool: search tools by keyword or capability\n- MCP tool discovery: list tools from connected MCP servers\n- Tool categorization: group tools by source (agentic, MCP:slack, MCP:gmail, etc.)\n- Prompt optimization: only include schemas for tools likely needed by the task\n\n## Dependencies\n- [GAP-TOOLS-025](GAP-TOOLS-025.md) -- MCP client (source of dynamic tools)\n- [GAP-PROMPT-002](../prompt-engineering/GAP-PROMPT-002.md) -- capability projection (which tools to include)\n\n## Key Files\n| Component | Path |\n|-----------|------|\n| Agentic tools | `packages/sdk/src/harness/agenticTools.ts` |\n| Prompts module | `packages/sdk/src/prompts/` |\n\n## Recommendation\nPhase 3 (M4). Implement when MCP client adds many tools. The deferred loading\npattern is essential for prompt size management. CC's ToolSearchTool pattern\n(name-only listing + on-demand schema fetch) is the right approach.\n",
    "documents": []
  },
  "outgoingEdges": [],
  "incomingEdges": [
    {
      "from": "page:docs-harness-features-backlog",
      "to": "page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-034",
      "kind": "contains_page"
    }
  ]
}