Model Context Protocol server for Township America — PLSS and Texas TXSS tools for AI agents
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file townshipamerica_mcp-1.0.3.tar.gz.
File metadata
- Download URL: townshipamerica_mcp-1.0.3.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d07461a5b938ff6c056f975159114160fd8f6a20a59a93dc264ff8e675a0d28
|
|
| MD5 |
9906c0fe38cd689fd543c02cdcc45e7f
|
|
| BLAKE2b-256 |
73db0325e82204503d4d9c3896e17c08771e40d8c8f012a5bc3a8384ff9dbd78
|
File details
Details for the file townshipamerica_mcp-1.0.3-py3-none-any.whl.
File metadata
- Download URL: townshipamerica_mcp-1.0.3-py3-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 3
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b029ff5aac412444d908583803b34ec0d0c12bfca7627c76b08fd5c62caf9592
|
|
| MD5 |
9278ac8b83f9d345c5767f850323e13a
|
|
| BLAKE2b-256 |
1a949ea856f2cd08a54a694e63029340f398eebccddd39c655b8b0941511e3d4
|