DEM Terrain Analysis
DEM Terrain Analysis MCP Server
AI-powered terrain analysis using deep learning super-resolution. Analyze any location on Earth for environmental risk, erosion potential, water flow patterns, and more.
Tools
Tool | Description |
| Get Site Intelligence Score and terrain metrics summary for any lat/lon |
| Get full super-resolved DEM + per-cell metric grids |
| Verify the API is running |
Related MCP server: geotap-mcp-server
What it does
Given a latitude/longitude, this MCP server:
Fetches 30m satellite elevation data
Runs AI super-resolution to produce 10m terrain (3× detail enhancement)
Computes 6 terrain analytics metrics including the Site Intelligence Score
Metrics
flow_direction — water drainage direction per cell (D8 algorithm)
flow_accumulation — upstream drainage count
twi — Topographic Wetness Index (saturation tendency)
erosion_risk — soil erosion susceptibility [0-1]
runoff_potential — surface water runoff likelihood [0-1]
site_intelligence_score — composite environmental risk [0-1]
Site Intelligence Score
A composite metric combining TWI, erosion risk, and runoff potential:
0.0–0.2: Low risk
0.2–0.4: Moderate
0.4–0.6: Elevated
0.6–0.8: High
0.8–1.0: Critical
Installation
{
"mcpServers": {
"dem-terrain": {
"command": "uvx",
"args": ["dem-terrain-mcp"]
}
}
}Or run directly:
pip install dem-terrain-mcp
python -m dem_terrain_mcpExample usage
Ask your AI assistant:
"Analyze the terrain at 48.7768, -121.8145 with a 500m bounding box"
Response includes elevation range, Site Intelligence Score with risk level, and all 6 terrain metrics.
Parameters
Parameter | Type | Required | Description |
latitude | float | yes | [-90, 90] |
longitude | float | yes | [-180, 180] |
bbox_size_m | int | no | Bounding box in meters [250-5000], default 500 |
License
Proprietary. The terrain analysis API is a hosted service.
Available Tools
3 toolsanalyze_terrainA
Analyze terrain at a given location and return a Site Intelligence Score summary.
Fetches 30m SRTM elevation data, runs RCAN super-resolution to 10m, and computes terrain analytics. Returns summary statistics (min/max/mean) for all 6 metrics including the Site Intelligence Score.
Args: latitude: Center latitude in decimal degrees [-90, 90] longitude: Center longitude in decimal degrees [-180, 180] bbox_size_m: Bounding box size in meters [250, 5000], default 500
Returns: Summary with elevation range, model info, and terrain analytics summary including site_intelligence_score (0=low risk, 1=critical risk).
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | ||
| longitude | Yes | ||
| bbox_size_m | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description compensates by explaining the internal process: 'Fetches 30m SRTM elevation data, runs RCAN super-resolution to 10m, and computes terrain analytics.' This provides transparency into data sources and processing steps, though it does not cover limitations or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized with a one-sentence summary, then parameter details, and a returns section. It is informative without being overly verbose. The bullet-like listing of metrics could be more concise, but overall it is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 parameters and no output schema, the description covers inputs adequately and gives a summary of outputs including the Site Intelligence Score. However, it lacks specifics on output format or units for metrics, leaving some ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds full semantic meaning to all parameters. It explains latitude/longitude ranges, and for bbox_size_m it specifies units, range, and default. This goes well beyond the schema which only has titles and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Analyze terrain at a given location and return a Site Intelligence Score summary,' specifying both the action and the resource. It mentions the return of a specific score, which helps distinguish it from the sibling tool 'get_full_terrain_data' that likely provides more detailed output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives like 'get_full_terrain_data.' There is no mention of scenarios where this tool is preferred or when it should be avoided, leaving the AI agent without clear decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_api_healthA
Check if the DEM Super-Resolution API is running and ready.
Returns health status, readiness status, and loaded model versions. Use this before running terrain analysis to confirm the server is up.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description covers main behavior (health check, returns status) but lacks details on auth, rate limits, or side effects. Adequate for a simple read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action, returns, and usage hint. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple (0 params, no output schema). Description explains return values and usage context completely. No gaps given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters; schema coverage is 100% trivially. Description adds no param info, which is acceptable given zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it checks if the DEM Super-Resolution API is running and ready, listing specific return values. It distinguishes from sibling tools (terrain analysis) by being a health check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly advises using this before terrain analysis to confirm server up. Suggests context but doesn't explicitly name alternative tools, though siblings are provided in context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_terrain_dataA
Get full super-resolved DEM and terrain metric grids for a location.
Returns the complete per-cell data suitable for map rendering and detailed spatial analysis. Response is large — use analyze_terrain for quick summaries.
Args: latitude: Center latitude in decimal degrees [-90, 90] longitude: Center longitude in decimal degrees [-180, 180] bbox_size_m: Bounding box size in meters [250, 5000], default 500 metrics: List of metrics to compute. Options: flow_direction, flow_accumulation, twi, erosion_risk, runoff_potential, site_intelligence_score, all. Default: all.
Returns: Full sr_dem grid, model info, shapes, and per-cell terrain metric grids.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | ||
| longitude | Yes | ||
| bbox_size_m | No | ||
| metrics | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the response is large and describes what is returned (full sr_dem grid, model info, shapes, per-cell grids). No annotations provided, so description carries full burden; it does not mention auth needs or potential costs, but is still informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise paragraph followed by structured Args and Returns. No wasted words, front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters and no output schema, the description covers purpose, parameters, return value, and usage guidance. No apparent gaps for an agent to understand invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description fully documents all 4 parameters: latitude/longitude with ranges, bbox_size_m with range and default, metrics list with options and default. Adds complete semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool gets full super-resolved DEM and terrain metric grids for a location, and distinguishes itself from sibling 'analyze_terrain' by noting this tool is for detailed spatial analysis vs quick summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: recommends using analyze_terrain for quick summaries when large responses aren't needed. Does not explicitly state when not to use this tool, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
analyze_terrain - First observed
check_api_health - First observed
get_full_terrain_data
TDQS
Each tool serves a distinct purpose: health check, summary analysis, and full data retrieval. No overlap in functionality.
All tool names follow a consistent verb_noun snake_case pattern: analyze_terrain, check_api_health, get_full_terrain_data.
Three tools is reasonable for a focused terrain analysis server, covering health, summary, and full data. Could be expanded but not overly sparse.
The server covers the core workflow: health check, summary analysis, and detailed data retrieval. Missing features like listing available metrics or multiple locations, but not critical.
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 Connectors
Elevation, slope, terrain maps & 3-D surfaces for any site — near-global 30 m, US 10 m, AU/NZ 5 m.
Weather, climate, terrain, fire and flood risk data for any point or polygon on Earth. Free tier.
Verifiable Earth ground truth for AI agents: water, hazard, ground stability, resource, with proof.
Zoning, ADU eligibility, flood zone, setbacks, and buildability intelligence for U.S. parcels.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables advanced geospatial analysis including elevation queries, line-of-sight calculations, terrain visualization, and autonomous drone mission planning with real-time safety analysis and 3D visualization capabilities.MIT
- AlicenseAqualityDmaintenanceollect comprehensive environmental data from 80+ US federal sources (FEMA, EPA, USGS, NOAA, NRCS, USFWS, DOE, DOT, CDC, Census) for any US location. One tool returns flood zones, soils, wetlands, rainfall, water quality, contamination, seismic risk, infrastructure, ecology, energy, and demographics.3126MIT
- AlicenseAqualityDmaintenanceAI-powered property intelligence for instant zoning analysis, buildability assessments, ADU eligibility, flood risk, and development feasibility reports for any US address.51MIT
- FlicenseNot gradedqualityDmaintenanceProperty intelligence API for US real estate. Returns 16+ data points for any US address: noise levels, wetlands, slope, natural light, powerline proximity, crime rates, property facing direction, zoning, public record, radon risk, natural hazards (earthquake, flood, wildfire), neighborhood demographics, falling tree risk, RF/cell tower exposure, and nearby school.-
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/ava11235/terrain-analysis-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server