What US Places, Then MCP server does
US Places, Then MCP server supports historical geographic and land-record research in the 🗺️ Location Services category. It answers questions about the jurisdiction, survey tract, named feature, map coverage, or post office associated with a US location. Its historical county tools can identify the county or counties holding a point on a day, month, or year, explain boundary changes, and show the statutes and events behind them.
The server also handles US Public Land Survey System descriptions. It can parse formats such as quarter-quarter descriptions, lots, padded township values, and multiple tracts, then locate the result with a centroid, bounding box, acreage, and BLM identifiers. The reverse lookup identifies the township, range, section, and quarter-quarter at a point.
Other tools cover GNIS names, an archived 2021 GNIS dataset, post offices from 1639 through 2000, historical USGS topographic maps, land-patent case-file routing, and links to BLM General Land Office Records searches.
How it works
US Places, Then MCP server exposes twelve read-only MCP tools. Some queries use live public services, including OpenHistoricalMap, BLM, USGS, the National Map, and Harvard Dataverse. Other operations are offline, including legal-description parsing, public-land-state research, land-entry-file guidance, GLO link construction, and cache inspection.
Data files are downloaded only when a relevant tool first needs them. Responses are cached on disk, with different refresh periods for county, GNIS, map, and survey results. Identical calls in progress are joined, and upstream rate limits or server errors are reported separately from an empty result. County results can include changes within a year that require manual checking.
The county research follows the jurisdiction that held a location on the event date rather than relying only on present-day county boundaries. GNIS searches can report whether the live service or the August 2021 archive supplied the result.
Setup and configuration
Run the server with Python 3.11 or later and uv:
From a clone, use uv sync followed by uv run us-places-mcp. The process runs as a stdio MCP server, normally launched by the client. Claude Desktop and Claude Code configurations are documented by the project. No credential or API key is required.
Optional environment variables can replace service URLs, set the cache directory, control HTTP timeouts, or add a contact value to the User-Agent. These include US_PLACES_OVERPASS_URL, US_PLACES_PLSS_URL, US_PLACES_GNIS_URL, US_PLACES_GNIS_ARCHIVE_URL, US_PLACES_TNM_URL, US_PLACES_DATAVERSE_URL, US_PLACES_CACHE_DIR, US_PLACES_TIMEOUT, and US_PLACES_CONTACT. A .env file is read from the directory where the server starts, and configured URLs must use HTTPS.
Tools and capabilities
- Resolve historical county ownership and county histories.
- Parse and locate PLSS descriptions or derive a PLSS description from a point.
- Identify federal-land status and initial granting records.
- Search current and archived GNIS place names.
- Find historical post offices by name, location, state, county, or year.
- List historical USGS topographic maps and scan links.
- Relate a land patent authority to National Archives records and search arguments.
- Build BLM GLO Records links and inspect cache or downloaded-data status.
Limitations and notes
Results depend on the availability and coverage of the referenced public services and datasets. The post-office data covers 1639–2000, while county boundary coverage spans 1629–2000. A place may be absent from current GNIS but present in the archived dataset. The server does not write to external systems, maintain a family tree, or replace manual review of historical boundary changes. It is an independent project and is not affiliated with the listed data providers.