mcp-server-blm-mlrs
Enables querying and retrieving details of U.S. BLM geothermal leases from the MLRS database, including search and single-lease lookup.
README
mcp-server-blm-mlrs
An MCP server for the BLM MLRS Geothermal Leases dataset.
It exposes tools that query the U.S. Bureau of Land Management (BLM) Mineral & Land Records System (MLRS) geothermal leases ArcGIS FeatureServer and returns clean, structured lease data to any MCP client (Claude Desktop, etc.).
Data source
BLM National MLRS Geothermal Leases FeatureServer:
https://gis.blm.gov/nlsdb/rest/services/HUB/BLM_Natl_MLRS_Geothermal_Leases/FeatureServer/0
Tools
get_lease_details(case_number)
Retrieve full details for a single lease by its BLM case serial number.
case_number— BLM case serial number, e.g.'NVNV105806473'.
Returns a dict of lease details (case name, type, status, state, acreage, commodity, formation, production status, effective/expiration/sale dates, data source), or an error message if not found.
search_leases(state, status, effective_date_from, effective_date_to, expiration_date_from, expiration_date_to)
Search leases with optional filters. All parameters are optional; if none are given, all leases are returned (capped at 50 records).
| Parameter | Field | Description |
|---|---|---|
state |
ADMIN_STATE |
Two-letter admin state code, e.g. 'NV' |
status |
CSE_DISP |
Case disposition/status, e.g. 'Authorized' |
effective_date_from |
EFF_DT |
Inclusive lower bound, ISO date 'YYYY-MM-DD' |
effective_date_to |
EFF_DT |
Inclusive upper bound, ISO date 'YYYY-MM-DD' |
expiration_date_from |
EXP_DT |
Inclusive lower bound, ISO date 'YYYY-MM-DD' |
expiration_date_to |
EXP_DT |
Inclusive upper bound, ISO date 'YYYY-MM-DD' |
Returns {"count": <int>, "leases": [ {lease summary}, ... ]}, or an error message on failure.
Installation
Requires Python >= 3.11.
uv sync
Running
By default the server runs over stdio, suitable for local MCP clients:
uv run python -m geothermal_leases.app
If a PORT (or DATABRICKS_APP_PORT) environment variable is set, it instead serves over HTTP on that port:
PORT=8000 uv run python -m geothermal_leases.app
A health check is available at GET /health when running over HTTP.
Configuring an MCP client
Example entry for a client that launches MCP servers over stdio:
{
"mcpServers": {
"geothermal-leases": {
"command": "uv",
"args": ["run", "python", "-m", "geothermal_leases.app"],
"cwd": "/path/to/mcp-server-blm-mlrs"
}
}
}
Project layout
src/geothermal_leases/
├── app.py # FastMCP server entrypoint (stdio / HTTP)
├── routes.py # Custom HTTP routes (health check)
└── tools/
├── __init__.py # Tool registration
├── _blm.py # Shared BASE_URL + date helpers
├── get_lease_details.py # get_lease_details tool
└── search_leases.py # search_leases tool
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.