- Add BLMAPIError exception with user-friendly error messages - Rename is_public to allows_public_access with correct logic (BIA/DOD are federal but restricted, not public access) - Add MIT license - Expand pyproject.toml with URLs, keywords, classifiers - Rewrite README with badges, use cases, coverage map, examples
mcblmplss
MCP server for querying U.S. public land data by coordinates.
Drop a pin anywhere in the western U.S. and instantly get:
- PLSS location — Section 12, Township 4N, Range 6E
- Land manager — BLM, Forest Service, National Park, Private, etc.
- Mining claims — Active lode/placer claims with serial numbers
When would I use this?
| Use Case | What you get |
|---|---|
| Dispersed camping | Check if land is BLM/Forest Service before setting up camp |
| Land research | Get legal descriptions for title searches or due diligence |
| Prospecting | Find existing mining claims before staking your own |
| Navigation | Convert GPS coordinates to the township/range system used on paper maps |
| GIS workflows | Programmatic access to BLM cadastral data |
Installation
pip install mcblmplss
Or run directly without installing:
uvx mcblmplss
Add to Claude Code
claude mcp add blm "uvx mcblmplss"
Tools
get_plss_location
Convert coordinates to Section/Township/Range.
> get_plss_location(latitude=40.0, longitude=-105.0)
Section 9, Township 1N, Range 68W, 6th Meridian
State: CO
PLSS ID: CO060010S0680W0SN090
get_land_manager
Find out who manages the land (and whether you can access it).
> get_land_manager(latitude=38.5, longitude=-110.5)
Bureau of Land Management (BLM) - Department of the Interior
Unit: Bureau of Land Management
State: UT
Status: Federal, Public access
> get_land_manager(latitude=40.0, longitude=-105.0)
Private (PVT)
State: CO
get_mining_claims
Find active mining claims at a location.
> get_mining_claims(latitude=39.5, longitude=-117.0)
Found 42 mining claim(s):
MAGA #6
Serial: NV105221817
Type: Lode Claim
Status: Active
Acres: 20.66
MS 2
Serial: NV105223666
Type: Lode Claim
Status: Active
Acres: 20.66
...
Coverage
Data is available for 30 states where the Public Land Survey System was used:
Not covered: Eastern seaboard states (use metes-and-bounds), Texas (independent surveys), Hawaii.
Error Handling
The server returns clear error messages when:
- Outside PLSS coverage: "No PLSS data found. Location may be outside surveyed areas."
- API timeout: "BLM API request timed out. The service may be slow or unavailable."
- No mining claims: "No mining claims found at this location."
Data Sources
All data comes from official BLM ArcGIS REST services:
| Data | Source | Update Frequency |
|---|---|---|
| PLSS | BLM National PLSS CadNSDI | Quarterly |
| Surface Management | BLM SMA | Annual |
| Mining Claims | BLM MLRS | Weekly |
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
Languages
Python
100%