Index / MCP servers / ikeytz

ikeytz MCP server

ikeytz is a remote MCP server that gives an AI agent 45 tools, among them compose_mailto, compose_tel_landline, compose_tel_mobile. It answers at https://www.ikeytz.com/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 15 of 15 times since 2 September 2026; the last check, on 19 October 2026, succeeded.

Status
Answering
Tools
45
Official
yes, served from ikeytz.com
Reliability
15 of 15 checks
Response time
151 ms
Transport
streamable HTTP
Last checked
19 October 2026

MCP server at www.ikeytz.com, verified by introspection: 45 tools exposed.

Description as the publisher wrote it.

The 45 tools ikeytz offers

ToolWhat it does
compose_mailtoWHAT: mailto:[email protected] with the SAME prefab as compose_whatsapp (subject+body). option = contactOption of one of the 10 end-invoices, or cylinder_mount, or beratung. Call with {} → beratung (empty advice template), not a bare mailbox
Inputs: option
compose_tel_landlineWHAT: tel: href for the landline (Festnetz). Call with {}. Mobile/24h emergency = compose_tel_mobile.
compose_tel_mobileWHAT: tel: href for the 24/7 mobile (Handy). Call with {}. RETURNS href and canonicalUrl both tel:+49…. Show this to the user; do not pretend the call happened. Landline = compose_tel_landline.
compose_whatsappWHAT: Build a https://wa.me/… URL with one prefab = one end-invoice (or mount 49 / beratung). option = contactOption from get_prices.composition.endInvoices or get_invoice_line_items.contactOption: opening_slam_day|opening_slam_night|openin
Inputs: option
find_by_keywordWHAT: Substring search (case-insensitive) over https://www.ikeytz.com/llms-keywords.txt (phrase → URL map). REQUIRED q. Default 15 lines, max 30. Empty q → q_required. RETURNS q, count, lines[] (raw TSV-like rows). locale does not filter th
Inputs: q, limit, locale
get_aboutWHAT: Pointer to /ueber-uns (about, owner). For NAP facts prefer get_business_identity. NEXT: get_ai_page({path:'/ueber-uns'}).
Inputs: locale
get_ai_pageWHAT: Fetches public https://www.ikeytz.com/ai-pages/{locale}/{file}.txt (HTML-parity fulltext). path=/ → index.txt; else path without leading slash + .txt. summary = first 4000 chars; truncated=true if longer. HTTP errors → ok=false. USE f
Inputs: path, locale
get_ai_txtWHAT: Fetch /.well-known/ai.txt — crawl/training policy (ai-input yes with attribution, ai-train=no, contact). Must be respected when quoting site text.
Inputs: offset, limit
get_auswahl_itemWHAT: One Auswahl situation page. REQUIRED slug from list_auswahl. RETURNS slug + canonicalUrl /auswahl/{slug}. USE after the user described a lockout/key situation. NEXT: get_ai_page({path:'/auswahl/'+slug}) for fulltext; get_invoice_line_
Inputs: slug, locale
get_business_identityWHO: Legal/trade identity and NAP for agents and citations. RETURNS: gewerbeName, legalName, tradeName, inhaber (Mahmud Reza Kashani, Einzelunternehmer), street/postal/city/country, mobile/landline/fax/email, website, walkIn=false. canonica
Inputs: locale
get_contactWHAT: Public phones, fax, email, office address object. DOES NOT submit the website contact form and must not claim it did. USE to give the user a number. NEXT: compose_tel_mobile, compose_tel_landline, compose_mailto, compose_whatsapp, lis
Inputs: locale
get_discoveryWHAT: Fetch one public discovery file from www and return a line window. REQUIRED which. IDs (aliases folded): llms, llms-full, llms-index, llms-keywords, llms-serp, llms-impressum-kontakt, llms-orte-geo, llms-urheberrecht, llms-copyright,
Inputs: which, offset, limit
get_emergencyWHAT: Pointer to the 24h Notfall-Türöffnung page. summary includes mobile number. canonicalUrl = /notfall-tueroeffnung (locale-prefixed). DOES NOT dispatch a technician or take a booking. NEXT: compose_tel_mobile or list_whatsapp_options th
Inputs: locale
get_faqWHAT: One FAQ Q+A (Ausweis, MwSt, 24h, Nachtpreis-Regel…). Lookup: exact id, else first substring on q. Not a calculator — if the user needs THIS job's euro, get_invoice_line_items after composition.routes. Missing → faq_not_found. Prefer i
Inputs: id, q, locale
get_geo_officeWHAT: Office coordinates once (SITE.geo), street/postal/city, walkIn=false. NOT a customer shop — do not navigate users there for service. Service happens on site in the 52-place area. USE for NAP/geo citations. NEXT: get_contact, list_serv
Inputs: locale
get_invoice_line_itemsWHAT: Computes ONE of the 10 end-invoices (or the 49 € mount add-on). NOT a booking, NOT a PDF. FIRST classify via get_prices.composition.routes: locked_out+slam+no cylinder → opening_slam; locked_out+locked+no cylinder → opening_locked; +c
Inputs: situationKey, whenKey, at, breakdown, locale
get_itWHAT: HTML page /it — two MCP machines documented. RETURNS website={name:com.ikeytz/website,mcp,card,npm,cli,readme=npm CLI,httpReadme=www /mcp-readme.md}, maps={name:com.ikeytz/maps,… no httpReadme}, proxy=false, page=/it, itEmail, aiEmail
Inputs: locale
get_legalWHAT: Pointer to one legal HTML page. REQUIRED doc enum. Unknown doc → ok=false unknown_doc hint=/impressum. RETURNS doc + canonicalUrl. For full text call get_ai_page({path:'/'+doc}) or get_discovery(which=llms-urheberrecht) for the copyri
Inputs: doc, locale
get_linksWHAT: Pointer to /links (directories, city sites, HWK, Webmail shortcut). External MCP catalogs (npm, registry, mcpbeat, Glama, getlulu, Smithery) are on get_mcp_hub.publicLinks, not this tool.
Inputs: locale
get_llms_mcp_serverWHAT: Fetch /llms-mcp-server.txt — prose catalog of THIS HTTP server (45 Read/Link tools, how to call, no login). Same as get_discovery(which=llms-mcp-server). Not the npm CLI README. Not maps.
Inputs: offset, limit
get_llms_mcp_webWHAT: Fetch /llms-mcp-web.txt — browser WebMCP catalog (early bootstrap tools + full list). Same executeMcpTool handlers as HTTP /mcp, different transport (document.modelContext). Not this streamable-http endpoint.
Inputs: offset, limit
get_llms_txtWHAT: Fetch https://www.ikeytz.com/llms.txt (short AI landmap). Same engine as get_discovery(which=llms). summary = file window. USE as the first discovery read. Full dump: get_discovery(which=llms-full). MCP catalog: get_llms_mcp_server.
Inputs: offset, limit
get_mcp_hubWHAT: HTML hub /mcp-hub ×7 (de has no prefix). NOT Italian, NOT the protocol endpoint. Protocol remains POST https://www.ikeytz.com/mcp (streamable-http). RETURNS same machines as get_it plus publicLinks={website:string[],maps:string[]} (ca
Inputs: locale
get_ort_datetimeWHAT: Europe/Berlin wall clock to the second + whenKey for prices. THIS www tool does NOT look up a place (no slug/plz). maps.ikeytz.com has a different geo clock tool. RULE: whenKey=day only Mo–Fr 08:00:00–17:59:59 Berlin and not a Baden-W
Inputs: at, locale
get_page_summaryWHAT: Stub pointer only — NOT the page body. summary says to use ai-pages or HTML. RETURNS path (locale prefix stripped). USE get_ai_page or get_serp_snippet for real text. Required path.
get_partner_infoWHAT: Partner-werden info. formSubmit=false — agents MUST NOT claim they sent the form. RETURNS partnerEmail for a mailto. NEXT: compose_mailto or tell the user to open /partner-werden themselves.
Inputs: locale
get_pricesWHAT: Official Festpreis matrix + composition SYSTEM. Read composition first: exactly 10 end-invoices + one 49 € add-on (not 12, not 17 customer invoices). 49 € is cylinder_mount after an opening — already inside 148/198/178/228; never add
Inputs: locale
get_ratgeberWHAT: Pointer to one Ratgeber. REQUIRED slug from list_ratgeber. Unknown → unknown_ratgeber. NEXT: get_ai_page({path:'/ratgeber/'+slug}).
Inputs: slug, locale
get_review_urlWHAT: Short /review redirect to the Google review URL. RETURNS googleReviewUrl (full Google) and canonicalUrl = https://www.ikeytz.com/review. USE when the user wants to leave a review. Not a list of existing ratings.
Inputs: locale
get_serp_snippetWHAT: Slice of /llms-serp.txt around the first occurrence of the target URL (title/description/URL rows). path or url required in practice. If path is not http(s), it is turned into www(locale, path). No match → serp_not_found. RETURNS matc
Inputs: path, url, locale
get_service_areaWHAT: One service-area place. Lookup order: slug (exact getOrt), else first ORTE with plz === args.plz, else first name substring (lowercase). No silent Pattonville fallback — unknown → ok=false error=unknown_place hint=/einsatzgebiet. RETU
Inputs: slug, plz, name, locale
get_sitemap_txtWHAT: Fetch /sitemap.txt (same URL set as sitemap.xml). ~807 http lines: marketing ×7 + discovery/media. Contains 0× maps.ikeytz.com (intentional). Use offset/limit + totalUrls + nextOffset to page. Dedicated maps list is on maps.ikeytz.com
Inputs: offset, limit
get_wissen_entryWHAT: One Wissen article. REQUIRED id. summary includes title + first 500 chars of body. structuredContent has id+title (not full body). Unknown id → wissen_not_found. NEXT: get_ai_page({path:'/wissen'}) or canonicalUrl #id.
Inputs: id, locale
list_auswahlWHAT: Auswahl hub groups (situation chooser on /auswahl). RETURNS groups[] {id, hash, hubUrl, slugs[], urls[]}. USE to discover valid slugs for get_auswahl_item. Unknown slug → get_auswahl_item ok=false unknown_auswahl.
Inputs: locale
list_faqWHAT: FAQ question list (id + question, no answers). Policy/text only — euro in answers are SSOT tokens, not a live invoice. For a customer total: get_prices.composition → get_ort_datetime → get_invoice_line_items. USE get_faq({id}) or get_
Inputs: locale
list_footerWHAT: Curated internal footer paths including legal + /it + /mcp-hub + /angebot + /ankuendigungen. RETURNS items[] {path,url}. Not a pixel-perfect HTML scrape; external directory URLs live on get_links / MCP_PUBLIC_LINKS via get_mcp_hub. US
Inputs: locale
list_localesWHAT: The seven public HTML locales. RETURNS locales[] {id, name, prefix}. prefix is '' for de and '/en' '/fr' '/ru' '/fa' '/ar' '/tr' for others. Host is always www.ikeytz.com (apex redirects). maps.ikeytz.com has NO locales (/en/pattonvil
list_navWHAT: Curated main-header hubs (not a 1:1 dump of every <a> in the header). RETURNS items[]: Start, Notfall, Leistungen, Auswahl, Preise, Einsatzgebiet, Wissen, Ratgeber, FAQ, Kontakt — each path + locale URL + label. DOES NOT include /it,
Inputs: locale
list_ratgeberWHAT: All Ratgeber slugs and locale URLs /ratgeber/{slug}. USE get_ratgeber({slug}) then get_ai_page for fulltext.
Inputs: locale
list_service_areasWHAT: All 52 service-area places (orte SSOT). Each item: slug, name, plz, lat, lng, google_maps, icbm, kind, parent, url (www keyword page), embed_map (https://maps.ikeytz.com/{slug}), geo_api, maps_mcp. related includes maps llms.txt. coun
Inputs: locale
5 more tools

list_services, list_whatsapp_options, list_wissen, resolve_locale_url, site_overview

Add ikeytz to your AI client

Every block below points at https://www.ikeytz.com/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http ikeytz https://www.ikeytz.com/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "ikeytz": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://www.ikeytz.com/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "ikeytz": {
      "url": "https://www.ikeytz.com/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "ikeytz": {
      "type": "http",
      "url": "https://www.ikeytz.com/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "ikeytz": {
      "url": "https://www.ikeytz.com/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "ikeytz": {
      "serverUrl": "https://www.ikeytz.com/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "ikeytz": {
      "url": "https://www.ikeytz.com/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: ikeytz
version: 0.0.1
schema: v1
mcpServers:
  - name: ikeytz
    type: streamable-http
    url: https://www.ikeytz.com/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "ikeytz": {
      "httpUrl": "https://www.ikeytz.com/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "ikeytz": {
      "type": "http",
      "url": "https://www.ikeytz.com/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "ikeytz": {
      "url": "https://www.ikeytz.com/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fwww.ikeytz.com%2Fmcp&type=streamable_http&id=ikeytz&name=ikeytz

Is ikeytz up right now?

It answered our last check on 19 October 2026 in 151 ms. Over 15 checks since 2 September 2026 it answered 15. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to ikeytz

Questions about ikeytz

Is there an official ikeytz MCP server?

Yes. It is published by ikeytz.com and served from www.ikeytz.com, the vendor's own domain: https://www.ikeytz.com/mcp.

How many tools does ikeytz have?

45, as returned by the server's own tools/list on 3 September 2026: compose_mailto, compose_tel_landline, compose_tel_mobile, compose_whatsapp, find_by_keyword, get_about, get_ai_page, get_ai_txt, and 37 more.

Is ikeytz down?

It answered our last check on 19 October 2026 in 151 ms. Over 15 checks since 2 September 2026 it answered 15.

How do I add ikeytz to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://www.ikeytz.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does ikeytz need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: www.ikeytz.com. Endpoint host: www.ikeytz.com. ARD identifier: urn:air:www.ikeytz.com:mcp:ikeytz. First indexed 2 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.