Ryan Malloy 97bf173fd0 Add batch PLSS queries with optional county validation
- get_plss_details_batch: query multiple coordinates in parallel
- Census TIGERweb integration for county lookups (layer 82)
- Returns unique_townships for discovering T/R combinations in a grid
- County data useful for validating sample points fall within expected area

Version bump to 2026.01.25
2026-01-25 13:04:54 -07:00

mcblmplss

PyPI version Python versions License: MIT

MCP server for querying U.S. public land data by coordinates.

Drop a pin anywhere in the western U.S. and get comprehensive land data:

Category What you get
PLSS Location Section 12, Township 4N, Range 6E, Principal Meridian
Land Manager BLM, Forest Service, NPS, Private, State, Tribal
Mining Claims Active lode/placer claims with serial numbers
Grazing Allotments Livestock grazing permits and acreage
Wild Horses Herd Management Areas with population data
Recreation Sites Campgrounds, trailheads, boat launches
Wilderness Areas Designated Wilderness & Study Areas (WSAs)
Wild Rivers Wild & Scenic River segments
ACECs Areas of Critical Environmental Concern

When would I use this?

Use Case Tools to use
Dispersed camping get_land_manager — Check if it's BLM/USFS public land
Trip planning get_recreation_sites — Find nearby campgrounds and trailheads
Land research get_plss_location — Get legal descriptions for title searches
Prospecting get_mining_claims — Check existing claims before staking
Ranching get_grazing_allotment — Research grazing permit areas
Wildlife viewing get_wild_horse_herd — Find wild horse/burro areas
Backcountry planning get_wilderness_area — Identify wilderness regulations
River trips get_wild_river — Check Wild & Scenic River status
Conservation research get_acec — Find protected environmental areas

Installation

pip install mcblmplss

Or run directly:

uvx mcblmplss

Add to Claude Code

claude mcp add blm "uvx mcblmplss"

Tools (19 total)

Each data type has two tools: a human-readable version and a _details version returning structured data.

Plus a batch tool for efficient multi-coordinate queries.

PLSS — Public Land Survey System

> get_plss_location(40.0, -105.0)

Section 9, Township 1N, Range 68W, 6th Meridian
State: CO
PLSS ID: CO060010S0680W0SN090

Batch PLSS Queries

Query multiple coordinates in parallel with optional county validation:

> get_plss_details_batch(
    coordinates=[[44.5, -115.8], [44.6, -115.9], [44.7, -116.0]],
    include_county=True
  )

{
  "results": [
    {
      "latitude": 44.5,
      "longitude": -115.8,
      "township": {"township": "13N", "range": "5E", ...},
      "section": {"section": "30", ...},
      "county": {"name": "Valley County", "fips": "16085", ...}
    },
    ...
  ],
  "total": 3,
  "successful": 3,
  "failed": 0,
  "unique_townships": ["13N 5E", "14N 4E"]
}

The unique_townships field is useful for discovering which Township/Range combinations exist within a sampling grid.

County data comes from Census TIGERweb (layer 82), not BLM PLSS. Use include_county=True when you need to validate that sampled points fall within an expected county.

Land Manager — Surface Management Agency

> get_land_manager(38.5, -110.5)

Bureau of Land Management (BLM) - Department of the Interior
Unit: Bureau of Land Management
State: UT
Status: Federal, Public access

Mining Claims

> get_mining_claims(39.5, -117.0)

Found 42 mining claim(s):

MAGA #6
  Serial: NV105221817
  Type: Lode Claim
  Status: Active
  Acres: 20.66

Grazing Allotments

> get_grazing_allotment(40.0, -117.0)

AUSTIN (#10004)
State: Nevada
Admin Unit: MOUNT LEWIS FIELD OFFICE
Acres: 245,420
Managing Number: NV10004

Wild Horses & Burros

> get_wild_horse_herd(40.0, -117.5)

Augusta Mountains (NV0311)
State: Nevada
Type: Horse
Acres: 177,570
Horse AML: 185-308
Estimated Population: 475 (154% of AML)
Last Inventory: 2015-01-01

Recreation Sites

> get_recreation_sites(38.9, -111.2)

Found 3 recreation site(s):

Rochester Panel
  Type: Facility
  Reservable: No
  Phone: 435-636-3600
  https://www.blm.gov/visit/search-details/257016/1

Wilderness & WSAs

> get_wilderness_area(38.4, -110.9)

Middle Wild Horse Mesa
  Status: Designated Wilderness
  State: Utah
  NLCS ID: NLCS000885
  Designated: 3/12/2019

Wild & Scenic Rivers

> get_wild_river(42.5, -123.5)

Rogue River
  Classification: Recreational
  State: Oregon
  NLCS ID: NLCS000836

ACECs — Areas of Critical Environmental Concern

> get_acec(35.0, -117.0)

Superior-Cronese
  State: California
  Protected Values: Natural Process, Natural System, Wildlife
  Acres: 518,461
  Land Use Plan: CDCA Plan, as amended by DRECP
  Designated: 9/14/2016

Coverage

Data is available for 30 states where the Public Land Survey System was used:

PLSS Coverage

Not covered: Eastern seaboard states (metes-and-bounds), Texas (independent surveys), Hawaii.

Data Sources

All data comes from official government ArcGIS REST services (BLM + Census TIGERweb):

Data Source Typical Update
PLSS BLM National PLSS CadNSDI Quarterly
County Census TIGERweb Annual
Surface Management BLM SMA Annual
Mining Claims BLM MLRS Weekly
Grazing BLM Grazing Allotment Annual
Wild Horses BLM WHB Annual
Recreation BLM RIDB Nightly
Wilderness BLM NLCS WLD/WSA As designated
Wild Rivers BLM NLCS WSR As designated
ACEC BLM ACEC As designated

Disclaimer: This data is for informational purposes only. For legal land descriptions, consult official BLM records or a licensed surveyor.

Development

git clone https://git.supported.systems/MCP/mcblmplss.git
cd mcblmplss
uv sync
uv run mcblmplss

License

MIT

Description
No description provided
Readme MIT 84 KiB
Languages
Python 100%