For agents, LLMs & developers
MCP & API
Schwarzplan.eu makes its plans and free geodata available programmatically – as lean JSON APIs, as an llms.txt index and via the Model Context Protocol (MCP). This lets AI agents and LLMs query, cite and process the catalogue and geodata directly.
Endpoints
Machine-readable list of all plans with coordinates, city, country, scale, formats, layers, price and URL. Paginate via ?per_page=N.
Index of all free city, country and continent outlines with direct GeoJSON and SVG URLs.
Model Context Protocol over Streamable HTTP, JSON-RPC 2.0, no sign-in. Six tools: search_plans, get_plan, search_outlines, get_pricing, find_parcel, setback_rules.
Compact, link-oriented Markdown index of the key resources in the llmstxt.org format – for assistants like ChatGPT, Claude and Perplexity.
Example
# Fetch first 20 plans
curl "https://schwarzplan.eu/wp-json/sp/api/plans?per_page=20"
# All free outlines (cities / countries / continents)
curl "https://schwarzplan.eu/wp-json/sp/api/outlines"
Model Context Protocol (MCP)
The Model Context Protocol is an open standard through which AI assistants connect external tools. Our server runs at the address above — stateless, no sign-up, no key. The catalogue tools read the same catalogue as the JSON endpoints; find_parcel and setback_rules read the German cadastre and the state building codes.
Tools
search_plans
Searches plans by city, country or region. Returns title, location, scale, formats, price and URL.
get_plan
Everything about one plan: scale, layers, formats, price, coordinates, description.
search_outlines
Searches the free outlines and returns direct GeoJSON and SVG URLs.
get_pricing
Pricing model: single plan, bundle, Access All Plans, free plans, licence scope.
find_parcel
Cadastral parcel at an address or coordinate in Germany: parcel ID, district, area, boundary as GeoJSON, attribution and order link.
setback_rules
Setback distances under the state building code: factor, minimum depth and required depth for a wall height, with legal reference.
Setup
{
"mcpServers": {
"schwarzplan": {
"type": "http",
"url": "https://schwarzplan.eu/wp-json/sp/mcp/v1"
}
}
}
In clients that expect only a server URL (ChatGPT and Claude connectors), the address on its own is enough.
Example: parcel for an address
curl "https://schwarzplan.eu/wp-json/sp/mcp/v1" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_parcel","arguments":{"address":"Bundeskanzlerplatz 2, Bonn"}}}'
Parcels: find_parcel covers 15 German states from the official cadastre (ALKIS, open data, attribution per state in every answer). Bavaria does not publish parcel data. Not an official extract. At most 60 lookups per hour and IP – if you need more, write to us.
Licence & use
Country outlines: Natural Earth (public domain). City outlines: derived from OpenStreetMap (ODbL – attribution & share-alike). Continent outlines: our own stylised shapes.
The paid plans themselves are subject to their respective product licence. The endpoints sit behind a server cache; when using them automatically please stay fair and cache responses yourself rather than polling tightly.