Skip to main content

townshipamerica-mcp

PyPI License: MIT

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)

Source distribution for townshipamerica-mcp 1.0.3
File Size Uploaded
townshipamerica_mcp-1.0.3.tar.gz 14.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for townshipamerica-mcp 1.0.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page