# GOV Historical Gazetteer [Health: Active]

**Category:** 🗺️ Location Services  
**Repository:** https://github.com/ianderso/gov-gazetteer-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/gov-historical-gazetteer

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

## Tools
Capabilities this server exposes over MCP:

- **gov_search** — Find places by name: GOV id, names, types, coordinates and current parents. `within` limits the search to what lies inside a Kreis, province or state at any date; `place_type` keeps villages, parishes, Standesämter and so on.
- **gov_object** — One object in full: every name with its language and dates, every type with dates, coordinates, external ids, and each part-of, located-in and represents relation with its dates and GOV's source ids. `children` lists what lies inside it, such as a parish's villages. Takes a GOV id, a GOV page addre…
- **gov_place_at_date** — A place in one year: its name then and the civil chain above it to the state, each level with its type and the link's dates. Links GOV leaves undated, or attests only in another year, are marked.
- **gov_registers** — The parish (by confession, where GOV records it) and the Standesamt that covered a place in one year, the bodies above each parish whose archive may hold the books, and the local court. Says plainly when GOV records no parish or no Standesamt.
- **gov_enclosures** — Every dated enclosure of a place and of each civil place above it, shaped for a dated place tree: one entry per parent with its periods, current first, each with a `gramps_date` such as `from 1871-01-01 to 1937-03-31`, and a suggested Gramps place type.
- **cache_status** — This session's requests to GOV, by operation, and cache use. Makes no request.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "gov-historical-gazetteer": {
    "command": "uvx",
    "args": ["gov-gazetteer-mcp"],
    "env": {
      "GOV_GAZETTEER_CACHE_DIR": "",
      "GOV_GAZETTEER_TIMEOUT": "",
      "GOV_GAZETTEER_MIN_INTERVAL": "",
      "GOV_GAZETTEER_CONTACT": ""
    }
  }
}
```

**Requires environment variables:** `GOV_GAZETTEER_CACHE_DIR`, `GOV_GAZETTEER_TIMEOUT`, `GOV_GAZETTEER_MIN_INTERVAL`, `GOV_GAZETTEER_CONTACT` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## 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:

```bash
uvx gov-gazetteer-mcp
```

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.

_Full upstream README: https://allmcps.com/mcp/gov-historical-gazetteer/readme_

