xyver avatar

DaedalMap Geographic Data and Tools

xyver/daedal-map

Connects Claude to DaedalMap's geospatial query engine over streamable HTTP. Exposes 40+ disaster and indicator datasets including USGS earthquakes (2150 BC to present), NOAA tsunamis, IBTrACS hurricanes, Smithsonian volcanoes, and global wildfire data. Query earthquakes for a region and timeframe, compare population and economic context alongside disaster events, or pull WHO health statistics and UN SDG indicators by country. The server mirrors the hosted runtime's data catalog without requiring local parquet downloads. Useful when you need structured geographic disaster queries in natural language rather than assembling GIS workflows manually. Discovery endpoints work without auth, execution requires API access through the hosted service.

GitHub stars
2
tools
16
transport
HTTP
last updated
Nov 12, 2026

Install

From registry metadata
$ npx add-mcp 'https://app.daedalmap.com/mcp?registry=mcpregistry' --name county-map

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http county-map 'https://app.daedalmap.com/mcp?registry=mcpregistry'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 16 tools

Verified live against the running server on Nov 6, 2026.

get_tool_helpDescribe one tool visible on this facade, including its exact contract, or return a bounded workflow overview for one supported topic.3 params

Describe one tool visible on this facade, including its exact contract, or return a bounded workflow overview for one supported topic.

Parameters* required
questionstring
Optional question used only with a topic overview.
tool_namestring
Exact tool name from tools/list. Do not combine with topic.
topicstring
Workflow overview. Do not combine with tool_name.one of overview · data · disasters · custom_data · geometry
get_catalogChoose data or geometry to list published pack IDs or family and scope IDs. The response includes a complete catalog download URL. Use get_pack for data or get_geography for geometry. Current catalog: The same geography tools work worldwide across a cataloged baseline of 252 g...1 params

Choose data or geometry to list published pack IDs or family and scope IDs. The response includes a complete catalog download URL. Use get_pack for data or get_geography for geometry. Current catalog: The same geography tools work worldwide across a cataloged baseline of 252 g...

Parameters* required
catalog*string
Required directory selector.one of data · geometry
get_packInspect one exact data pack ID for its metrics, time coverage, and query metadata before get_data.1 params

Inspect one exact data pack ID for its metrics, time coverage, and query metadata before get_data.

Parameters* required
pack_id*string
Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change.
get_geographyInspect one published geometry family across scopes or one scope across families. Returns coverage and known editions from catalog metadata only. Optional year selects the latest admitted edition no later than that year when the selected catalog has an edition index; an unavai...3 params

Inspect one published geometry family across scopes or one scope across families. Returns coverage and known editions from catalog metadata only. Optional year selects the latest admitted edition no later than that year when the selected catalog has an edition index; an unavai...

Parameters* required
family_idstring
scope_idstring
yearinteger
get_eventRetrieve one exact disaster event and explicitly requested relationships, affected places, native observations, or geometry. Use get_data to obtain the stable event_id first.8 params

Retrieve one exact disaster event and explicitly requested relationships, affected places, native observations, or geometry. Use get_data to obtain the stable event_id first.

Parameters* required
event_id*string
Exact stable event_id returned by a disaster-pack get_data row.
geometry_modestring
current returns the representative/current shape; timeline returns bounded progression frames where supported.one of current · timelinedefault: current
includearray
Optional companion layers. Omit for the lightweight event summary. Geometry is never returned implicitly.
limitinteger
Per-section ceiling for relationships, affected places, observations, or geometry frames.default: 100
pack_id*string
Required disaster pack_id that returned this event_id from get_data. The tool never searches other packs.
relationship_depthinteger
Bounded cross-hazard traversal depth when relationships is included.default: 1
request_idstring
Optional caller-supplied request id for tracing.
source_id*string
Required source_id from the same get_data result. Must identify one published event source in pack_id.
resolve_pointResolve WGS84 coordinates in exactly one selected scope and family. GLOBAL administrative finds Admin0; an ISO3 administrative scope finds its shallow country bank. MARINE requires one specific jurisdiction family (for example exclusive_economic_zone or high_seas), or water_bo...8 params

Resolve WGS84 coordinates in exactly one selected scope and family. GLOBAL administrative finds Admin0; an ISO3 administrative scope finds its shallow country bank. MARINE requires one specific jurisdiction family (for example exclusive_economic_zone or high_seas), or water_bo...

