Skip to main content
Glama

Search Translations

search_translations
Read-onlyIdempotent

RETURNS QUOTABLE PASSAGES (page-level snippets + citation URLs), matched by KEYWORD/term. PICK THIS to find a quote or textual evidence on a topic across the whole library. → If the modern word won't literally appear in historical texts, use search_concept (matches by meaning); to list which BOOKS cover a topic use search_library; to dig inside one known book use search_within_book; if the user named an author/work, get_book first (its AI summary is usually the right first read). Query tips: a distinctive term ("wax tablet") or the sentence you are looking for both work; matching is by word, and a page that prints your words together and in order ranks above one that scatters them. Each passage carries phrase_match (0-1, absolute, not relative to the other results): 1 means the page prints your whole query in order at one place, 0 means your words occur only apart; when every passage is under about 0.2 the library probably does not print that sentence, so try search_concept. It is absent for a one-word query and for a passage found by meaning alone. found_by says which lane found the page: "keyword", "semantic", or "both" (the strongest signal). Each snippet has a snippet_type — "translation"/"ocr" means it is a verbatim extract from the source text; "summary" means it is AI-generated description (do not quote those as the author's words). Response includes total_matches, returned, and offset for pagination. Cross-cultural tip: for pre-modern or non-Western topics, search source-tradition vocabulary rather than modern English terms — e.g. for seminal economy search "jing" or "bindu" or "istimnāʾ", not "semen retention"; for female homoeroticism search "tribade" or "sahq", not "lesbian". The corpus is indexed via period translations that use tradition-internal terminology.

Input Schema

NameRequiredDescriptionDefault
langNoISO code of the EDITION to read, e.g. "es". Default "en". Most books have only English — call get_book and read `editions`, or list_books with has_edition, to find the ones that do not. The response always states which edition it served.
limitNoMax results per page (default 20, max 50)
queryYesA distinctive term ("harmony of the spheres", "active intellect") or the sentence you are looking for. A multi-word query matches pages printing ANY of its words, ranked so that pages printing them together come first (see phrase_match); wrap in "double quotes" to require the exact phrase.
authorNoKeep only passages by these authors, e.g. ["Ficino"] or ["della Porta", "Agrippa"]. Matches by name: every word you give must start a word of the book's author field.
offsetNoPagination offset (use with limit to page through total_matches; default 0)
book_idNoSearch within a specific book
year_toNo
languageNoFilter by a single original language
diversityNoRe-order the passages for spread. "author": at most one passage per author and per work in each ten, for a cross-author survey. "tradition": at most 2 per tradition family and per work. Default "off": passages come in relevance order. Nothing is dropped; later pages hold the rest.
languagesNoFilter to any of these languages, e.g. ["Sanskrit", "Arabic", "Chinese"]. Use instead of language when targeting multiple traditions.
year_fromNo
max_per_workNoHard cap on passages from one WORK (all printings and editions of it count together, via work_id), so seven printings of De occulta philosophia are one witness, not seven.
max_per_authorNoHard cap on passages from one author; the rest are DROPPED (unlike diversity, which only re-orders). Set 1 for "N quotes from N different authors".
exclude_authorsNoDrop passages by these authors, e.g. ["Agrippa"]. Use it to iterate a survey: run, see who dominates, exclude, run again.
exclude_languagesNoExclude these languages, e.g. ["Latin", "French", "German", "English"] to surface non-Western sources.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / author
      Added value: +{
      +  "description": "Keep only passages by these authors, e.g. [\"Ficino\"] or [\"della Porta\", \"Agrippa\"]. Matches by name: every word you give must start a word of the book's author field.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / diversity / description
      Previous value: -"Re-order the passages for spread. \"author\": at most one passage per author and per work in each ten, for a cross-author survey. \"tradition\": at most 2 per tradition family and per work. Default \"off\": keyword results come in match order. Nothing is dropped; later pages hold the rest."New value: +"Re-order the passages for spread. \"author\": at most one passage per author and per work in each ten, for a cross-author survey. \"tradition\": at most 2 per tradition family and per work. Default \"off\": passages come in relevance order. Nothing is dropped; later pages hold the rest."
    • addedInput schema / properties / exclude_authors
      Added value: +{
      +  "description": "Drop passages by these authors, e.g. [\"Agrippa\"]. Use it to iterate a survey: run, see who dominates, exclude, run again.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / max_per_author
      Added value: +{
      +  "description": "Hard cap on passages from one author; the rest are DROPPED (unlike diversity, which only re-orders). Set 1 for \"N quotes from N different authors\".",
      +  "type": "number"
      +}
    • addedInput schema / properties / max_per_work
      Added value: +{
      +  "description": "Hard cap on passages from one WORK (all printings and editions of it count together, via work_id), so seven printings of De occulta philosophia are one witness, not seven.",
      +  "type": "number"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Search term — prefer single distinctive concepts (\"harmony of the spheres\", \"active intellect\") over long natural-language phrases. Multi-word queries match all terms (not phrase); wrap in \"double quotes\" for exact phrase."New value: +"A distinctive term (\"harmony of the spheres\", \"active intellect\") or the sentence you are looking for. A multi-word query matches pages printing ANY of its words, ranked so that pages printing them together come first (see phrase_match); wrap in \"double quotes\" to require the exact phrase."
  2. Changed1 schema field changed
    • addedInput schema / properties / diversity
      Added value: +{
      +  "description": "Re-order the passages for spread. \"author\": at most one passage per author and per work in each ten, for a cross-author survey. \"tradition\": at most 2 per tradition family and per work. Default \"off\": keyword results come in match order. Nothing is dropped; later pages hold the rest.",
      +  "enum": [
      +    "tradition",
      +    "author",
      +    "off"
      +  ],
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / lang
      Added value: +{
      +  "description": "ISO code of the EDITION to read, e.g. \"es\". Default \"en\". Most books have only English — call get_book and read `editions`, or list_books with has_edition, to find the ones that do not. The response always states which edition it served.",
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial behavioral context beyond them: phrase_match is an absolute 0-1 score (not relative), its absence for one-word/meaning-only hits, the found_by lanes, snippet_type distinguishing verbatim translation/ocr from AI-generated summary, and pagination fields. This is genuine added value.

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?

The text is long, but the complexity (15 params, no output schema) justifies most of it and it is front-loaded with the routing decision in caps and arrows. Some material (phrase_match, found_by, snippet_type) bleeds into return-value explanation that could be trimmed, so not a clean 5.

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

Completeness5/5

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

With no output schema, 15 parameters and a complex corpus, the description compensates by describing return fields (phrase_match, found_by, snippet_type, total_matches, returned, offset), pagination, and the cross-cultural query strategy. Nothing an agent needs to select or invoke correctly appears missing.

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 87%, so the schema carries most parameter documentation (diversity, max_per_work, max_per_author, exclude_authors, lang, etc.), which sets the baseline at 3. The description adds real meaning for query construction, notably the cross-cultural tip to search tradition-internal vocabulary (e.g. "jing"/"bindu" rather than "semen retention") for pre-modern topics, pushing it slightly above baseline.

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?

States a specific verb+resource (returns quotable page-level passages with citation URLs) matched by keyword/term, and explicitly names itself as the pick for finding quotes/evidence across the library. It repeatedly distinguishes itself from search_concept, search_library, search_within_book and get_book, so an agent can route without opening any 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?

Gives explicit when-to-use and when-not with named alternatives: use search_concept when the modern word won't literally appear, search_library to list books, search_within_book for one known book, get_book first if the user named an author/work. It also supplies query-construction guidance and a cross-cultural search tip, leaving little to inference.

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.