Skip to main content
Glama

Server Details

Read-only search of the EscortFox escort directory: cities, services and listing summaries.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.5/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has an unmistakable role: get_listing fetches a single detail record, search_listings performs the query, and the four list_* tools each enumerate a different reference axis (country, city, district, service). The descriptions explicitly state how outputs feed into other tools' parameters, leaving no room for misselection.

Naming Consistency5/5

All six names follow a strict verb_noun snake_case pattern (get_*, list_*, search_*), with plural nouns for collection tools and singular for the detail tool. The convention is uniform and predictable.

Tool Count5/5

Six tools is exactly right for a directory browser: four enumeration helpers for the geography/service hierarchy, one search, and one detail lookup. Every tool earns its place and none is redundant.

Completeness4/5

The read-only lifecycle is well covered — you can discover countries, drill into cities/districts/services, search, and retrieve full listing details with links. The only notable limits are the hard 100-result cap (acknowledged in the description) and no standalone venue/agency detail endpoint, but agents can work around both via search results.

Available Tools

6 tools
get_listingGet a listingA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
idYesThe listing id.
langNoLanguage of the teaser text and of the escortfox.com links. Default "en".

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so safety is covered. The description adds useful behavioral details: it returns the same fields as search_listings and the escortfox.com link, while contact details and photos are only available on that page.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core operation. Every clause adds practical value: the id format, the relationship to search_listings fields, and where contact details and photos live.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with no output schema, the description sufficiently explains return content, the id source, and what is not returned. Schema and annotations then cover language selection, safety, and idempotency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented. The description still adds meaning for the required id parameter by explaining that it is the numeric value at the end of a listing link (…/anna-12345 → 12345), which helps agents extract the correct value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: get the summary of one EscortFox listing by numeric id. It also distinguishes this single-listing lookup from search_listings by explaining that it returns the same fields as that sibling and adds the listing's escortfox.com link.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly implies when to use it: when you have a listing's numeric id, derived from the end of a listing URL. It does not explicitly say to use search_listings when you do not already have an id, but the context is otherwise clear and the id-source example is helpful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_citiesList citiesA
Read-onlyIdempotent
Inspect

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").

NameRequiredDescriptionDefault
countryYesRequired. 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.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds genuinely new behavioral context: only cities with active listings are returned, results are sorted busiest first, and the response includes counts and a site link. It doesn't discuss pagination or result caps, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, with the core scope and ordering front-loaded and the cross-tool usage note second. Every clause carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with rich annotations and no output schema, the description covers what is returned (cities with counts and links), the ordering, the filtering (active listings only), and how to reuse the returned values. Nothing essential to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema documents the pattern and accepted country/region codes, which sets a baseline of 3. The description adds real meaning beyond that by explaining the downstream use of the returned city slug and the region-as-country convention for US states, which is the non-obvious part of the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list cities of a country), scopes it to cities with active listings, and specifies ordering (busiest first) plus the payload (escort/venue counts and escortfox.com link). This clearly distinguishes it from list_countries and list_districts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives actionable downstream guidance: use the returned city slug as `city` in search_listings, and use the city's region as `country` where the site splits by state (e.g. "US-CA"). It does not explicitly state when to choose this over list_districts or list_countries, so it stops short of full when/when-not coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_countriesList countriesA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare this as a safe, idempotent, read-only, open-world operation. The description adds meaningful behavioral context beyond that: only countries with active listings are returned, and each result includes counts of escort and venue listings.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences with no waste. The result content is stated first, followed by the practical downstream usage note, making the description front-loaded and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, read-only listing tool with no output schema and full annotation coverage, the description is complete. It explains the scope of returned countries, includes what each result contains, and guides how to use the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The schema is also empty and fully covered; the description's mention of country codes is useful contextual guidance rather than parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: list countries with active EscortFox listings, including counts of escort and venue listings. It clearly distinguishes this top-level enumeration from sibling tools by explaining how the returned country codes feed into list_cities and search_listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear downstream usage guidance: use a country code as `country` in list_cities and search_listings. That effectively positions this as the starting point for country-scoped queries, though it does not explicitly state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_districtsList districtsA
Read-onlyIdempotent
Inspect

