land-intelligence
Provides a governed analytical layer over DuckDB, enabling LLM-driven research on land development optionality with tools for comparing counties, ranking optionality, explaining parcel scores, and evaluating signals.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@land-intelligenceCompare county-level land optionality and infrastructure proximity"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Land Intelligence Research MCP
Can an AI research analyst reason about land without inventing the evidence?
Land Intelligence Research MCP is an independent research prototype exploring how governed analytics and Model Context Protocol (MCP) can support research on land development optionality.
The project is motivated by a broader research interest in land economics, energy and infrastructure development, and long-duration land stewardship. It asks:
How should landowners, investors, and developers reason about development optionality when a parcel has simultaneous economic, infrastructure, and environmental value?
The current implementation focuses on development optionality screening using a deterministic synthetic dataset. It combines parcel characteristics, infrastructure proximity, land-use constraints, and synthetic outcomes into a governed analytical layer that an LLM can access through MCP tools.
Research disclaimer: This repository uses synthetic data and transparent screening heuristics for research and demonstration purposes. Optionality scores are not appraisals, forecasts, causal estimates, probabilities of development, or investment recommendations.
Why this project
A common failure mode in AI analytics is allowing the language model to become the analytics engine: it reads raw files, writes ad hoc queries, silently changes definitions, and produces numbers that are difficult to govern or reproduce.
This project takes a different approach:
flowchart TD
Q["Research question"] --> S["LLM selects an MCP tool"]
subgraph DET["Deterministic system — Python + DuckDB (server.py)"]
direction TB
V["Validated structured arguments<br/>(MCP typed interface)"] --> D["Governed DuckDB query / scoring<br/>(PARCEL_FEATURE_SQL)"]
D --> R["Structured JSON result"]
end
S --> V
R --> I["LLM interprets the result for the user"]
style DET fill:#eef3fb,stroke:#2a78d6,stroke-width:1pxEverything inside the shaded box is deterministic, governed, and identical across every conversation. Only tool selection, argument phrasing, and result interpretation are left to the LLM. See docs/ARCHITECTURE.md for the full diagram and docs/CODE_WALKTHROUGH.md for exactly where that boundary sits in code.
The LLM is responsible for reasoning. The analytical layer is responsible for quantitative evidence.
If the MCP does not expose evidence needed to answer a question, the desired behavior is to surface the analytical gap rather than bypass the system or invent a result.
Related MCP server: real-estate-ai
Research lenses
The same governed evidence can support different decisions depending on the stakeholder.
Institutional landowner / TIMO-style owner
A long-duration owner may ask which assets have meaningful development optionality, whether optionality is broad or concentrated, and which assets warrant strategic diligence before a hold, sale, lease, entitlement, or development-partnership decision.
Investor / capital allocator
An investor may ask where diligence or capital should be deployed, whether optionality is already reflected in current-use value, and what underwriting evidence is still missing.
Developer
A developer may ask which parcels deserve deeper feasibility work and whether favorable infrastructure-proximity signals survive parcel-level physical constraints.
MCP analytical surface
The server exposes five governed tools. All four data-bearing tools call the same underlying parcel_scores() function, so there is exactly one definition of optionality_signal behind every one of them:
Tool | Inputs | Analytical operation | Output |
| none | returns a static, hand-maintained list | supported research questions + scope note |
|
| groups | per-county screening summary |
|
| sorts | top-N parcels with score + feature columns |
|
| looks up one row of | that parcel's score, positive features, and constraints |
| none | joins | decile table + top-vs-bottom conversion-rate lift |
See docs/CODE_WALKTHROUGH.md for the full per-tool detail, including limitations of each.
It also exposes:
Resource:
research://catalogPrompt:
land_research_investigation
Data model
The project ships with six deterministic synthetic relational tables:
counties
|
+----< parcels ----< transactions
| |
| +---- parcel_infrastructure ----> infrastructure
| |
| +---- development_outcomes
|
+----< infrastructureThe synthetic fixture is reproducible with seed 42. A manifest and SHA256 checksums are included.
Optionality signal
The optionality score is a transparent screening heuristic that incorporates signals such as parcel acreage, zoning, slope, flood risk, wetland share, and proximity to substations, transmission, fiber, highways, and data-center infrastructure.
The score is intentionally not framed as a valuation or predictive probability.

