Skip to main content
Glama

Natural Language Library Search

library_ask
Read-only

Ask in plain English to search across all 152 libraries. Automatically selects the best sources, generates optimized queries, and searches in parallel to return relevant results.

Instructions

Ask for content in plain English; automatically selects the best sources from all 152 libraries, generates optimized per-source queries, and searches in parallel. Use this as the default entry point for any natural-language request. Use library_search instead when you already know which source to query. Requires OPENAI_API_KEY (already set for embeddings). Set response_format: "detailed" for routing reasons and per-stage diagnostics.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language description of what you want to find
max_sourcesNoMax number of sources to search (default 5)
response_formatNoconcise (default) trims results/citations to high-signal fields; detailed returns the full payload, including routing reasons, scores, and stage diagnostics.concise
results_per_sourceNoResults to fetch per source (default 5)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes
errorsYes
intentYes
stage1No
stage2No
resultsYes
routingYes
total_resultsYes
sources_searchedYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv11.0.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), and the description adds context beyond them: it discloses the routing behavior, parallel search execution, the automatic source-selection logic, and the OPENAI_API_KEY environment requirement. It does not cover rate limits or failure behavior, but with annotations carrying the safety burden, the added behavioral context is solid.

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

Conciseness4/5

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

Three sentences, with core behavior front-loaded and routing guidance following immediately. Every sentence earns its place, but the response_format directive in the final sentence partially duplicates what the schema already documents, so it is not maximally tight.

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?

For a complex routing tool, the description covers the essential operational context: what it does, when to use it, the sibling alternative, an environment prerequisite, and a configuration hint. Since an output schema exists, the omission of return-value details is acceptable. Only minor gaps remain, such as rate limits or cost implications of parallel searching.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter — including the response_format enum meanings — is already documented in the input schema. The description's 'Set response_format: detailed for routing reasons' adds framing but largely restates what the schema's enum description already says about diagnostics and routing reasons. This is the appropriate baseline-3 case where the schema does the heavy lifting.

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

Purpose5/5

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

The description opens with a specific verb and resource: it takes plain-English requests and routes them across all 152 libraries, generating per-source queries and searching in parallel. It also differentiates itself from its key sibling, library_search, by explicitly naming what it is not ('when you already know which source to query'). An agent can tell what this tool does without opening the schema.

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

Usage Guidelines5/5

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

The description explicitly declares this the default entry point for any natural-language request and names the exact alternative condition, 'Use library_search instead when you already know which source to query.' This is the strongest form of usage guidance: it gives when-to-use, when-not-to-use, and the sibling tool that applies instead.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/The-40-Thieves/alexandria-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server