Parameters* required
batch_idstring
Optional caller-supplied batch id echoed for point arrays.
familystring
One exact family within the selected scope.one of administrative · exclusive_economic_zone · territorial_seas · contiguous_zones · extended_continental_shelves · internal_waters
latnumber
Latitude in WGS84 decimal degrees.
lonnumber
Longitude in WGS84 decimal degrees.
pointsarray
Bounded WGS84 point array. Use top-level lat/lon instead for one point.
request_idstring
Optional caller-supplied request id for tracing.
scope_idstring
GLOBAL, MARINE, or one published ISO3 country. No automatic fallback into another scope.
water_kindstring
Required only for MARINE water_body: named seas or water zones.one of named · zone
resolve_bboxCompare one non-wrapping rectangular WGS84 viewport with the published Global administrative spine through Admin 2. Supply its four corners. Returns the best equal-area overlap plus nearby matches at each level and their shares of the viewport and loc_id. Large views may requi...2 params

Compare one non-wrapping rectangular WGS84 viewport with the published Global administrative spine through Admin 2. Supply its four corners. Returns the best equal-area overlap plus nearby matches at each level and their shares of the viewport and loc_id. Large views may requi...

Parameters* required
corners*array
Four distinct corners of one axis-aligned rectangle; no antimeridian crossing.
request_idstring
Optional caller-supplied tracing ID.
resolve_deep_bboxSecond-pass rectangle overlap within one returned shallow administrative loc_id. Routes to that country's one Admin 1-owned exact partition and compares its Admin 1-6 spine. Supply the original four WGS84 corners; broad views may require zooming in.3 params

Second-pass rectangle overlap within one returned shallow administrative loc_id. Routes to that country's one Admin 1-owned exact partition and compares its Admin 1-6 spine. Supply the original four WGS84 corners; broad views may require zooming in.

Parameters* required
corners*array
Four distinct corners of one axis-aligned rectangle; no antimeridian crossing.
request_idstring
Optional caller-supplied tracing ID.
shallow_loc_id*string
One canonical Admin 1-3 loc_id from the shallow result; its Admin 1 owner selects one deep partition.
resolve_deep_pointSecond-pass containment only after resolve_point. Supply the original WGS84 coordinate or a bounded point array, one shared shallow_loc_id returned by resolve_point, and one canonical family from get_catalog(catalog='geometry'). family defaults to administrative; shape-backed...8 params

Second-pass containment only after resolve_point. Supply the original WGS84 coordinate or a bounded point array, one shared shallow_loc_id returned by resolve_point, and one canonical family from get_catalog(catalog='geometry'). family defaults to administrative; shape-backed...

Parameters* required
batch_idstring
Optional caller-supplied batch id echoed for point arrays.
familystring
One family selector. Defaults to administrative; use marine for the direct Marine resolver, or a canonical country family such as postal_area, watershed, or land_management_region.default: administrative
latnumber
Latitude in WGS84 decimal degrees.
lonnumber
Longitude in WGS84 decimal degrees.
pointsarray
Points already known to fall within the supplied shallow_loc_id scope.
request_idstring
Optional caller-supplied request id for tracing.
shallow_loc_id*string
The deepest canonical Admin 1-3 loc_id returned by resolve_point, such as USA-NY-061-009903.
target_admin_levelvalue
Optional exact Admin 4-6 level. Omit for the deepest available match.
get_loc_id_infoLook up one known loc_id or a small batch in the selected reference graph. Return its identity and directly recorded loc_id connections, with family, direction, and relationship evidence. Each ID returns at most 50 connections and an explicit has_more flag. This tool does not...4 params

Look up one known loc_id or a small batch in the selected reference graph. Return its identity and directly recorded loc_id connections, with family, direction, and relationship evidence. Each ID returns at most 50 connections and an explicit has_more flag. This tool does not...

Parameters* required
batch_idstring
Optional caller-supplied batch id for tracing.
loc_idstring
DaedalMap loc_id, e.g. 'USA-CA'.
loc_idsarray
Up to 10 known loc_ids, including a resolve_point stack.
request_idstring
Optional caller-supplied request id for tracing.
identify_dataset_geographyFast structural column selector: pass bounded named columns to find recognized geography headers or latitude/longitude pairs. It does not infer a country, level, or identifier system, open country indexes, or validate values. If more than one column is plausible, select one; t...4 params

Fast structural column selector: pass bounded named columns to find recognized geography headers or latitude/longitude pairs. It does not infer a country, level, or identifier system, open country indexes, or validate values. If more than one column is plausible, select one; t...

Parameters* required
columns*array
Structurally filtered columns with deterministic representative scalar values. Do not pre-label their geographic system.
country_scopestring
Optional caller-declared ISO3 country, passed through to the selected column.
dataset_contextobject
request_idstring
identify_reference_systemIdentify one selected identifier column within one required ISO3 country, GLOBAL, or MARINE scope. Pass bounded strings preserving leading zeros. It checks maintained identifier evidence, not dataset columns or polygons. Ambiguous systems stay unselected until expected.system...7 params

Identify one selected identifier column within one required ISO3 country, GLOBAL, or MARINE scope. Pass bounded strings preserving leading zeros. It checks maintained identifier evidence, not dataset columns or polygons. Ambiguous systems stay unselected until expected.system...

Parameters* required
country_scope*string
Required single ISO3 country, GLOBAL, or MARINE scope. Missing scope fails before identifier reads.
dataset_contextobject
Bounded, non-row dataset clues used to rank plausible interpretations without replacing exact identifier verification.
expectedobject
identifierstring
One geography identifier to inspect.
identifiersarray
A bounded representative identifier sample. Duplicate values are checked once. Values must be strings so leading zeros are preserved.
request_idstring
Optional caller-supplied request id for tracing.
validation_scopestring
Describes whether the bounded input is a sample or, only when it fits the identification cap, the complete distinct-key set. This tool validates every supplied identifier; create_conversion_job val...one of sample · all_distinct_identifiers
convert_referenceConvert within one declared scope per call: iso3 is required and names one ISO3 country, GLOBAL, or MARINE. A batch uses one from_system, to_system, and crosswalk_id, with at most 25000 requested result rows. Convert X -> loc_id -> Y; omit to_system to enter the loc_id univers...15 params

Convert within one declared scope per call: iso3 is required and names one ISO3 country, GLOBAL, or MARINE. A batch uses one from_system, to_system, and crosswalk_id, with at most 25000 requested result rows. Convert X -> loc_id -> Y; omit to_system to enter the loc_id univers...

Parameters* required
admin_level_hintinteger
Optional admin-level hint for admin/name resolution.
as_ofstring
ISO date or year used for time-bounded identities.
batch_idstring
Optional caller-supplied batch id for tracing.
country_hintstring
Optional country hint for admin/name resolution (USA), or a subdivision to search within (USA-OR). Names may also carry their parent: 'Washington County, Oregon'. Ambiguous names return candidates...
crosswalk_idstring
Exact published crosswalk ID when the source/target system pair has multiple artifacts. A route ambiguity error lists valid IDs.
from_systemstring
Input reference system, such as admin_boundary (admin and city names; admin_text and place_name are accepted aliases), zip, overlay_zcta, nws_fire, tribal, or loc_id.
iso3string
Required scope pack for the entire call: one ISO3 country, GLOBAL, or MARINE. Every item must stay within this scope.
itemsarray
Reference conversions within one scope and one source/target/crosswalk route. Split mixed routes. Maximum requested item count times per-item limit is 25000.
limitinteger
Maximum ranked output references to return. Default 10.
min_sharenumber
Optional minimum overlap share threshold.
relationship_vintagestring
Optional source relationship vintage to require.
request_idstring
Optional caller-supplied request id for tracing.
target_admin_levelvalue
Admin level used as the intermediate crosswalk target. Default admin_2.
to_systemstring
Optional output reference system. Defaults to DaedalMap loc_id; provide zcta, nws_fire, overlay_nws_public_zone, overlay_tribal, admin_local, or another catalog system for any-to-any conversion.default: daedalmap.loc_id
valuestring
Identifier or name in the input system, for example 'Springfield, Illinois' with admin_boundary.
compare_geographiesCompare two known loc_ids using selected reference-graph identity and direct relationship evidence. Verified Admin ancestry can prove containment; a typed graph edge can prove only the relation it declares. An explicit negative edge returns no_overlap; a missing edge returns u...9 params

Compare two known loc_ids using selected reference-graph identity and direct relationship evidence. Verified Admin ancestry can prove containment; a typed graph edge can prove only the relation it declares. An explicit negative edge returns no_overlap; a missing edge returns u...

Parameters* required
as_ofstring
ISO date or year applied to both identities.
batch_idstring
Optional caller-supplied batch id for tracing.
include_successorsboolean
Include direct successors and present-day descendants for maintained historical identities. Default true.
itemsarray
Bounded geography pairs to compare in one call.
left_as_ofstring
Optional ISO date or year for the left identity; overrides as_of.
left_loc_idstring
First DaedalMap loc_id.
request_idstring
Optional caller-supplied request id for tracing.
right_as_ofstring
Optional ISO date or year for the right identity; overrides as_of.
right_loc_idstring
Second DaedalMap loc_id.
get_shapeShape lookup for exact existing loc_ids only. The default returns shape availability, centroid, and bounding box; include_polygon=true adds GeoJSON coordinates. Obtain any descendant IDs before this call. Historical geometry is returned first and successors are never substitut...5 params

Shape lookup for exact existing loc_ids only. The default returns shape availability, centroid, and bounding box; include_polygon=true adds GeoJSON coordinates. Obtain any descendant IDs before this call. Historical geometry is returned first and successors are never substitut...

Parameters* required
batch_idstring
Optional caller-supplied batch id for tracing.
include_polygonboolean
When true, include the full GeoJSON geometry. Default false.
loc_idstring
DaedalMap loc_id, such as USA-CA-037, USA-Z-00601, USA-NWSFZ-AKZ317, EEZ-USA, or IHO1953-240001002.
loc_idsarray
Exact DaedalMap loc_ids to fetch in one call. Default public cap is deployment-configurable and lower when include_polygon is true.
request_idstring
Optional caller-supplied request id for tracing.
get_dataRetrieve rows from one selected published data pack using exact metrics, loc_id-based region filters, time/metric filters, sorting, and a row limit. Disaster event rows include stable event_id values for get_event drill-down. A parent administrative loc_id selects matching des...7 params

Retrieve rows from one selected published data pack using exact metrics, loc_id-based region filters, time/metric filters, sorting, and a row limit. Disaster event rows include stable event_id values for get_event drill-down. A parent administrative loc_id selects matching des...

Parameters* required
filters*object
limitinteger
Maximum number of rows to return for the requested source or pack.
metrics*array
Exact metric ids from get_pack. Use event_count for aggregate counts only when get_pack publishes it.
outputobject
Optional response controls. v1 supports rows only.
pack_id*string
Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change.
request_idstring
Optional caller-supplied request id for tracing and idempotency.
sortvalue
Sort by a sortable field from get_pack; direction defaults to asc.

Sponsors

Readme

DaedalMap

Bring your data. Connect its geography.

DaedalMap is geographic interoperability infrastructure: a loc_id identity model, versioned boundary geometry, published crosswalks between geography systems, and maintained data packs. Resolve coordinates and reference codes to administrative matches, pull compatible shapes and data, and follow crosswalks into other systems such as census tracts, postal areas, watersheds, and electoral districts.

Use it through a remote MCP server, an HTTP API, a map app, downloadable files, or this repository, which is the open runtime behind all of them.

Website | App | Agent docs | Geometry | Data packs | Downloads | Convert a file | llms.txt

Connect an agent

The hosted MCP server needs no install or account for discovery:

https://app.daedalmap.com/mcp?registry=github

Claude Code:


View the full README on GitHub

Details

Repository
github.com/xyver/daedal-map
Website
www.daedalmap.com
Category
Data & Analytics
Transport
HTTP
Registry
MCP registry, active
Resources
28
Prompts
3
Tools verified
Nov 6, 2026

More from xyver

Related Data & Analytics MCP servers

View all
1cyanheads avatarFbi Crime Mcp Servercyanheads/fbi-crime-mcp-serverFBI Crime Data Explorer — offense rates, hate crime, arrests, NIBRS, LEOKA stats, agency search.2stars
2cyanheads avatarNonprofit Explorer Mcp Servercyanheads/nonprofit-explorer-mcp-serverMCP server for nonprofit financials via ProPublica: IRS Form 990 data for 1.8M+ nonprofits.2stars
3rapiercraft avatarMcp Serverrapiercraft/alterlab-mcp-serverWeb scraping MCP server — scrape, extract structured data, screenshot any site with anti-bot bypass.2stars
4slookisen avatarFinn Tannlege Mcpslookisen/lokalNorwegian dental clinic MCP: more than 4,500 clinics with Helfo, specialty and emergency care data.0stars
5lukisch avatarBACH CodeCommanderlukisch/bach-codecommander-mcp17 tools for code analysis, JSON repair, encoding fix, format conversion, diff, and regex.2stars
6malkreide avatarSbb Opendata Mcpmalkreide/sbb-opendata-mcpSBB Open Data via OpenDataSoft2stars