Skip to main content
Glama
polish-archives-mcp

polish-archives-mcp

by ianderso

basia_search

Read-only

Search the BaSIA archival index for vital records by surname, place, year, and record type, returning archive call numbers and scan links for genealogy research.

Instructions

Search BaSIA, the Wielkopolska archival index tied to call numbers and scans.

Every row carries the archive, the call number and scan as BaSIA gives them, the unit's address on szukajwarchiwach.gov.pl (a person opens it in a browser), BaSIA's id, and a warning: BaSIA's middle (series) number can differ from the archive's, so cite the Sygnatura from the unit page. BaSIA lists at most 250 entries per search. Its coverage is whatever its volunteers have done: a zero is weak evidence.

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": {
      "surname": "<surname>"
    },
    "name": "basia_search"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoPage of 50 rows, from 1.
unitNoOffice: usc civil registry, kat Catholic parish, ewa Protestant parish.any
givenNoThat person's given name.
placeNoA place (town or village) to search around.
recordNoKind of record.any
personsNoUp to 4 more people in the same entry, each 'Given Surname' (a parent, spouse, godparent).
refreshNoTrue asks the site again instead of using the cached answer (kept a day).
surnameYesSurname of a person in the entry.
year_toNoLast year.
year_fromNoFirst year.
similarityNoLeast name similarity, 50-100.
distance_kmNoRadius around place, in km.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already establish readOnly and openWorld, and the description layers on the things they cannot: a hard 250-entry cap per search, a one-day cache with a refresh escape hatch, and a volunteer-coverage caveat that zero results are weak evidence. It also flags the series-number-vs-archive-number discrepancy and tells the agent to cite Sygnatura from the unit page, which is exactly the kind of trap-resolution an agent could not derive elsewhere.

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?

Four sentences, front-loaded with the purpose before the row-content inventory and the two caveats. The row-content sentence is fairly dense with enumerations, but nothing is redundant or wasteful.

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 12 parameters, no output schema, and a complex open-world source, the description does the work the schema cannot: it enumerates what each result row contains and supplies the coverage, cap, and caching semantics needed to interpret results. Nothing an agent needs in order to call and correctly report on this tool is missing.

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 the schema already carries all 12 parameters including enums, defaults and ranges. The description adds no parameter-level syntax or format detail beyond that; its extra value is about output fields and citation practice rather than inputs, which lands at the 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?

"Search BaSIA, the Wielkopolska archival index tied to call numbers and scans" gives a specific verb plus a named, characterized resource. The call-number/scan framing distinguishes it from the other archive indexes named among the siblings without needing to reference them.

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

Usage Guidelines3/5

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

Usage is implied (surname-driven search of one specific index), and the caveat that "a zero is weak evidence" is genuinely useful interpretive guidance for deciding whether to fall back to another index. However, no sibling is named as an alternative and no condition for choosing BaSIA over geneteka_search or poznan_search is stated.

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