townshipamerica-mcp
Model Context Protocol (MCP) server that exposes Township America's PLSS and Texas TXSS conversion tools to AI agents — Claude, ChatGPT, Cursor, GitHub Copilot, Windsurf, or any MCP-compatible client.
Also includes a Python client (TownshipMCPClient) for scripts and notebooks, backed by the townshipamerica SDK.
API Documentation · GitHub · PyPI · npm (Node)
Requires a Pro+ subscription ($99/mo) for bundled API access.
Installation
pip install townshipamerica-mcp
Requires Python 3.10+.
Quick Start
Set your API key (generate at app.townshipamerica.com/settings/api-keys):
export TOWNSHIP_AMERICA_API_KEY="ta_…"
Tools
| Tool | Description |
|---|---|
plss_to_coordinates |
Convert a PLSS or Texas TXSS description to GPS |
coordinates_to_plss |
Reverse-lookup coordinates to a legal description |
plss_to_geojson |
Return the tract polygon/multipolygon as GeoJSON |
validate_description |
Validate and normalize locally (PLSS + TXSS, no API) |
batch_convert |
Convert up to 100 descriptions in one request |
autocomplete |
Suggestions for partial PLSS or TXSS input (max 10) |
Coverage: 30 PLSS states, 37 principal meridians, and all 254 Texas counties (TXSS). Powered by BLM CadNSDI V2 and Texas GLO survey data.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"townshipamerica": {
"command": "townshipamerica-mcp",
"env": {
"TOWNSHIP_AMERICA_API_KEY": "ta_…"
}
}
}
}
Restart Claude Desktop to apply.
Cursor / VS Code / Continue
{
"mcpServers": {
"townshipamerica": {
"command": "townshipamerica-mcp",
"env": { "TOWNSHIP_AMERICA_API_KEY": "ta_…" },
},
},
}
Stdio (any MCP client)
TOWNSHIP_AMERICA_API_KEY=ta_… townshipamerica-mcp
Environment variables
| Variable | Default | Purpose |
|---|---|---|
TOWNSHIP_AMERICA_API_KEY |
(required) | Your Pro+ API key (preferred) |
TA_API_KEY |
— | Legacy alias for TOWNSHIP_AMERICA_API_KEY |
TOWNSHIP_AMERICA_BASE_URL |
https://developer.townshipamerica.com |
Override the API endpoint |
MCP_LOG_LEVEL |
INFO |
Log level for stderr |
Quota
Pro+ bundled API access: 1,000 search calls/month. If exceeded, tools return a clear quota message with upgrade guidance. Visit townshipamerica.com/pricing.
Python client
For programmatic use without an MCP host:
from townshipamerica_mcp import TownshipMCPClient
client = TownshipMCPClient(api_key="ta_…")
result = client.plss_to_coordinates("NW 25 24N 1E 6th Meridian")
print(result.lat, result.lng)
v = client.validate_description("NW 25 24N 1E 6th Meridian")
print(v.valid, v.normalized)
batch = client.batch_convert(["NW 25 24N 1E 6th Meridian", "SE 12 4N 5E Boise Meridian"])
print(batch.converted, batch.failed)
For full SDK features (async, GeoPandas-friendly models), use pip install townshipamerica.
Exceptions
| Exception | Trigger |
|---|---|
AuthenticationError |
Invalid or missing API key |
QuotaExceededError |
Rate limit / quota exceeded |
NotFoundError |
Location not in PLSS database |
ValidationError |
Malformed request |
TownshipMCPError |
Base class / other errors |
License
MIT — see LICENSE.
Metadata
Release files for townshipamerica-mcp 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| townshipamerica_mcp-1.0.3.tar.gz | 14.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| townshipamerica_mcp-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.8 kB
Release files / townshipamerica_mcp-1.0.3.tar.gz
| Download URL | townshipamerica_mcp-1.0.3.tar.gz |
|---|---|
| Size | 14.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d07461a5b938ff6c056f975159114160fd8f6a20a59a93dc264ff8e675a0d28
|
|
BLAKE2b-256 checksum How to use checksums |
73db0325e82204503d4d9c3896e17c08771e40d8c8f012a5bc3a8384ff9dbd78
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.17.0 {"ci":true,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.13"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.13","system":{"name":"Linux","release":"6.17.0-1018-azure"}} HTTPX2/2.4.0
|
Release files / townshipamerica_mcp-1.0.3-py3-none-any.whl
| Download URL | townshipamerica_mcp-1.0.3-py3-none-any.whl |
|---|---|
| Size | 14.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b029ff5aac412444d908583803b34ec0d0c12bfca7627c76b08fd5c62caf9592
|
|
BLAKE2b-256 checksum How to use checksums |
1a949ea856f2cd08a54a694e63029340f398eebccddd39c655b8b0941511e3d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.17.0 {"ci":true,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.13"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.13","system":{"name":"Linux","release":"6.17.0-1018-azure"}} HTTPX2/2.4.0
|