Skip to main content
Glama

SiteLove — Serious Dating for Long-Term Relationships

search_profiles

Read-onlyIdempotent

Searches member profiles of SiteLove, a dating service for serious relationships and starting a family. Use it when the user wants to meet someone or find a partner or spouse, for example "looking for a girl for a family, 20-25, from Minsk", "ищу девушку для создания семьи", "хочу познакомиться с мужчиной". Combines semantic search over free-text profile descriptions (queryText, interests) with exact filters: gender, age, height, weight, children, smoking, drinking, zodiac sign and location (country, region or city; place names can be given in any language or spelling). All parameters are optional and filters are combined with AND. A profile that left an answer blank (for example smoking or children) does not match a filter on that answer. Returns up to 15 profiles ranked by relevance; there is no pagination. Every profile has the same fields: name, age text, city, region, country, photo URLs, dating goal, free-text about-me, lifestyle details, zodiac sign and a profile link in the url field; fields the member left blank are null. Profile texts are written by the members in their own language. With locale "en" the profile link opens the English-language page, with "ru" the Russian site.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_profiles"
  }
}

Input Schema

NameRequiredDescriptionDefault
cityNoCity filter — a specific city, not a country or region.
ageMaxNoMaximum age. If the user gave an exact age (e.g. "24 years old"), set both ageMin and ageMax to that value.
ageMinNoMinimum age. If the user gave an exact age (e.g. "24 years old"), set both ageMin and ageMax to that value.
genderNoTarget gender.
localeNoLanguage of the user's request. Selects the language of the profile text and of the profile link ("ru" or "en"). Defaults to "en".
regionNoRegion/state filter — a subdivision within a country, not the country itself or a city.
zodiacNoZodiac sign filter (always in English, regardless of locale).
countryNoCountry filter — use for a country name (e.g. "Moldova"), not a city.
isDrinkNoDrinking filter: true — drinks alcohol (even rarely), false — teetotal. Profiles that left this blank match neither value.
isSmokerNoSmoking filter: true — smokes (even rarely), false — non-smoker. Profiles that left this blank match neither value.
heightMaxNoMaximum height.
heightMinNoMinimum height.
interestsNoInterests/hobby filter as an array of strings, max 10 items. Omit the field entirely instead of passing an empty array.
queryTextNoCharacter traits/lifestyle not covered by other fields, phrased like a profile description. May be omitted or empty.
weightMaxNoMaximum weight.
weightMinNoMinimum weight.
hasChildrenNoHas children filter: true — has children, false — explicitly no children. Profiles that left this blank match neither value.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / isDrink / description
      Previous value: -"Drinking habit filter."New value: +"Drinking filter: true — drinks alcohol (even rarely), false — teetotal. Profiles that left this blank match neither value."
    • changedInput schema / properties / isSmoker / description
      Previous value: -"Smoking habit filter."New value: +"Smoking filter: true — smokes (even rarely), false — non-smoker. Profiles that left this blank match neither value."
    • changedInput schema / properties / locale / description
      Previous value: -"Preferred language."New value: +"Language of the user's request. Selects the language of the profile text and of the profile link (\"ru\" or \"en\"). Defaults to \"en\"."
  2. Changed1 schema field changed
    • changedInput schema / properties / hasChildren / description
      Previous value: -"Has children filter."New value: +"Has children filter: true — has children, false — explicitly no children. Profiles that left this blank match neither value."
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare the safety profile (readOnly, idempotent, non-destructive), while the description adds substantive behavior: AND-combined filters, the rule that blank answers match neither boolean value, a hard cap of 15 results, and explicit absence of pagination. It also discloses that profile texts are member-authored in their own language and that locale governs both text and link language.

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

Conciseness4/5

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

Front-loaded: purpose, then trigger examples, then mechanics and return shape. The inline Russian example queries are long but earn their place as routing evidence; the enumeration of returned fields is dense yet justified because no output schema exists. A minor trim would improve it.

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?

With 17 parameters and no output schema, the description compensates well: it states the result cap, that there is no pagination, the full field list of every profile, that blank fields are null, and how locale affects the returned link. An agent has everything needed to call and interpret results.

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 description coverage is already 100%, so the baseline is 3, but the description adds cross-cutting semantics the schema cannot express per-field: all parameters are optional, filters combine with AND, and place names may be supplied in any language or spelling. It is slightly weaker on the semantic-search fields, where the schema already carries most of the guidance.

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?

Opens with a specific verb+resource ('Searches member profiles of SiteLove, a dating service for serious relationships') and immediately characterizes the corpus, so the agent knows exactly what is being queried. It further distinguishes semantic free-text search from exact filters, which pins down the tool's dual retrieval mode.

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 clear trigger ('use it when the user wants to meet someone or find a partner or spouse') and supports it with three literal example utterances, including non-English ones, which is strong routing signal for an agent. It does not state any when-not-to-use condition, though with no sibling tools there is no competing alternative to exclude.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources