DaedalMap Population Estimates
Server Details
Global population estimates from WorldPop, 2000-2030, at country and sub-national levels.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- xyver/daedal-map
- GitHub Stars
- 2
- Server Listing
- daedal-map
TDQS
Scored across 4 tools
Each tool has a distinct role: get_catalog lists packs, get_pack returns one pack's metadata, get_tool_help explains MCP facade tools, and query_dataset executes data queries. There is no meaningful overlap between list, detail, help, and query actions.
Three tools use the clear get_<noun> pattern, and query_dataset is another verb_noun imperative. The only minor deviation is switching from get_ to query_, but the naming remains predictable and consistent in style.
Four tools are well-scoped for the discovery-and-query workflow of a data-pack MCP server: catalog, pack details, tool guidance, and dataset querying. No tool feels redundant, and the count is comfortably within the ideal range.
The server covers the full read-only lifecycle: discover available packs, inspect a pack's metadata and usage, understand the query contract, and run a dataset query. No obvious operation is missing for its stated purpose.
Available Tools
4 toolsget_catalogGet CatalogARead-onlyInspect
Free discovery. Returns the list of live agent-ready data packs available on DaedalMap.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's focus on 'Returns the list' does not contradict that or add much beyond the annotation. The phrase 'live agent-ready data packs' adds context about what data is available, but does not disclose additional behavioral traits such as pagination, rate limits, or response structure.
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 a single, clear sentence that communicates purpose and key context ('Free discovery', 'live agent-ready data packs') without wasted words. It is appropriately sized for the tool's simplicity.
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?
For a parameterless, read-only listing tool, the description adequately states what it returns and the domain (DaedalMap). There is no output schema, but the return type ('list') is stated. Combined with the sibling context, this is sufficient for an agent to select and invoke the tool correctly.
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?
The tool has zero parameters, so the description does not need to explain parameter semantics. The schema already documents this fully (schema description coverage 100%), and the baseline for zero-parameter tools is 4.
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 uses a specific verb ('Returns') and resource ('list of live agent-ready data packs available on DaedalMap'), clearly distinguishing it from siblings like get_pack and query_dataset. The 'Free discovery' phrase clarifies it's a zero-cost listing operation.
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 implies use for discovering available data packs ('Free discovery'), but does not explicitly state when to use this tool versus alternatives like get_pack or query_dataset. It provides some contextual hint but lacks explicit when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_packGet PackARead-onlyInspect
Free discovery. Returns detailed metadata, coverage, freshness, preferred canonical tool guidance, and first-query examples for one pack. Call this before querying a new pack so you can see time shape, coverage limits, and the paste-ready first query.
| Name | Required | Description | Default |
|---|---|---|---|
| pack_id | Yes | Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers the safety profile, and the description adds useful context about what will be returned (metadata, coverage, freshness, examples). It does not disclose any additional behavioral traits such as rate limits, authentication needs, or side effects, but none appear necessary for this read-only discovery 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?
The description is compact, well-structured, and front-loaded with the core purpose ('Free discovery'). Each sentence contributes value: the first states what it returns, the second tells when and why to call it.
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 a single parameter, full schema coverage, and a read-only annotation, the description provides enough context for correct invocation. It explains the output categories and the recommended usage scenario, though it stops short of detailing exact return fields or potential edge cases.
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 100%, so the schema already documents pack_id sufficiently. The description adds context that the pack is identified from get_catalog, but does not meaningfully extend the parameter semantics beyond what the schema provides.
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 the tool returns detailed metadata, coverage, freshness, canonical tool guidance, and first-query examples for one pack. It distinguishes itself from the sibling get_catalog by emphasizing 'one pack' and positioning itself as a pre-query discovery step.
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 gives explicit guidance to call this tool before querying a new pack, explaining the value (time shape, coverage limits, paste-ready first query). It does not explicitly mention alternatives or when not to use it, but the directive is clear and contextually sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tool_helpGet Tool HelpARead-onlyInspect
Free blind-caller guidance for one tool visible on this MCP facade. Returns when to use it, what it refuses, a working example, effective access limits, important outputs, provenance fields, recommended next calls, and the shared natural-language-to-strict-JSON interaction contract. Use tools/list to discover names, then call this before an unfamiliar tool.
| Name | Required | Description | Default |
|---|---|---|---|
| tool_name | Yes | Exact tool name from tools/list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description reveals the tool returns refusals, access limits, provenance fields, and a shared interaction contract. This provides substantial insight into the tool's behavior and the nature of its responses.
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 two sentences with no filler. It front-loads the purpose, then lists specific output types and usage instructions, achieving maximum information density.
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?
For a single-parameter tool with readOnlyHint and no output schema, the description covers purpose, usage context, input source, and the types of information returned. It is comprehensive and leaves no critical gaps.
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?
The input schema already fully documents the sole parameter, tool_name, specifying it must be an exact name from tools/list. The description reinforces this workflow but adds no additional semantic detail beyond what the schema already covers.
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 the tool's purpose: providing guidance for using another tool on the MCP facade. It enumerates specific outputs (when to use, refusals, example, limits, etc.), making it distinct from sibling data-access tools.
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 provides explicit usage guidance: call this before working with an unfamiliar tool, and use tools/list to discover tool names. It lacks an explicit statement of when not to use it, but the context strongly implies it is only for unfamiliar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_datasetQuery DatasetARead-onlyInspect
Generic structured query for direct source_id or pack_id access using the same contract as POST /api/v1/query/dataset. Free packs: currency, distributed_manufacturing, floods, nri, owid, un_sdg, un_wpp, volcanoes, world_bank_wdi. Paid packs: earthquakes, hurricanes, tornadoes, tsunamis, wildfires, world_factbook, worldpop (x402 Base USDC).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Optional sort instructions for row-returning queries. | |
| limit | No | Maximum number of rows to return for the requested source or pack. | |
| output | No | Optional output controls such as response format hints. | |
| filters | No | Structured filters including time, region_ids, and compare clauses. | |
| metrics | No | Metric ids to return. Use event_count for aggregate counts when supported. | |
| pack_id | No | Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change. | |
| source_id | No | Concrete source id such as 'earthquakes_events', 'volcanoes_events', 'hurricanes_events', or 'un_sdg/01'. | |
| request_id | No | Optional caller-supplied request id for tracing and idempotency. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this as a read-only operation, so the description's burden is lower. It adds a reference to the API contract but does not disclose potential side effects, limitations, or response behavior beyond what annotations already cover. This is adequate but not exceptional.
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 a single, dense sentence that front-loads the main purpose and then lists relevant packs. It is efficient with no fluff, though the enumeration of pack names adds length. Overall it is well-structured and to the point.
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 8 parameters including nested objects and no output schema, the description does not explain the response format or how to structure complex queries. It references the API contract as a hint, but that is indirect. The schema covers parameters, yet the overall contextual completeness for an agent would benefit from a brief note on expected return behavior.
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 100%, so all 8 parameters are already well-described in the input schema. The tool description adds little beyond the schema, offering only examples of source IDs and pack names. Since the schema carries the explanatory weight, the baseline score of 3 applies.
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 it is a generic structured query for direct source_id or pack_id access, referencing the same contract as POST /api/v1/query/dataset. This distinguishes it from siblings like get_catalog (metadata) and get_pack (pack info) because it is the data-retrieval tool.
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 that this tool is for querying data directly by source or pack ID, and lists the available free and paid packs. However, it does not explicitly exclude alternatives or state when to use get_catalog/get_pack instead, so it falls short of full 'when-not-to-use' guidance.
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.
2 tool updates
- Changed
get_pack1 field changed- changed
Input schema / properties / pack_id / descriptionPrevious value: -"Pack identifier such as 'currency', 'earthquakes', 'floods', 'hurricanes', 'tornadoes', 'tsunamis', 'un_sdg', 'volcanoes', 'world_factbook', or 'worldpop'."New value: +"Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change."
- Changed
query_dataset1 field changed- changed
Input schema / properties / pack_id / descriptionPrevious value: -"Pack identifier such as 'currency', 'earthquakes', 'floods', 'hurricanes', 'tornadoes', 'tsunamis', 'un_sdg', 'volcanoes', 'world_factbook', or 'worldpop'."New value: +"Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change."
1 tool update
- Added
get_tool_help
2 tool updates
- Changed
get_pack1 field changed- changed
Input schema / properties / pack_id / descriptionPrevious value: -"Pack identifier such as 'currency', 'earthquakes', 'volcanoes', 'tsunamis', 'hurricanes', 'un_sdg', 'world_factbook', or 'worldpop'."New value: +"Pack identifier such as 'currency', 'earthquakes', 'floods', 'hurricanes', 'tornadoes', 'tsunamis', 'un_sdg', 'volcanoes', 'world_factbook', or 'worldpop'."
- Changed
query_dataset1 field changed- changed
Input schema / properties / pack_id / descriptionPrevious value: -"Pack id such as 'currency', 'earthquakes', 'volcanoes', 'tsunamis', 'hurricanes', 'un_sdg', 'world_factbook', or 'worldpop'."New value: +"Pack identifier such as 'currency', 'earthquakes', 'floods', 'hurricanes', 'tornadoes', 'tsunamis', 'un_sdg', 'volcanoes', 'world_factbook', or 'worldpop'."
3 tool updates
- First observed
get_catalog - First observed
get_pack - First observed
query_dataset
Related MCP Connectors
Global flood events and extent 1985-present from the Dartmouth Flood Observatory and GFD.
Query UN population data: fertility, mortality, migration, life expectancy for 298 countries.
Facility-level industrial pollutant releases across 33 European countries (official E-PRTR data).
Global tsunami events from NOAA NCEI, 2000 BC-present: wave height, runups, and counts.
Related MCP Servers
- AlicenseAqualityAmaintenanceCite-able, content-addressed, signed memory of every place on Earth1656Apache 2.0
- FlicenseNot gradedqualityCmaintenanceMCP server for querying the CONAPESCA historical fishing landings database (2001–2026) from Mexico's Pacific and Gulf coasts, providing tools to extract and analyze standardized landing records (avisos de arribo).-
- AlicenseAqualityAmaintenanceUK property area intelligence: validated trajectory scores, gentrification early-warning and area screening for 2,292 England & Wales postcode districts, from 30+ government data sources.7MIT
- AlicenseAqualityCmaintenanceIntelligence data concerning behavioral population habits.6MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.