About areaguide
areaguide is a forwarding client for the ikeytz maps read/link service, covering a locksmith site's service areas, places, geographic and page data, and link composition. It keeps no maps logic of its own and passes tool calls to the upstream service.
Key features
- 01Expose captured upstream tool list
- 02Forward tool calls to upstream
- 03Query service areas and places
- 04Access geographic and page data
- 05Compose contact links
- 06Provide CLI subcommands
Use cases
- 01Look up a locksmith service area
- 02Find places by geographic or postal data
- 03Retrieve site page or business information
- 04Compose telephone, WhatsApp or email links
MCP support
areaguide serves as an MCP server locally and forwards tool calls to the ikeytz maps MCP endpoint. Upstream results pass through unchanged.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
68Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | Maximum items or lines to return after offset. Omit = all remaining in the window (subject to tool-specific clamps). For geo near-search default is often 5 without radius_km, up to 52 with radius. |
| fields | string | No | Optional field filter: comma-separated names or array. Keeps envelope keys (ok, tool, summary, canonicalUrl, attribution, locale, related, count, total, offset, limit, compact) plus listed fields. Example: slug,name,plz,lat,lng. |
| locale | enum | No | maps is German-only (de). Omit or pass de. Other values are ignored; URLs stay https://maps.ikeytz.com/… with no locale prefix. Not a www multi-locale switch — use @ikeytz/mcp list_locales on www for en|fr|ru|fa|ar|tr.de |
| offset | integer | No | 0-based index into a list or discovery file lines (split on \n). 0 = first. Omit = 0. Combine with limit to page. Use nextOffset / offset+limit from a previous result when present. |
Details
From the project READMEareaguide
A forwarding client for the ikeytz maps read/link service — the public, read-only service behind a Ludwigsburg locksmith's service-area site. It covers service areas, places, geo and page data, and link composers for that site.
areaguide contains no maps logic of its own. It serves tools/list
locally from a verbatim capture of the upstream server's 68 tools
(name, title, description and inputSchema; the capture's outputSchema
fields and annotations are not reproduced), and forwards every
tools/call to the upstream endpoint. Upstream results pass through
unchanged; a failed hop comes back as an areaguide error: ... text
result with isError set.
Upstream
- Default endpoint:
https://maps.ikeytz.com/mcp - Override: set
IKEYTZ_MAPS_MCP_URLto another streamable-HTTP MCP endpoint. (The override is a reconstruction; the default endpoint is the pinned one.) - No account and no API key are needed.
- The forwarding hop runs
initialize(protocolVersion2025-03-26, clientInfoareaguide/0.1.0), thennotifications/initialized, thentools/call, and honours anMcp-Session-Idheader when the upstream issues one. Replies may be plain JSON or server-sent events.
CLI usage
npx @reneturcios/areaguide get_service_area '{"slug":"ludwigsburg"}'
npx @reneturcios/areaguide list_service_areas '{}'
npx @reneturcios/areaguide --version
Each tool subcommand takes a single JSON argument string, forwards the call and prints the result as JSON. Exit codes: 0 success, 1 a forwarded-call error, 2 usage error.
MCP usage
npx @reneturcios/areaguide mcp
MCP client config:
{
"mcpServers": {
"areaguide": {
"command": "npx",
"args": ["-y", "@reneturcios/areaguide", "mcp"]
}
}
}
Unknown tool names, and arguments that are not a JSON object, are
rejected locally with InvalidParams before any network hop.
Docker
docker run -i ghcr.io/cloudcorprecords/areaguide # stdio MCP server (CMD defaults to "mcp")
docker run --rm ghcr.io/cloudcorprecords/areaguide get_service_area '{"slug":"ludwigsburg"}'
Tools (68)
list_service_areas, get_service_area, get_ort_datetime,
get_geo_office, get_contact, get_discovery, get_llms_mcp_server,
get_llms_mcp_web, find_by_keyword, find_by_serp,
get_serp_snippet, find_by_plz, find_by_geo, find_by_icbm,
find_by_gebiet, find_by_area, list_slugs, list_plz, get_hub,
get_embed_map, get_geo_api, get_grenze, get_grenze_koordinaten,
get_lage, get_geschichte, distance_to_office, resolve_maps_url,
find_by_google_maps, get_legal, get_urheberrecht, get_copyright,
get_impressum, get_agb, get_nutzungsbedingungen, get_datenschutz,
get_widerruf, site_overview, get_business_identity, list_nav,
list_footer, list_locales, resolve_locale_url, get_prices,
get_invoice_line_items, list_services, get_emergency,
list_auswahl, get_auswahl_item, get_about, get_partner_info,
get_links, get_review_url, list_faq, get_faq, list_wissen,
get_wissen_entry, list_ratgeber, get_ratgeber, get_page_summary,
get_ai_page, get_llms_txt, get_ai_txt, get_sitemap_txt,
list_whatsapp_options, compose_tel_mobile, compose_tel_landline,
compose_whatsapp, compose_mailto.
Development
npm install
npm run build # tsc -> dist/ (dist/cli.js is the bin)
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # tsx src/cli.ts
License
MIT — Copyright (c) 2026 Rene Turcios.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.