mcblmplss/README.md
Ryan Malloy 0ef2c70af4 Add Surface Management Agency and Mining Claims tools
Refactor to use FastMCP mixin pattern for composable tools:
- PLSSMixin: Section/Township/Range queries
- SurfaceManagementMixin: Land manager (BLM, USFS, NPS, Private, etc.)
- MiningClaimsMixin: Active/closed mining claims from MLRS

Shared BLM API client handles identify/query operations against
multiple ArcGIS REST endpoints.
2025-12-03 15:31:17 -07:00

99 lines
2.5 KiB
Markdown

# mcblmplss
FastMCP server for querying BLM (Bureau of Land Management) land data by coordinates.
## Features
- **PLSS** - Public Land Survey System (Section, Township, Range)
- **Surface Management** - Who manages the land (BLM, Forest Service, NPS, Private, etc.)
- **Mining Claims** - Active and closed mining claims from MLRS database
## Installation
```bash
# Run directly with uvx
uvx mcblmplss
# Add to Claude Code
claude mcp add blm-land "uvx mcblmplss"
```
## Tools
### PLSS (Public Land Survey System)
| Tool | Description |
|------|-------------|
| `get_plss_location` | Get Section/Township/Range as human-readable text |
| `get_plss_details` | Get full PLSS data as structured object |
```
> get_plss_location(40.0, -105.0)
Section 9, Township 1N, Range 68W, 6th Meridian
State: CO
PLSS ID: CO060010S0680W0SN090
```
### Surface Management Agency
| Tool | Description |
|------|-------------|
| `get_land_manager` | Determine who manages the land |
| `get_land_manager_details` | Get full SMA data as structured object |
```
> 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 land
```
### Mining Claims
| Tool | Description |
|------|-------------|
| `get_mining_claims` | Find mining claims at/near location |
| `get_mining_claims_details` | Get full claim data as structured objects |
```
> get_mining_claims(39.5, -117.0)
Found 42 mining claim(s):
MAGA #6
Serial: NV105221817
Type: Lode Claim
Status: Active
Acres: 20.66
...
```
## Coverage
Data available for **30 western/midwestern states** where federal land surveys were conducted. Not available for eastern seaboard states or Texas (different survey systems).
## Data Sources
All data queried from official BLM ArcGIS REST services:
- [BLM National PLSS](https://gis.blm.gov/arcgis/rest/services/Cadastral/BLM_Natl_PLSS_CadNSDI/MapServer)
- [Surface Management Agency](https://gis.blm.gov/arcgis/rest/services/lands/BLM_Natl_SMA_LimitedScale/MapServer)
- [Mining Claims (MLRS)](https://gis.blm.gov/nlsdb/rest/services/Mining_Claims/MiningClaims/MapServer)
## Architecture
Uses FastMCP's mixin pattern for composable tool modules:
```
src/mcblmplss/
├── server.py # Main FastMCP server
├── client.py # Shared BLM API client
└── mixins/
├── plss.py # PLSS tools
├── surface_management.py # SMA tools
└── mining_claims.py # Mining claims tools
```