Skip to main content
Glama
ball2jh

findagrave-com-mcp

by ball2jh

Find a Grave GraphQL query

findagrave_graphql
Read-onlyIdempotent

Run read-only GraphQL queries against Find a Grave's API to fetch data that other tools do not return.

Instructions

Run a read-only GraphQL query against Find a Grave's own API (https://www.findagrave.com/orc/graphql) for data the other tools do not return. Mutations are refused. Full schema introspection is disabled, but { __type(name: "Memorial") { fields { name } } } lists a type's fields; docs/endpoints.md lists the useful queries and types (memorialsById, memorialSearch, cemeteries, locationsByTypeahead, browse, flowersForMemorial, getPhotos, virtualCemeterySearch). Prefer the other tools: their results are projected to fit and their filters are checked.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoGraphQL query text, e.g. query($ids:[ID!]!){ memorialsById(ids:$ids){ id plot gravesiteDetails } }
actionYesquery
variablesNoVariables for the query, e.g. {"ids":["94640355"]}

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds value beyond those: it states mutations are refused, full schema introspection is disabled (with a workaround), and that results are raw (since other tools 'projected to fit'). This contextualizes the openWorldHint and readOnlyHint without contradicting them. No annotation contradiction.

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 description is compact but information-dense. It front-loads the core purpose, then packs constraints, introspection workaround, and a pointer to docs into the same sentence. Every clause adds value; there is no fluff. Slightly long, but earned length.

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

Completeness4/5

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

For a generic GraphQL tool with no output schema, the description directs to docs/endpoints.md, lists useful queries/types, and gives an introspection workaround. It covers the key pitfalls (mutations, introspection) and provides a path to discover query shapes. Missing error-handling or rate-limit notes are minor for this tool's complexity.

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%, and both 'query' and 'variables' already include concrete examples in the schema. The description adds no new parameter-level semantics beyond what the schema provides. Baseline 3 is appropriate given full schema coverage.

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+resource: 'Run a read-only GraphQL query against Find a Grave's own API'. It explicitly notes this is for data 'the other tools do not return', clearly distinguishing it from sibling tools like findagrave_memorial and findagrave_cemetery. The purpose is unambiguous and contextually differentiated.

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 guidance: 'Prefer the other tools: their results are projected to fit and their filters are checked.' This tells the agent when to use alternatives and why. It also states mutations are refused, setting a clear boundary. This is model guidance, leaving nothing to inference.

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