Castlemap MCP server

MCP serverSearch

Give your AI a searchable collection of 2,400 castles, fortresses, and palaces. Once added, it can look places up by name, find ones near a location, rank them by fame, and pull statistics. No key or sign-up is needed, and the data is released under CC0.

Use Castlemap MCP server in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Castlemap MCP server and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use Castlemap MCP server to search castles

Details

Available today. Use it from your connected AI after setup.

Add it, then ask your AI to look up a castle by name or list well-known ones near a place you have in mind.

Castlemap MCP serverStart free

What your AI can do with it

  • Search the collection by castle name
  • Find castles, fortresses, and palaces near a location
  • Rank castles by how famous they are
  • Get statistics across the 2,400 entries

Install Castlemap MCP server

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user castlemap-mcp-server 'https://thecastlemap.com/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://thecastlemap.com/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=castlemap-mcp-server&config=eyJ1cmwiOiJodHRwczovL3RoZWNhc3RsZW1hcC5jb20vbWNwIn0=

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://thecastlemap.com/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add castlemap-mcp-server --url 'https://thecastlemap.com/mcp'

    Run it once, then sign in with codex mcp login castlemap-mcp-server if the server asks for an account.

From the project's README

As published by flightmussy/castlemap-mcp in README.md.

A Model Context Protocol server for the Castlemap atlas: 7,786 castles, fortresses, palaces and ruins across 141 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 141 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 (concept DOI 10.5281/zenodo.21322359, which always resolves to the newest version).

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 flightmussy 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.

Tools it offers (7)

What this server listed when Ahel dialed its public endpoint in Sep 2026, with no key and no account of yours. The names are the server’s own.

  • search_castles
  • get_castle
  • castles_near
  • top_castles
  • list_countries
  • get_statistics
  • random_castle

Signals

GitHub stars
1
Last commit
Aug 2026
Advanced
Delivery
castles MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
com-thecastlemap-castles
Source
github.com/flightmussy/castlemap-mcp
Hosted endpoint
https://thecastlemap.com/mcp