List the districts of a city that have active listings (most cities have none). Use a district slug as district in search_listings.

NameRequiredDescriptionDefault
cityYesRequired. City slug from list_cities.
countryYesRequired. 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.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive), so the bar is lower. The description still adds a genuinely useful behavioral caveat — 'most cities have none' — warning the agent that empty results are the norm and not an error, plus a hint about what the returned value is used for.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, with the scope qualifier front-loaded and the follow-up usage note second. Everything earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of saying what comes back (district slugs with active listings) and it does, plus the empty-result caveat. It stops short of describing the response shape (e.g. slug+name fields), which is a minor gap for a two-parameter list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are fully documented in the schema (city slug from list_cities, country code/region format). The description only references the output field `district`, not the inputs, so it adds little beyond the schema — baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list districts of a city) plus a scoping qualifier (only those with active listings). This clearly separates it from list_cities and list_countries, which operate at different geographic levels.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a forward-pointer to the downstream tool: use the returned slug as `district` in search_listings, which tells the agent why it would call this. It lacks an explicit 'do not use this for X, use Y instead' clause, but the sibling set is small and the purpose is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_servicesList servicesA
Read-onlyIdempotent
Inspect

List the service vocabulary of escort listings (slug and English name). Use a slug as service in search_listings (escort searches only).

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as a read-only, idempotent, non-destructive, open-world operation. The description adds meaningful context beyond that: the tool returns a vocabulary of slugs and English names, and the slugs are valid only for escort searches in search_listings.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the primary purpose and followed by the downstream usage note. There is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only vocabulary tool with no output schema, the description is complete: it states what the tool lists, what fields are returned, and how the returned slug should be used. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty object schema, so there is no parameter semantics to document. The baseline of 4 applies because the description cannot add meaning beyond an empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('service vocabulary of escort listings') and explicitly names the output fields ('slug and English name'). This distinguishes it from sibling vocabulary tools like list_cities and list_countries, which cover different filter dimensions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the downstream use clearly: 'Use a slug as `service` in search_listings (escort searches only).' This tells the agent when the returned values are relevant, though it does not explicitly contrast calling this tool with calling the sibling list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_listingsSearch listingsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
cityNoCity slug from list_cities (e.g. "berlin"). Required for escort and venue searches; not allowed for agency searches.
langNoLanguage of the teaser text and of the escortfox.com links. Default "en".
pageNoZero-based results page, 0-4 (20 results each). Default 0.
typeYesWhat to search: "escort", "venue" or "agency".
countryYesRequired. 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.
serviceNoOptional service slug from list_services (escort searches only).
districtNoOptional district slug from list_districts (escort and venue searches).
verifiedNotrue = only escorts whose photos and phone are verified (escort searches only).

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), and the description adds real operational context: a hard 100-result ceiling across pages 0-4, 20 results per page, and the deliberate omission of contact details and photos. The instruction to always surface the escortfox.com link is a useful behavioral constraint, though rate limits or latency are not mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with no filler; the return shape comes first, then the per-type constraints, then the pagination limit as the closing warning. The most failure-prone constraint (100-result ceiling) is placed last for emphasis rather than buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of describing return values, and it does so thoroughly — enumerating the summary fields and explicitly flagging the missing contact details and photos. Combined with the conditional input rules and pagination cap, an agent has everything needed to call and present results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter reasoning the schema only states piecewise: which parameter combinations are valid per search type and how the optional district, service and verified parameters relate to the page cap. The lang parameter, however, gets no mention in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and resource (EscortFox directory of escorts, agencies and venues) plus the exact scope of what is returned: listing summaries, not full listings. This cleanly separates it from get_listing, which an agent would otherwise confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit per-type prerequisites: escort and venue searches need country + city, agency searches need country only, with pointers to list_countries and list_cities for obtaining them. It also gives a positive alternative to pagination ("narrow the search with district, service or verified instead of paging further").

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedget_listing
    • First observedlist_cities
    • First observedlist_countries
    • First observedlist_districts
    • First observedlist_services
    • First observedsearch_listings

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources