mcp-server-blm-mlrs

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.

Category
Visit Server

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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured