{"domain":"escortfox.com","count":1,"changes":[{"captured_at":"2026-10-31T09:09:39.168600","card_hash":"9c65b5401a2c5b7acd74295e533dc7421d688a379ee77d4f3df52dcdaf86d87f","previous_card_hash":null,"diff":{"skills_added":[{"id":"ask","name":"Ask in plain text","description":"Answer a short plain-text request about the directory: listings of a type in a city (\"escorts in London\", \"venues in Prague\"), agencies in a country, the cities of a country, the countries covered or the service vocabulary. Replies list up to 20 summaries with their links.","tags":["directory","escorts","search"],"inputModes":["text/plain"],"outputModes":["text/plain","application/json"]},{"id":"get_listing","name":"Get a listing","description":"Get the summary of one EscortFox listing by its numeric id — the number at the end of a listing link (…/anna-12345 → 12345). Returns the same fields as search_listings and the listing's escortfox.com link; contact details and photos are only on that page. Call it with a data part {\"skill\": \"get_listing\", \"arguments\": {...}}; the arguments follow this JSON Schema: {\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"integer\",\"description\":\"The listing id.\",\"minimum\":1},\"lang\":{\"type\":\"string\",\"description\":\"Language of the teaser text and of the escortfox.com links. Default \\\"en\\\".\",\"enum\":[\"en\",\"de\",\"sk\",\"cs\",\"tr\",\"ru\",\"uk\",\"es\",\"pt\",\"ro\",\"hu\",\"ar\",\"ja\",\"fr\",\"it\",\"nl\",\"sv\",\"no\",\"pl\",\"el\",\"ko\"]}},\"required\":[\"id\"],\"additionalProperties\":false}","tags":["directory","escorts","search"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"list_cities","name":"List cities","description":"List the cities of a country that have active listings, busiest first, with escort and venue counts and each city's escortfox.com link. Use the city slug as `city` in search_listings, and the city's region as `country` where it differs from the country code (US states, e.g. \"US-CA\"). Call it with a data part {\"skill\": \"list_cities\", \"arguments\": {...}}; the arguments follow this JSON Schema: {\"type\":\"object\",\"properties\":{\"country\":{\"type\":\"string\",\"description\":\"Required. ISO 3166-1 alpha-2 country code (e.g. \\\"DE\\\"), or a city's region code where the site splits a country by state (e.g. \\\"US-CA\\\"). Get valid values from list_countries / list_cities.\",\"pattern\":\"^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$\",\"maxLength\":6}},\"required\":[\"country\"],\"additionalProperties\":false}","tags":["directory","escorts","reference data"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"list_countries","name":"List countries","description":"List the countries that have active EscortFox listings, with the number of escort and venue listings in each. Use a country code as `country` in list_cities and search_listings. Call it with a data part {\"skill\": \"list_countries\", \"arguments\": {...}}; the arguments follow this JSON Schema: {\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}","tags":["directory","escorts","reference data"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"list_districts","name":"List districts","description":"List the districts of a city that have active listings (most cities have none). Use a district slug as `district` in search_listings. Call it with a data part {\"skill\": \"list_districts\", \"arguments\": {...}}; the arguments follow this JSON Schema: {\"type\":\"object\",\"properties\":{\"country\":{\"type\":\"string\",\"description\":\"Required. The city's region from list_cities, or its ISO 3166-1 alpha-2 country code (e.g. \\\"DE\\\"), or a city's region code where the site splits a country by state (e.g. \\\"US-CA\\\"). Get valid values from list_countries / list_cities.\",\"pattern\":\"^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$\",\"maxLength\":6},\"city\":{\"type\":\"string\",\"description\":\"Required. City slug from list_cities.\",\"pattern\":\"^[a-z0-9]+(-[a-z0-9]+)*$\",\"maxLength\":80}},\"required\":[\"country\",\"city\"],\"additionalProperties\":false}","tags":["directory","escorts","reference data"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"list_services","name":"List services","description":"List the service vocabulary of escort listings (slug and English name). Use a slug as `service` in search_listings (escort searches only). Call it with a data part {\"skill\": \"list_services\", \"arguments\": {...}}; the arguments follow this JSON Schema: {\"type\":\"object\",\"properties\":{},\"additionalProperties\":false}","tags":["directory","escorts","reference data"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]},{"id":"search_listings","name":"Search listings","description":"Search the EscortFox directory of independent escorts, agencies and venues in one place. Returns up to 20 listing summaries per page: name, location, age, starting rate, verification status, incall/outcall, venue type, a short teaser and the listing's escortfox.com link. Summaries have no contact details or photos: always give the user each listing's link, where both are shown. \"escort\" and \"venue\" searches need country + city (find them with list_countries and list_cities); \"agency\" searches need country only. Only pages 0-4 (100 results) exist — narrow the search with district, service or verified instead of paging further. Call it with a data part {\"skill\": \"search_listings\", \"arguments\": {...}}; the arguments follow this JSON Schema: {\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"description\":\"What to search: \\\"escort\\\", \\\"venue\\\" or \\\"agency\\\".\",\"enum\":[\"escort\",\"venue\",\"agency\"]},\"country\":{\"type\":\"string\",\"description\":\"Required. ISO 3166-1 alpha-2 country code (e.g. \\\"DE\\\"), or a city's region code where the site splits a country by state (e.g. \\\"US-CA\\\"). Get valid values from list_countries / list_cities.\",\"pattern\":\"^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$\",\"maxLength\":6},\"city\":{\"type\":\"string\",\"description\":\"City slug from list_cities (e.g. \\\"berlin\\\"). Required for escort and venue searches; not allowed for agency searches.\",\"pattern\":\"^[a-z0-9]+(-[a-z0-9]+)*$\",\"maxLength\":80},\"district\":{\"type\":\"string\",\"description\":\"Optional district slug from list_districts (escort and venue searches).\",\"pattern\":\"^[a-z0-9]+(-[a-z0-9]+)*$\",\"maxLength\":80},\"service\":{\"type\":\"string\",\"description\":\"Optional service slug from list_services (escort searches only).\",\"pattern\":\"^[a-z0-9]+(-[a-z0-9]+)*$\",\"maxLength\":80},\"verified\":{\"type\":\"boolean\",\"description\":\"true = only escorts whose photos and phone are verified (escort searches only).\"},\"lang\":{\"type\":\"string\",\"description\":\"Language of the teaser text and of the escortfox.com links. Default \\\"en\\\".\",\"enum\":[\"en\",\"de\",\"sk\",\"cs\",\"tr\",\"ru\",\"uk\",\"es\",\"pt\",\"ro\",\"hu\",\"ar\",\"ja\",\"fr\",\"it\",\"nl\",\"sv\",\"no\",\"pl\",\"el\",\"ko\"]},\"page\":{\"type\":\"integer\",\"description\":\"Zero-based results page, 0-4 (20 results each). Default 0.\",\"minimum\":0,\"maximum\":4}},\"required\":[\"type\",\"country\"],\"additionalProperties\":false}","tags":["directory","escorts","search"],"inputModes":["application/json"],"outputModes":["text/plain","application/json"]}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"name","before":null,"after":"EscortFox"},{"field":"description","before":null,"after":"Read-only search of the EscortFox directory of independent escorts, agencies and venues: countries, cities, districts, services and listing summaries, each with its escortfox.com link. Ask in plain text (\"escorts in Berlin\", \"venues in Prague\", \"agencies in Germany\") or call a skill with a data part {\"skill\": \"search_listings\", \"arguments\": {...}}. Contact details and photos are only on escortfox.com. Also available as an MCP server at https://escortfox.com/mcp."},{"field":"version","before":null,"after":"1.0.0"},{"field":"protocolVersion","before":null,"after":"0.3.0"},{"field":"url","before":null,"after":"https://escortfox.com/a2a"},{"field":"documentationUrl","before":null,"after":"https://escortfox.com/developers"},{"field":"iconUrl","before":null,"after":"https://escortfox.com/static/icons/icon-192x192.png"},{"field":"preferredTransport","before":null,"after":"JSONRPC"},{"field":"supportedInterfaces","before":null,"after":[{"url":"https://escortfox.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},{"url":"https://escortfox.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3"}]},{"field":"securitySchemes","before":null,"after":{}},{"field":"security","before":null,"after":[]},{"field":"capabilities","before":null,"after":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false}},{"field":"provider","before":null,"after":{"organization":"EscortFox","url":"https://escortfox.com"}}],"other_changed":true,"is_empty":false,"human_summary":"added 7 skills · name ∅ → EscortFox · description ∅ → Read-only search of the EscortFox direct · version ∅ → 1.0.0 · protocolVersion ∅ → 0.3.0 · url ∅ → https://escortfox.com/a2a · documentationUrl ∅ → https://escortfox.com/developers · iconUrl ∅ → https://escortfox.com/static/icons/icon- · preferredTransport ∅ → JSONRPC · supportedInterfaces ∅ → https://escortfox.com/a2a (JSONRPC), htt · securitySchemes ∅ →  · security ∅ → [] · capabilities ∅ → none · provider ∅ → EscortFox"}}]}