Skip to main content
Glama

search_online

Read-only

Search an open database live and get the matching records back (title, date, place, link, snippet). Sends the query to that one site only.

Instructions

Search an open database live and get the matching records back (title, date, place, link, snippet). Sends the query to that one site only. Run it for each name form from name_variants; for FamilySearch, Geneteka, Find a Grave and other sites without an open API use search_links.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "source": "<source>"
    },
    "name": "search_online"
  }
}

Input Schema

NameRequiredDescriptionDefault
givenNo
limitNo
placeNo
queryNoFree text instead of the name fields (e.g. a phrase for the full-text search)
startNoGallica only: one-based record offset; other providers require 1
sourceYesgallica: Gallica — OCR document search (BnF); search_book_pages gives page excerpts; internet_archive: Internet Archive — full text of digitised books, worldwide; chronicling_america: Chronicling America — US newspapers 1756–1963; wikitree: WikiTree — collaborative world tree; open_archives: Open Archives — Dutch, Belgian and other civil and church records; open_list: Открытый список — жертвы политических репрессий в СССР
surnameNo
year_toNo
year_fromNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.7.0
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 15,
      +  "maximum": 50,
      +  "minimum": 1,
      +  "title": "Limit",
      +  "type": "integer"
      +}
    • changedInput schema / properties / source / description
      Previous value: -"internet_archive: Internet Archive — full text of digitised books, worldwide; chronicling_america: Chronicling America — US newspapers 1756–1963; wikitree: WikiTree — collaborative world tree; open_archives: Open Archives — Dutch, Belgian and other civil and church records; open_list: Открытый список — жертвы политических репрессий в СССР"New value: +"gallica: Gallica — OCR document search (BnF); search_book_pages gives page excerpts; internet_archive: Internet Archive — full text of digitised books, worldwide; chronicling_america: Chronicling America — US newspapers 1756–1963; wikitree: WikiTree — collaborative world tree; open_archives: Open Archives — Dutch, Belgian and other civil and church records; open_list: Открытый список — жертвы политических репрессий в СССР"
    • changedInput schema / properties / source / enum
      Previous value: -[
      -  "internet_archive",
      -  "chronicling_america",
      -  "wikitree",
      -  "open_archives",
      -  "open_list"
      -]New value: +[
      +  "internet_archive",
      +  "chronicling_america",
      +  "wikitree",
      +  "open_archives",
      +  "open_list",
      +  "gallica"
      +]
    • addedInput schema / properties / start
      Added value: +{
      +  "default": 1,
      +  "description": "Gallica only: one-based record offset; other providers require 1",
      +  "minimum": 1,
      +  "title": "Start",
      +  "type": "integer"
      +}
  2. First observedv0.5.1

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety and external-call semantics are covered. The description adds genuinely new behavior: the call is live/one-site-only, it returns a defined record shape, and it should be repeated per name variant. It does not mention rate limits or what happens on a site failure/timeout, which is the remaining gap for a live external query tool.

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 short sentences, front-loaded with the action and return shape, then the enumeration rule, then the alternative-tool routing. No filler, though the parenthetical field list is slightly bulky and could have been dropped given the output schema exists.

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

Completeness3/5

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

An output schema exists, so return-value explanation is not required, and the annotations cover the safety profile. However, for a 9-parameter search tool with low schema coverage, key calling details (name field vs free-text query, date range, pagination offset) are missing from both description and schema titles, leaving the definition adequate but incomplete.

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

Parameters2/5

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

Schema coverage is only 33% and the description compensates for very little: it never explains given/surname vs the free-text 'query' parameter, the year_from/year_to range, limit, place, or the Gallica-only offset semantics of 'start'. Only the source selection is hinted at ('that one site only'). For a 9-parameter tool with undocumented required/optional semantics, this leaves the agent to rely on sparse schema titles.

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?

Specific verb plus resource ('Search an open database live'), plus an explicit list of the returned fields (title, date, place, link, snippet) that tells the agent what it gets back without opening the output schema. It also names the scope boundary ('Sends the query to that one site only'), which separates it from multi-site or link-generation siblings.

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?

Explicit operational instruction ('Run it for each name form from name_variants') tells the agent how to loop this tool, and the exclusion clause names real alternatives ('for FamilySearch, Geneteka, Find a Grave and other sites without an open API use search_links'). Both when-to-use and when-not-to-use are stated rather than inferred.

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