A side-by-side look at the US Places, Then and Tomtom MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose US Places, Then for location services work as a local process; choose Tomtom for location services as a local process. You can also run both side by side in one mcpServers block.
county_at, county_history, parse_legal_description.geocode, search_poi, reverse_geocode.Rows where the two servers differ are marked.
| Spec | U US Places, Then | |
|---|---|---|
| Category | Location Services | Location Services |
| Quality signal | 53/100 · Good | 59/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 0 |
| Directory activity | 0 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 12 | 4 |
| Full listing | View US Places, Then | View Tomtom |
county_atThe county (or counties) that held a point on a date: a day, a month or a year. Returns the holder, its dates, the event and statute that made it, the whole chain of counties for that spot, changes within a year (check those by hand), and whether two governments contested it.county_historyEvery version of one county: created when, from what, and each later change, with statutes.parse_legal_descriptionRead a land description, however it is written (`E½NE`, `E2NE`, `E 1/2 NE 1/4`, "the east half of the northeast quarter", GLO's padded `0840N`, lots, several tracts), into its parts, with quarter-quarters and warnings for anything guessed. Offline.plss_locatePlace a description on the map: centroid, bounding box, acreage and BLM's ids, to the township, section, quarter-quarter or lot.plss_from_pointName the survey tract at a point: township, range, section and quarter-quarter.public_land_stateWas this state federal land? If not, who granted first title and where those records are; if so, its meridians and special cases. Offline.find_place_nameA named place in GNIS: its point, class, state and county. Searches the live GNIS and, given a state, the archive of August 2021 that keeps the cemeteries, churches, schools, post offices and buildings GNIS dropped that year; says which answered.post_officesWhich US post offices existed, 1639-2000: by name, by state and today's county, or around a point, and in a given year. Each with its years, whether it ran continuously, and its point if it was geocoded.historical_topo_mapsEvery USGS topographic map covering a point, oldest first: date, scale and quadrangle, with GeoPDF, GeoTIFF and JPEG preview links, and a TopoView link for JPEG and KMZ.find_land_entry_fileFrom a patent's Authority: the kind of entry, what its file holds, which National Archives series has it, ready-made arguments for nara-catalog-mcp's `search_records_advanced`, and how to order the file if it is not online. Offline.glo_linksA link to a search, or to one record, on BLM's General Land Office Records site, for you to open. Offline.cache_statusThis session's live calls and cache hits, and the datasets downloaded so far. Offline.geocodeGeocoding: convert an address, place name, or free-text location query into geographic coordinates (latitude/longitude). Returns formatted address, country, lat, lon, type, and match score. Example: geocode({ query: "350 5th Ave, New York" })search_poiSearch for points of interest (POIs) — businesses, landmarks, restaurants, gas stations, etc. — by name or category, optionally near a lat/lon center within a radius. Returns name, category, address, coordinates, phone, url, and distance. Example: search_poi({ query: "coffee", lat: 40.748, lon: -73.985, radius: 1000 })reverse_geocodeReverse geocoding: convert latitude/longitude coordinates into a human-readable street address. Returns the freeform address, country, municipality, street name, postal code, and position. Example: reverse_geocode({ lat: 40.748, lon: -73.985 })routeTraffic-aware routing / directions: calculate the best route between two points and return distance plus travel time computed with live traffic. Reports traffic delay so you get realistic ETAs, not free-flow estimates. Supports car, truck, pedestrian, and bicycle travel modes. Example: route({ from_lat: 40.748, from_lon: -73.985, to_lat: 40.689, to_lon: -74.044 })Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"us-places-then": {
"command": "uvx",
"args": [
"us-places-mcp"
]
}
}
}
{
"mcpServers": {
"tomtom": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-tomtom"
]
}
}
}