What GOV Historical Gazetteer does
The GOV Historical Gazetteer MCP server exposes historical place data from the Geschichtliches Orts-Verzeichnis (GOV), maintained by the Verein für Computergenealogie (CompGen). GOV covers about 1.2 million places, mainly in Germany and territories that were formerly German or Prussian. Its data records that a place can have different names, types, and enclosing jurisdictions over time.
This is useful for genealogy and historical research where a modern place lookup is not enough. A village may have belonged to different Kreise, provinces, states, parishes, or Standesämter during the period relevant to an event. Results include GOV object-page addresses and credit GOV and CompGen, so researchers can inspect the underlying entry.
How it works
The server communicates with GOV's public SOAP web service over MCP stdio. It does not write to GOV or maintain a family tree. All published tools are read-only.
Queries can be date-aware. gov_place_at_date follows a place's civil chain for one year, while gov_registers identifies the parish and Standesamt associated with that place at that time. gov_enclosures returns dated parent relationships in a form intended for building a historical place tree, including gramps_date values and suggested Gramps place types.
The client sends requests at least one second apart. Responses are cached locally: objects for 30 days and searches for 7 days by default. Repeated calls can therefore avoid another request to GOV. Temporary HTTP failures receive one retry, and cache_status reports request and cache activity without contacting GOV.
Setup and configuration
Python 3.11 or later and uv are required. The package can be started without cloning the repository:
For a local checkout, run uv sync, followed by uv run gov-gazetteer-mcp. The process speaks MCP over stdio and is normally launched by the client. The documented client configurations include Claude Desktop and Claude Code.
No API key or required setting is specified. Optional configuration may be supplied through a .env file in the server's startup directory or through the environment:
GOV_GAZETTEER_CACHE_DIR sets the response-cache directory.
GOV_GAZETTEER_TIMEOUT sets the per-request HTTP timeout.
GOV_GAZETTEER_MIN_INTERVAL sets the minimum request interval, with a floor of one second.
GOV_GAZETTEER_CONTACT adds an email address or URL to the User-Agent.
Tools and capabilities
The GOV Historical Gazetteer MCP server provides these tools:
gov_search finds places by name, area, or place type and returns identifiers, names, coordinates, types, and current parents.
gov_object retrieves a complete object by GOV ID, GOV page address, or supported external ID, including dated names, types, coordinates, external identifiers, relationships, and optional children.
gov_place_at_date resolves a place and its civil chain for one year.
gov_registers reports the applicable parish, Standesamt, related parish archive bodies, and local court, while distinguishing missing GOV links.
gov_enclosures lists dated enclosures for a place and its civil parents.
cache_status describes this session's request and cache use.
Limitations and notes
GOV is a volunteer-edited finding aid, not primary evidence. A parish or Standesamt result should be checked against the register itself. Relationship certainty can be marked as dated, undated, or attested only in another year. When GOV has no direct parish or Standesamt link, some returned candidates are explicitly identified as such rather than treated as confirmed.
Name search matches whole words and word beginnings, ignores case and accents, and does not automatically combine spelling variants. A search can return at most 500 objects. gov_enclosures limits a single walk to 40 objects and reports when it stops. The GOV Historical Gazetteer MCP server is independent of CompGen and is not affiliated with, endorsed by, or supported by that organization.