Skip to main content
Glama
ball2jh

findagrave-com-mcp

by ball2jh

Find a Grave cemeteries

findagrave_cemetery
Read-onlyIdempotent

Search cemeteries by name or location, or retrieve complete cemetery details including GPS, memorial counts, description, and history.

Instructions

Find and read Find a Grave cemeteries. Actions:

  • search: cemeteries by name and/or place (needs name, location or locationId); rows give cemeteryId, name, place, memorial and photographed counts, GPS. A place alone lists every cemetery in it (Giles County, Tennessee has about 450). 100 per page at most.

  • get: one cemetery (needs cemeteryId): all its names, place, GPS, address, description and history notes, memorial count (the number a memorial search in it returns), photographed and GPS counts. To list or search the people buried in a cemetery use findagrave_memorial search with cemeteryId.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNosearch: words in the cemetery name, e.g. "Liberty Baptist"
countNosearch: cemeteries per page (default 20, max 100)
startNoPaging offset: index of the first item to return (default 0)
actionYessearch · get
orderByNosearch: sort order (default relevance)
locationNoPlace as text, e.g. "Giles County, Tennessee", "Pulaski, Tennessee", "Mississippi", "Mrkopalj, Croatia". Resolved to one Find a Grave place (reported back as `location`); text that fits several places is refused with their ids. Covers the place and everything inside it
cemeteryIdNoget: cemetery id or cemetery URL
locationIdNoFind a Grave place id from findagrave_place search, e.g. county_2452 (Giles County, Tennessee), city_136632, state_45. Use instead of location when the text is ambiguous

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 false, so the description only needs to add context beyond those. It does: it discloses pagination limits ('100 per page at most'), the fact that ambiguous location text is refused, the returned row fields, and the semantic nuance that memorial count is the number a memorial search returns. This materially improves an agent's ability to interpret results.

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 compact but information-dense, organized by action so an agent can quickly map parameters to behavior. The final routing sentence to findagrave_memorial earns its place as it prevents a common misuse. No filler or repetition of schema fields is present.

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?

There is no output schema, so the description correctly carries the burden of explaining return values. It lists what search rows contain and what get returns, covers pagination, ambiguity handling, and action-specific inputs, and points to the sibling tool for the next step. For a two-action tool with eight parameters, this is complete.

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%, so the baseline is 3, but the description adds substantial meaning beyond the schema. It explains that location text is resolved to one Find a Grave place and can be refused if ambiguous, that cemeteryId accepts either an id or URL, and which parameters apply to which action. The 'Giles County, Tennessee has about 450' example gives an agent a concrete sense of scale for a location-only search.

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 clear verb and resource ('Find and read Find a Grave cemeteries') and separates the two actions, search and get, with explicit purposes. It also distinguishes itself from the findagrave_memorial sibling by noting that people buried in a cemetery are handled there. This is specific and immediately actionable.

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 gives explicit when-to-use guidance for both actions: search by name/location/locationId, get by cemeteryId. It also names the alternative tool for memorial searches: 'use findagrave_memorial search with cemeteryId'. It adds a practical caveat about a place alone listing every cemetery, which helps an agent decide whether a search is appropriate.

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