TTokenySpace
返回 MCP 列表

MCP server for the Castlemap atlas — 2,400 castles, fortresses and palaces from Wikidata. Hosted, no API key: https://thecastlemap.com/mcp

0JavaScriptv1.0.2远程托管更新于 2026/7/22
GitHub
0

远程接入地址

https://thecastlemap.com/mcp

介绍

2,400 castles, fortresses & palaces: name search, nearby, fame ranking, statistics. No key, CC0.

README

Castlemap MCP server

A Model Context Protocol server for the Castlemap atlas: 2,400 castles, fortresses and palaces across 131 countries, with coordinates, founding dates, categories, fame ranking and Wikipedia summaries.

It is already running. Point a client at the hosted endpoint — there is no install, no signup and no API key:

https://thecastlemap.com/mcp

Streamable HTTP, stateless, POST-only (a GET returning 405 is correct). Protocol revisions 2025-06-18 and 2025-03-26 are accepted.

Client configuration

{
  "mcpServers": {
    "castles": {
      "type": "http",
      "url": "https://thecastlemap.com/mcp"
    }
  }
}

Registry entry: com.thecastlemap/castles.

Tools

ToolWhat it does
search_castlesFind castles by name, country or category
get_castleFull record for one castle
castles_nearNearest castles to a coordinate (haversine); geocode first
top_castlesBest-known castles, by fame rank
list_countriesThe 131 countries, with counts
get_statisticsLive aggregates — totals, per-country, per-century
random_castleOne castle at random

Data

Derived from Wikidata, with summaries from Wikipedia and images from Wikimedia Commons. The atlas is curated rather than exhaustive: it covers castles with a documented history, a real photo and exact coordinates, not every earthwork and ruin.

The factual records are released as CC0 and downloadable as GeoJSON and CSV from thecastlemap.com/data — also mirrored on GitHub, Hugging Face, Kaggle and Zenodo (DOI 10.5281/zenodo.21322360).

Running it yourself

server.mjs has zero dependencies — no SDK, no node_modules. It needs Node 18+ and a castles.geojson to read (download one from /data):

CASTLES_GEOJSON=/path/to/castles.geojson PORT=8891 node server.mjs

It binds 127.0.0.1:8891 by default; HOST, PORT and CASTLES_GEOJSON override that. The file is re-read when its mtime changes (throttled to 60s), so updating the data needs no restart.

castlemap-mcp.service is the systemd unit used in production — loopback-bound, DynamicUser, ProtectSystem=strict, with nginx terminating TLS in front. Set ExecStart to your own node path and ReadOnlyPaths/CASTLES_GEOJSON to wherever the data lives.

Provenance

Built by Alban Zaja with AI assistance: the concept, direction and review are mine; much of the implementation was written with Claude. The underlying data is not generated — it comes from Wikidata, and every record is traceable to its Wikidata item.

License

Code: MIT (see LICENSE). Data: CC0. Wikipedia summary text remains CC BY-SA and is attributed per record.

评论

加载中…

同类推荐