{"id":516211,"name":"EscortFox","description":"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.","card_url":"https://escortfox.com/.well-known/agent-card.json","endpoint":"https://escortfox.com/a2a","protocol_version":"1.0","first_seen":"2026-10-31T03:22:05.220037+00:00","last_verified":"2026-10-31T03:22:05.220037+00:00","card":{"url":"https://escortfox.com/a2a","name":"EscortFox","skills":[{"id":"ask","name":"Ask in plain text","tags":["directory","escorts","search"],"examples":["Escorts in London","Verified escorts in Zurich","Venues in Prague","Agencies in Germany","Cities in Spain"],"inputModes":["text/plain"],"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.","outputModes":["text/plain","application/json"]},{"id":"search_listings","name":"Search listings","tags":["directory","escorts","search"],"examples":["Escorts in Berlin","{\"skill\":\"search_listings\",\"arguments\":{\"type\":\"escort\",\"country\":\"DE\",\"city\":\"berlin\"}}"],"inputModes":["application/json"],"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}","outputModes":["text/plain","application/json"]},{"id":"get_listing","name":"Get a listing","tags":["directory","escorts","search"],"examples":["{\"skill\":\"get_listing\",\"arguments\":{\"id\":13655}}"],"inputModes":["application/json"],"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}","outputModes":["text/plain","application/json"]},{"id":"list_countries","name":"List countries","tags":["directory","escorts","reference data"],"examples":["Which countries do you cover?","{\"skill\":\"list_countries\",\"arguments\":{}}"],"inputModes":["application/json"],"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}","outputModes":["text/plain","application/json"]},{"id":"list_cities","name":"List cities","tags":["directory","escorts","reference data"],"examples":["Cities in Germany","{\"skill\":\"list_cities\",\"arguments\":{\"country\":\"DE\"}}"],"inputModes":["application/json"],"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}","outputModes":["text/plain","application/json"]},{"id":"list_districts","name":"List districts","tags":["directory","escorts","reference data"],"examples":["{\"skill\":\"list_districts\",\"arguments\":{\"country\":\"GB\",\"city\":\"london\"}}"],"inputModes":["application/json"],"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}","outputModes":["text/plain","application/json"]},{"id":"list_services","name":"List services","tags":["directory","escorts","reference data"],"examples":["Which services can I filter by?","{\"skill\":\"list_services\",\"arguments\":{}}"],"inputModes":["application/json"],"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}","outputModes":["text/plain","application/json"]}],"iconUrl":"https://escortfox.com/static/icons/icon-192x192.png","version":"1.0.0","provider":{"url":"https://escortfox.com","organization":"EscortFox"},"security":[],"description":"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.","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"protocolVersion":"0.3.0","securitySchemes":{},"documentationUrl":"https://escortfox.com/developers","defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"preferredTransport":"JSONRPC","supportedInterfaces":[{"url":"https://escortfox.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},{"url":"https://escortfox.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3"}]},"status":"verified","publisher_domain":"escortfox.com","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-31T03:22:05.220037+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://escortfox.com/.well-known/agent-card.json","last_check":{"checked_at":"2026-10-31T03:22:05.220037+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://escortfox.com/.well-known/agent-card.json"],"skills":[{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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"],"quality_warning":false},{"skill_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\"","tags":["directory","escorts","search"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://escortfox.com/.well-known/agent-card.json","checked_at":"2026-10-31T03:22:05.220037+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-31T03:22:05.220037+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-31T03:22:05.220037+00:00","endpoint":"https://escortfox.com/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","state":"a2a_response","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","request_diagnostics":{"requests":[{"path":"/a2a","allow":[],"method":"POST","status":200,"version_header":"1.0","protocol_method":"GetTask","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://escortfox.com/a2a","selected_connection_interface":{"url":"https://escortfox.com/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},"protocol_interface_checks":[{"endpoint":"https://escortfox.com/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","selected":true,"state":"a2a_response","checked_at":"2026-10-31T03:22:05.220037+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true},{"endpoint":"https://escortfox.com/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3","selected":false,"state":"a2a_response","checked_at":"2026-10-31T03:22:05.220037+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true},{"endpoint":"https://escortfox.com/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3.0","selected":false,"state":"a2a_response","checked_at":"2026-10-31T03:22:05.220037+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://escortfox.com/.well-known/agent-card.json","last_successful_card_check":"2026-10-31T03:22:05.220037+00:00","latest_card_check":{"checked_at":"2026-10-31T03:22:05.220037+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-31T03:22:05.220037+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-31T03:22:05.220037+00:00","endpoint_tls_reachable":true,"protocol_check_state":"a2a_response","protocol_checked_at":"2026-10-31T03:22:05.220037+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":516211,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/516211/repair","publisher_report_url":"https://localmark.ai/publishers/escortfox.com/repair","diagnostics_json_url":"https://localmark.ai/publishers/escortfox.com/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/escortfox.com/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}