Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Tool Description Diet & Tool Guide Resource

Keeps every tool’s MCP description at ≤ 300 characters and exposes long-form usage notes on demand via the doc://codescout-tool-guide resource.

Motivation

The MCP tool list is sent to the LLM on every turn. Bloated descriptions waste context tokens with prose that is only occasionally useful. This feature separates what the tool does (short, always paid) from how to use it well (long, paid only when the agent asks).

Tool::long_docs()

A new optional method on the Tool trait:

#![allow(unused)]
fn main() {
fn long_docs(&self) -> Option<&str> { None }
}

Tools with long documentation override it. Currently populated for the five most complex tools: symbols, symbols, semantic_search, run_command, memory.

doc://codescout-tool-guide

A generated MCP resource that renders each registered tool’s long_docs() (or falls back to its short description()) into a single Markdown page.

Fetch it with:

resources/read doc://codescout-tool-guide

The guide is re-generated on every workspace(action: activate) call so it always reflects the current tool set.

Guard test

tool_descriptions_stay_under_budget in src/server.rs asserts that every registered tool’s description().len() <= 300. The test fails at compile time if a future tool exceeds the budget.