Each parcel's score is a weighted decomposition of ten features — see the formula decomposition for a representative parcel and the county-level comparison in docs/CODE_WALKTHROUGH.md for the full breakdowns.
The evaluate_optionality_signal tool checks whether the score separates synthetic development outcomes by score decile. This is useful for testing the research workflow, but it is not evidence of real-world predictive validity.

The two panels above are deliberately plotted separately, not on a shared or dual axis: optionality_signal (left) and observed_conversion_5yr (right) come from two independent formulas — one deterministic, one a stochastic draw from a separate synthetic data-generating process — and the chart is not meant to imply they are the same quantity. See why this isn't circular validation in docs/CODE_WALKTHROUGH.md.
Local setup
Recommended prerequisites:
Python 3.11+
uvClaude Code if you want to test the LLM + MCP workflow
From the repository root:
python3.11 scripts/preflight.pyThen launch MCP development mode:
./scripts/run_mcp_dev.shRegister with Claude Code:
./scripts/register_claude.shThen:
claudeInside Claude:
/mcpApprove land-intelligence if prompted.
Example agent prompt
Act as a research analyst supporting a long-duration institutional landowner.
Use the land-intelligence MCP as your only quantitative data and analytics interface. Do not inspect the underlying CSVs, database, SQL, Python files, manifests, or other repository artifacts directly.
Determine which markets and parcels appear to have the strongest development optionality, what evidence supports that conclusion, and what evidence should make the investment team cautious.
Every material numerical claim should come from an MCP tool result. If an important question cannot be answered through the current MCP analytical surface, identify the gap rather than bypassing the MCP or guessing.See PROMPTS.md for additional investor, developer, red-team, and cross-stakeholder prompts.
Broader research direction
The current implementation focuses on development optionality and infrastructure/land constraints.
Future research could extend into power-market and interconnection data, zoning and entitlement histories, development comps, lease and option structures, conservation easements, habitat quality and fragmentation, biodiversity constraints, carbon and natural-capital economics, water availability, NPV / IRR scenarios, and spatial portfolio optimization.
Habitat preservation is part of the broader research motivation, but the current synthetic model should not be interpreted as a habitat-quality model.
Independence and attribution
This is an independent research project. It was informed by public research into institutional land ownership and firms working at the intersection of land, infrastructure, energy, and long-duration asset management.
It is not affiliated with, endorsed by, or representative of any specific company, investment manager, developer, landowner, or data provider. All included datasets and outcomes are synthetic.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceOpen-source MCP server providing real estate regulatory intelligence (zoning, permits, entitlements, deal scoring) for US properties, enabling AI agents to access 10 callable tools.1211MIT
- AlicenseAqualityCmaintenanceEnables AI-powered real estate analysis with built-in EU AI Act compliance, providing a production-ready MCP server for property insights and governance.1MIT
- FlicenseNot gradedqualityCmaintenanceEnables portfolio risk assessment, sentiment analysis, and investment recommendations via MCP tools.
- FlicenseNot gradedqualityCmaintenanceRead-only MCP server providing direct, credentialed access to parcel data via Regrid and county ArcGIS sources, with tools for querying by point, owner, size, and county.
Related MCP Connectors
AI research on companies and industries — one MCP tool per research domain.
Knowledge coverage map and health score. Ingest docs into a governed knowledge graph via MCP.
530 MCP tools across 561 fintech tools: ChainGraph AP2 decisions, execution_hash. Zero PII.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/maevelynz/land-intelligence-research-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server