Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

GOV Historical Gazetteer

PYPI · GOV-GAZETTEER-MCP

German historical gazetteer GOV: a place's name, Kreis, parish and Standesamt in any year.

Available components

79 Trust /100

Last scanned (2 hours ago)

Scores higher than 79% of PyPI servers

Category Maps and Location

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 1 of 32 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to ianderso/gov-gazetteer-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 7 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability61
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 1397 tokens (~232/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 15 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 14 Oct 26 +14
    • Malware scan: pass → unverified ▼ security
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • First check of Schema quality: fail functional
    • First check of Destructive annotations: pass functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: good functional
    • First check of Tool coverage: 100 functional
  • 13 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 12 Oct 26 35

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 18 Oct 2026 · Analysed pypi/gov-gazetteer-mcp@0.1.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem pypi
Reason Verified
Discovered via Registry attestation endpoint
Source repo ianderso/gov-gazetteer-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/ianderso/gov-gazetteer-mcp/.github/workflows/release.yml@refs/tags/v0.1.0
Rekor log index 3201281841
Predicate type PyPI publish attestation https://docs.pypi.org/attestations/publish/v1
Subject digest sha256:70b711068f3afab627e5806227691fa26a1a3345d12680ab125e63e3fb801aef

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 32 packages
Packages resolved 32
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 6 exposed · ~1,127 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
cache_status ~28

Report this session's requests to GOV, by operation, and cache use. Makes no network call.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

gov_enclosures ~215

Every dated enclosure of a place and of each civil place above it, for a place tree. For each place: its names and types with dates, a suggested Gramps place type, and `enclosed_by`, one entry per parent with its periods, current first, each with a `gramps_date` ('from 1871-01-01 to 1937-03-31'). Parishes, courts and registry offices of the place come separately. Narrow with from_year/to_year; at most 40 places.

NameTypeReqDescription
from_year––Only enclosures that held in or after this year.
gov_idstringyesA GOV id (e.g. 'QUEURGJO51NT', 'object_289891'), its GOV page address, or an external id GOV records as 'system:ref' (e.g. 'geonames:2851465', 'wikidata:Q40623').
to_year––Only enclosures that held in or before this year.

No output schema declared.

No examples provided.

gov_object ~177

Read one GOV object in full: every name, type and parent, each with its dates. Names carry languages; part-of, located-in and represents relations are grouped by parent, current first, with dates and GOV's source ids. Notes are volunteers' text. For one year's chain use gov_place_at_date.

NameTypeReqDescription
childrenboolean–Also list the objects GOV records inside this one (a parish's villages).
gov_idstringyesA GOV id (e.g. 'QUEURGJO51NT', 'object_289891'), its GOV page address, or an external id GOV records as 'system:ref' (e.g. 'geonames:2851465', 'wikidata:Q40623').
refreshboolean–Ask GOV again instead of the 30-day cache.

No output schema declared.

No examples provided.

gov_place_at_date ~206

A place as it was in one year: its name and the civil chain above it to the state. Each level gives its type and the link's dates. Links GOV leaves undated, or attests only in another year, are marked. A place that changed Kreis or state within the year shows both. Reads up to 40 GOV objects the first time, then from the cache.

NameTypeReqDescription
gov_idstringyesA GOV id (e.g. 'QUEURGJO51NT', 'object_289891'), its GOV page address, or an external id GOV records as 'system:ref' (e.g. 'geonames:2851465', 'wikidata:Q40623').
languagestring–Preferred language of names, as GOV codes it: 'deu', or 'pol' for a place under Polish rule then.
yearintegeryesThe year of the event, e.g. 1885.

No output schema declared.

No examples provided.

gov_registers ~236

Which parish and Standesamt kept a place's registers in one year, as GOV records it. Looks at the place and every level above it in that year; each lead says which level carries the link, with dates. Gives the bodies above each parish (whose archive may hold the books) and the local court. Says plainly when GOV records no parish or Standesamt. A link is a lead: confirm it in the register's own heading.

NameTypeReqDescription
confessionstring–Keep parishes of one confession: protestant, lutheran, reformed, catholic, old catholic or jewish (or GOV's codes ev, lu, lt, rf, rk, ak).
gov_idstringyesA GOV id (e.g. 'QUEURGJO51NT', 'object_289891'), its GOV page address, or an external id GOV records as 'system:ref' (e.g. 'geonames:2851465', 'wikidata:Q40623').
yearintegeryesThe year of the event, e.g. 1885.

No output schema declared.

No examples provided.

gov_search ~265

Find places in GOV by name: id, names, types, coordinates and current parents. Matching is literal: whole words and word beginnings, ignoring case and accents (Lubeck finds Lübeck), never spelling variants. German, Polish and old spellings (Cöslin/Köslin/Koszalin) each need their own call, and a zero covers only the spelling tried. GOV answers at most 500 objects; use `within` or `place_type` to narrow. Then call gov_place_at_date with the event's year.

NameTypeReqDescription
limitinteger–Most candidates returned (1-100).
namestringyesA place name, e.g. 'Quedlinburg'. One spelling per call.
place_typestring–Keep these types: ids, GOV's German names ('Dorf', 'Kirchspiel', 'Standesamt'), or settlement, civil, parish, standesamt, court; comma-separated.
refreshboolean–Ask GOV again instead of the 7-day cache.
withinstring–Only places GOV records inside this object at any date: a GOV id of a Kreis, province or state, e.g. 'adm_133152'.

No output schema declared.

No examples provided.

Install

How do I install the GOV Historical Gazetteer MCP server?

GOV Historical Gazetteer runs locally as a PyPI package, launched with uvx gov-gazetteer-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · gov-gazetteer-mcp

# add to Claude Code
claude mcp add ianderso-gov-gazetteer-mcp -- uvx gov-gazetteer-mcp
Common questions

What is the GOV Historical Gazetteer MCP server?

GOV Historical Gazetteer is an MCP server listed in the public MCP registry as io.github.ianderso/gov-gazetteer-mcp. German historical gazetteer GOV: a place's name, Kreis, parish and Standesamt in any year. This page covers its PyPI package (gov-gazetteer-mcp).

Is the GOV Historical Gazetteer MCP server safe to use?

GOV Historical Gazetteer scores 79 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 18 October 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the GOV Historical Gazetteer MCP server expose?

GOV Historical Gazetteer exposes 6 tools: gov_search, gov_object, gov_place_at_date, gov_registers, gov_enclosures, cache_status. Their descriptions and schemas cost roughly 1,127 tokens of context every time the server is loaded.

Is the GOV Historical Gazetteer MCP server still maintained?

GOV Historical Gazetteer is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the GOV Historical Gazetteer MCP server under?

GOV Historical Gazetteer declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.