landbenchmark-mcp
by winds3753
README.md
# landbenchmark-mcp
An [MCP](https://modelcontextprotocol.io) server that lets AI agents run **satellite land due-diligence** through [LandBenchmark](https://www.landbenchmark.com). It exposes one tool, `analyze_parcel`, that returns a green / caution / walk-away verdict with cited signals (flooding, slope & buildability, soil, hazards, access) for any parcel.
## Why
When someone asks their AI assistant *"is this land any good to buy?"*, the agent can call LandBenchmark and answer with observed, cited satellite data instead of guessing.
## Setup
1. Get an API key at [landbenchmark.com/account](https://www.landbenchmark.com/account) → **API keys**.
2. Add the server to your MCP client config:
```json
{
"mcpServers": {
"terrain": {
"command": "npx",
"args": ["-y", "landbenchmark-mcp"],
"env": {
"TERRAIN_API_KEY": "tk_live_...",
"TERRAIN_BASE_URL": "https://www.landbenchmark.com"
}
}
}
}
```
**Both env vars are required.** (`TERRAIN_*` is the internal engine name — LandBenchmark runs on the Terrain analysis engine.) `TERRAIN_BASE_URL` has no default on purpose: every request sends your API key to that host in an `Authorization` header, so the server refuses to start rather than guess where it goes. It also refuses to send a key over plain `http://` to anything but `localhost`.
Works with any MCP-capable client — Claude Desktop, Claude Code, and agent frameworks.
## Tool: `analyze_parcel`
| Param | Type | Notes |
|---|---|---|
| `lat`, `lon` | number | Parcel centre (WGS84). Provide these **or** `geometry`. |
| `geometry` | GeoJSON | Polygon or Point (alternative to lat/lon). |
| `label` | string | Optional parcel name. |
| `mode` | `"lite"` \| `"full"` | `lite` (default) ≈ 1 min; `full` = deep multi-year satellite report ≈ 3–4 min. |
Returns a plain-text verdict summary with the flagged signals and a link to the full report.
## Build
```sh
npm install
npm run build # → dist/index.js
npm test # verifies the API-key safety guard
```
## Links
- Product: <https://www.landbenchmark.com>
- API & MCP docs: <https://www.landbenchmark.com/developers>
> Informational only — not a survey, flood determination, or a substitute for on-site inspection and professional advice.
TDQS
A4/5.0
Scored across 1 tool
Disambiguation5/5
There is only one tool, so an agent cannot confuse it with another. No ambiguity exists.
Naming Consistency5/5
With a single tool, naming is trivially consistent. The name 'analyze_parcel' is clear and follows a verb_noun pattern.
Tool Count3/5
One tool is borderline thin for typical server scopes, but it serves a specific analysis purpose. The count is acceptable but feels minimal.
Completeness4/5
The tool covers a broad set of due-diligence signals (flooding, slope, soil, hazards, access, land use) in a single call. Missing batch or persistence features, but the core analysis is comprehensive.
Maintenance
ActivitySlowing
ResponsivenessNo issues