Skip to main content
Glama

Search the documentation

search_docs
Read-onlyIdempotent

Searches for a term in the indexed documentation of a version. Applies stemming and domain synonyms, so morphological variants and synonyms also match. Pass exactly one of 'query' and 'queries' — the latter runs several searches in one call, each under 'searches'. When 'truncated' is true, 'next_page' is the value of 'page' for the next results. A match under a heading names it in 'heading', and its 'url' ends in that section's #anchor: get_doc_page on that URL reads just the section. May also return a livekit block: pointers to LiveKit's SDK documentation, which is NOT OpenVidu documentation and carries its own version caveat — read that block's own guidance before using it. The response includes 'version_used': always tell the user which documentation version what you're telling them corresponds to. If it also carries 'version_warning', or 'version_sensitive': true on a result or in a page's 'version_note', the page changes between versions: say so explicitly and explain how to specify a different one. The index has no notion of edition or product, so if the answer depends on either, say which one you assumed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoWhich page of results, from 1.
queryNoTerm or phrase to search for (case-insensitive).
queriesNoSeveral queries instead of 'query', up to 5: different phrasings of the same question, or related ones.
versionNoVersion of the OpenVidu SERVER the project's deployment runs, as the deployment reports it ('3.9.0', '3.9.1'): documentation is published per minor release, so it resolves to '3.9'. DO NOT INFER it from the project's dependencies (livekit-client, livekit-server-sdk, web components): their versions do NOT correspond to the server's, and passing one here returns documentation for the wrong version. To find out for real, call 'resolve_openvidu_version_edition_product' with no arguments: it returns the procedure to obtain the version, the edition (ce/pro) and the product (Platform/Meet) from the deployment itself. Cheaper first check: the project's AGENTS.md/CLAUDE.md, where it may already be pinned. If you have none of these, OMIT the parameter: the default version is used and the response tells you whether that matters for the page being queried. Don't guess.
max_resultsNoResults per page.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
queryNo
livekitNoPointers to LiveKit's own documentation. NOT OpenVidu results.
resultsNo
searchesNo
next_pageNo
truncatedNoMore results exist beyond this page.
version_usedYesDocumentation version that answered.
resolved_fromYesHow it was chosen: default, explicit, normalized, alias_latest, or url (the release a get_doc_page URL names).
total_matchesNo
default_versionYes
available_versionsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Very rich disclosure beyond annotations: stemming/synonym behavior, one-of query/queries constraint, pagination semantics via truncated/next_page, heading/anchor navigation, a livekit block warning that is NOT OpenVidu documentation, and version_used/version_warning/version_sensitive handling. Annotations cover readOnly/idempotent/openWorld, and the description adds substantial operational context without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose and search behavior well, but grows long with several distinct concerns (query/queries, truncation, headings, livekit block, version_used/warnings, edition/product caveat). Each sentence is useful, but the structure is dense and some guidance is buried mid-paragraph rather than cleanly separated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given five parameters, an output schema present, and a search tool with subtle version/edition behaviors, the description covers the key quirks an agent needs. It leaves some details to the output schema but fills in behavioral gaps the schema cannot express, such as version assumptions and the livekit block caveat.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents parameters well. The description adds task-relevant semantics for query vs queries, truncated/next_page, heading/url anchor behavior, and the version_used/version_warning fields. That goes beyond the schema for response-driven parameters, meeting the 'high schema coverage = baseline 3' bar and exceeding it where it matters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ('Searches for a term in the indexed documentation') and adds scoping detail (per version, stemming and synonyms). It distinguishes itself from siblings like get_doc_page and list_doc_sections implicitly through 'search' behavior. Sibling differentiation is present but not as explicit as routing language would be.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage guidance: 'Pass exactly one of query and queries'. Explains when to use queries (several searches at once) and gives a strong instruction to call resolve_openvidu_version_edition_product when the version is unknown. No explicit when-not-to-use or sibling alternatives, but the conditions are clear enough for the agent to act.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources