Skip to main content
Glama
ball2jh

fold3-com-mcp

by ball2jh

Search Fold3

fold3_search
Read-onlyIdempotent

Search Fold3 military and historical records by name, war, place, and record type, returning matching files, images, index entries, and memorials.

Instructions

Search Fold3's military and other historical records (service records, pensions, muster rolls, draft cards, census, casualty lists, newspapers, memorials). Actions:

  • search: hits matching the criteria; needs at least one criterion. Each hit gives type (FILE = a multi-page file such as a pension or service record; IMAGE; INDEX_RECORD = an index entry; SUB_IMAGE = one person's line on an image such as a census page; MEMORIAL), id, title, collection, its index fields, pages, and the index values that matched. Read one with fold3_record get using its type and id. About 360 chars per hit, 50 per call at most; only the first 10000 hits of a search can be reached.

  • facets: how the matches split by collection, war, record type and document type (counts only), to pick filters before paging through thousands of hits. Searching needs no subscription; viewing images depends on the collection (free collections such as the War of 1812 pensions open with the user's free account; most others need a Fold3 subscription, which this account does not have — fold3_session status says).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
warNoOnly titles in this war or topic: us-revolutionary-war-us, war-of-1812, indian-and-mexican-american-wars, us-civil-war, us-civil-war-union, us-civil-war-confederate, spanish-american-war, world-war-i-united-states, world-war-ii-united-states, korean-war, vietnam-war-us, afghan-war-us, census, naturalizations, city-directories, native-american, african-american, holocaust, unit-histories, non-military, world-war-i-uk, world-war-ii-uk, war-of-1812-uk, us-revolutionary-war-uk
nameNoA person's name as Fold3's Name field ("Joseph Hunt"); narrower than keywords (17,720 Joseph Hunts against 170,359 keyword hits)
sortNosearch: relevance (default), alphabetical, oldest, newest
countNosearch: hits per call (default 20, max 50); facets: values per facet (default 20)
placeNoPlace words as Fold3's Place field, e.g. "Giles County"
startNoPaging offset: index of the first item to return (default 0)
stateNoOnly records Fold3 places in this US state or territory
actionYessearch · facets
docTypeNoimage (page images and files), index_record (index-only entries), memorial (Fold3 memorial pages), military_unit
keywordsNoWords anywhere in the index (names, units, places, numbers), e.g. "Youngblood" or "62nd Tennessee"
birthYearNoBirth year on the record (date.vital.birth); with birthYearTo a range
deathYearNoDeath year on the record (date.vital.death); with deathYearTo a range
recordTypeNoOnly this kind of record, e.g. pension, service-record, muster-roll, draft-card, census, casualty, newspaper
birthYearToNoEnd of a birth-year range
deathYearToNoEnd of a death-year range
serviceYearNoYear of military service on the record (date.military); with serviceYearTo a range, e.g. 1812-1815
collectionIdNoOnly this collection (title), e.g. "761" = US, War of 1812 Pension Files; ids from fold3_collection list or a hit's collectionId
coverageYearNoFold3's generic date filter: documents whose date SPAN covers this year. A whole collection's span counts (a 1775-2019 gravesite index matches 1814), so it does not filter a person's dates; prefer birthYear/deathYear/serviceYear
serviceYearToNoEnd of a service-year range
coverageYearToNoEnd of a coverage-year range

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, but the description adds substantial behavioral detail: hit types and their structure, limits (50 per call, first 10000 hits), subscription requirements for viewing images, and the caveat that coverageYear is a generic filter that does not filter personal dates. This goes well beyond the annotations.

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

Conciseness5/5

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

The description is long but well-structured with bullet points for the two actions. Every sentence adds value: it covers scope, hit types, limits, subscription, and follow-up steps. It front-loads the core purpose and efficiently organizes the operational details without redundancy.

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?

Given the tool's complexity (20 parameters, two actions, no output schema), the description is remarkably complete. It explains the return format (hit types and fields), pagination limits, subscription nuance, and the relationship to fold3_record. An agent has everything needed to invoke it correctly and interpret results.

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

Parameters5/5

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

Schema coverage is 100% with detailed per-parameter descriptions, so the baseline is 3. The description adds meaning beyond that by explaining that search requires at least one criterion, that facets returns counts, that count has different meanings per action, and that only the first 10000 hits are reachable (affecting start/count). It also clarifies the relationship between name and keywords, which is useful for parameter selection.

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 states a specific verb ('Search') and resource (Fold3's military and other historical records), enumerates the record types, and distinguishes the two actions (search vs. facets). It clearly differentiates from sibling tools by describing its role as the search entry point and pointing to fold3_record for reading a specific hit.

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 explains when to use each action (search for hits, facets to pick filters before paging), notes that searching requires no subscription, and instructs the agent to use fold3_record for reading hits. It also mentions consulting fold3_session for subscription status, giving clear context for selection among siblings.

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