Skip to main content

Model Context Protocol server for Township America — PLSS and Texas TXSS tools for AI agents

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

townshipamerica_mcp-1.0.3.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

townshipamerica_mcp-1.0.3-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

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

Hashes for townshipamerica_mcp-1.0.3.tar.gz
Algorithm Hash digest
SHA256 3d07461a5b938ff6c056f975159114160fd8f6a20a59a93dc264ff8e675a0d28
MD5 9906c0fe38cd689fd543c02cdcc45e7f
BLAKE2b-256 73db0325e82204503d4d9c3896e17c08771e40d8c8f012a5bc3a8384ff9dbd78

See more details on using hashes here.

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

Hashes for townshipamerica_mcp-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b029ff5aac412444d908583803b34ec0d0c12bfca7627c76b08fd5c62caf9592
MD5 9278ac8b83f9d345c5767f850323e13a
BLAKE2b-256 1a949ea856f2cd08a54a694e63029340f398eebccddd39c655b8b0941511e3d4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page