Title99/100
Search Docs
The title clearly communicates the tool’s action and subject. Keep it concise.
Description99/100
Search the Agno documentation for relevant content, code examples, and guides. Returns the best-matching sections (up to 10, at most 3 from any one page) with the site path and URL of the page each came from. Use natural language for `query`. When the question is vague or uses words the docs may not, add up to three `alternatives`: the same question in the docs' vocabulary, e.g. the likely identifier (`enable_agentic_memory`) and a page-title style wording ("Agent with Memory"). Every phrasing is searched and the results are merged, so one call is enough. For exact keyword or regex matches, for browsing the docs structure, or to read a full page, use `query_docs_filesystem` instead. Result JSON: {"results": [{"path", "url", "title", "content", "confidence", "revision"}, ...]}. `content` is one section of the page (heading and body, markdown), `title` is its "Page › Section" breadcrumb. `confidence` is a retrieval relevance score, not the probability that an answer is correct or a feature exists. Results are already ranked; verify that their content supports the requested API. `revision` identifies the retrieved page version. An empty results list means no sections were returned. If `partial` or `truncated` is true, coverage is incomplete: inspect `warnings` and `omitted_count`, narrow the query or read the relevant page. Incomplete or low-relevance results do not establish that a feature is absent. An `error` explains a failed search; correct invalid input, or use query_docs_filesystem with `rg` when search is unavailable. Args: query: Natural-language search query, e.g. "give an agent memory of past chats". alternatives: Up to three other phrasings of the same question, in the docs' vocabulary.
The description explains the capability, when to use it, and what to expect.
Inputs90/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
query
Natural-language question or a documented identifier.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
alternatives
Up to three alternative phrasings of the same question.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
context
Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
Clear enough to supply this argument.
llm_model
The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
Clear enough to supply this argument.
conversation_id
Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request.
Clear enough to supply this argument.
Annotations100/100
All four behavior hints are declared.
{
"title": "Search Docs",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Output schema81/100
The output schema explains the structured result.
View output schema
{
"type": "object",
"required": [
"results"
],
"properties": {
"partial": {
"type": "boolean"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"url",
"title",
"content",
"confidence",
"revision"
],
"properties": {
"url": {
"type": "string"
},
"path": {
"type": "string"
},
"title": {
"type": "string"
},
"content": {
"type": "string"
},
"revision": {
"type": "string"
},
"confidence": {
"type": "number",
"description": "Retrieval relevance score, not answer confidence or evidence that a feature exists."
}
}
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"truncated": {
"type": "boolean"
},
"omitted_count": {
"type": "integer"
},
"_mcp_instructions": {
"type": "object",
"properties": {
"conversation_id": {
"type": "string",
"description": "The server-issued conversation identifier."
}
},
"description": "Server-issued metadata for this conversation."
}
}
}