RMS Location Intelligence MCP Server
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., "@RMS Location Intelligence MCP Serverget earthquake loss cost for 55 Water St, New York"
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.
RMS Location Intelligence MCP Server
MCP server providing access to the Moody's RMS Location Intelligence API for property catastrophe risk analysis.
Overview
This server wraps the RMS Location Intelligence API, offering 114+ data product layers covering:
Earthquake (eq)
Windstorm (ws)
Flood (fl)
Wildfire (wf)
Convective storm (cs)
Winter storm (wt)
Terrorism (tr)
Coverage spans 20+ regions worldwide including US, EU, CA, AU, CN, JP, and more.
Related MCP server: DeepMap AI MCP Server
Project Structure
C:/Users/khano3/li-rms-mcp/
├── server.py # Main FastMCP server (5 tools, 659 lines)
├── layers.py # Layer catalog (114 layers, 210 lines)
├── requirements.txt # Python dependencies
├── .env # API credentials (not committed)
├── .gitignore
├── docs/ # API documentation (53 pages)
└── README.mdAvailable Tools
1. list_layers
Browse the catalog of 114 data product layers by region, peril, or type.
2. geocode
Convert addresses or coordinates to standardized RMS geocodes with location IDs.
3. lookup_layer
Query a single data layer (hazard, loss cost, risk score, etc.) for a location.
4. composite_lookup
Query multiple layers efficiently in a single request.
5. geocode_reference
Access reference data for countries, admin divisions, postal codes, etc.
Layer Types
hazard: Raw hazard metrics (requires location only)
risk_score: Risk scores 0-100 (requires location + building characteristics)
loss_cost: Expected annual loss (requires location + characteristics + coverage values)
mmi: Modified Mercalli Intensity (earthquake only, location only)
depth: Flood depth estimates (location only)
distance: Distance to features (fault, coast, fire station, etc.)
special: Custom data products (varies by layer)
Installation
cd C:/Users/khano3/li-rms-mcp
py -m pip install -r requirements.txtConfiguration
Create .env file (already configured):
LI_API_KEY=YOUR_API_KEY_HERE
LI_BASE_URL=https://api-euw1.rms.comUsage
Start server (stdio)
py server.pyStart server (HTTP)
MCP_TRANSPORT=http PORT=3000 py server.pyExample Workflows
1. Explore available data
list_layers(region="us", peril="eq")
# Returns: us_eq_loss_cost, us_eq_risk_score, us_mmi, us_distance_to_fault2. Geocode an address
geocode(
country_code="US",
street_address="55 Water St",
city="New York",
admin1_code="NY",
postal_code="10041"
)3. Query single layer
lookup_layer(
layer="us_eq_risk_score",
country_code="US",
latitude=40.7028,
longitude=-74.0131,
construction="C1",
occupancy="COM1"
)4. Multi-peril analysis
composite_lookup(
layers=[
{"name": "us_eq_loss_cost"},
{"name": "us_fl_loss_cost"},
{"name": "us_wf_loss_cost"}
],
country_code="US",
latitude=37.7749,
longitude=-122.4194,
construction="W1",
occupancy="RES1",
building_value=500000,
contents_value=250000
)Data Requirements by Layer Type
Layer Type | Location | Characteristics | Coverage Values |
hazard | ✓ | ||
mmi | ✓ | ||
depth | ✓ | ||
distance | ✓ | ||
risk_score | ✓ | ✓ | |
loss_cost | ✓ | ✓ | ✓ |
Characteristics: construction, occupancy, year_built, num_stories Coverage Values: building_value, contents_value, bi_value
Architecture
Pattern: edfx-omar MCP pattern (Python + FastMCP + async httpx)
Transport: stdio (default) or HTTP
Authentication: API key via Authorization header
Credentials: .env file with dotenv
Error handling: httpx automatic retry + raise_for_status()
Response formatting: JSON with 80k char truncation
Development
Git History
1ec7814 feat: add all 5 tools + main block
c035afe feat: server core — auth, body builder, FastMCP instance
6bceae2 feat: add complete layer catalog
43320c9 chore: project scaffoldingTesting
# Verify layer catalog
py -c "import sys; sys.path.insert(0, '.'); from layers import LAYERS; print(f'{len(LAYERS)} layers')"
# Test tool loading
py -c "import sys; sys.path.insert(0, '.'); from server import list_layers; print(list_layers(region='us')[:200])"API Documentation
Full API documentation (53 pages) available in docs/ directory.
Next Steps
Register in
.mcp.jsonSmoke test with Claude
Integration testing with real API calls
Performance optimization if needed
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.
Latest Blog Posts
- 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/omar-k01/li-rms-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server