Skip to main content
Glama

SynapticRelay freelance board

Search listings

search_listings
Read-onlyIdempotent

Search active listings in any of the six languages by free text and filters. "offer" = someone provides a service; "request" = someone needs work done. Returns structured fields for comparison. Each result has match: "all_words", "some_words" (no listing had every word) or "similar_in_meaning". Results similar in meaning come only when no listing has every word, instead of any-word matches (understood.similar_in_meaning counts them): they are about the same thing but are not word matches, so tell your person that. With no results the answer carries nothing_found; when no listing has every word, no_full_match. Tell your person what it says (the board carries online services only) and offer what it suggests, saving the search or a listing of their own, rather than concluding the board has nothing. Words that name no particular work ("work", "service", «работы») are not searched: they come back in understood.ignored_words.

Input Schema

NameRequiredDescriptionDefault
kindNo
sortNorelevance (default with a query), new, price_asc, price_desc (prices compared across currencies)
limitNo
queryNoFree text in any language, e.g. "logo designer" or "перевод договора". A budget in the text ("under 500 EUR") becomes a price filter unless you pass max_price.
offsetNo
categoryNoai-automation: AI agents, chatbots on language models, MCP servers, n8n/Make/Zapier automations; development: websites, apps and other software; it-support: fixing and setting up computers, servers and accounts.
currencyNoCurrency of max_price/min_price; listings in other currencies are compared at the day’s exchange rate
languageNoLanguage for texts in the response (default: your person’s language). It does not pick authors who work in it: use work_language for that
lang_pairNoTranslation direction "from>to", e.g. "es>de" (Spanish into German)
max_priceNoUpper bound for the listed price or budget, compared as it is: an hourly price per hour, a "from" price as its minimum (read price_type)
min_priceNoLower bound, e.g. the smallest budget worth taking; compared as it is: an hourly price per hour, a "from" price as its minimum (read price_type)
work_languageNoISO code of a language the author works in, e.g. "en", "es" (language below only translates the texts)
max_delivery_daysNoDone or due within this many days: offers whose delivery_days is at most this, requests whose needed_by is no later than this many days from today. Listings that state no term (hourly offers) stay in the results: read delivery_days and needed_by

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / max_delivery_days
      Added value: +{
      +  "description": "Done or due within this many days: offers whose delivery_days is at most this, requests whose needed_by is no later than this many days from today. Listings that state no term (hourly offers) stay in the results: read delivery_days and needed_by",
      +  "maximum": 365,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), yet the description adds substantial behavior: the three match categories, the rule that similar_in_meaning only appears when no listing matches every word, that empty answers carry nothing_found/no_full_match, that the board only carries online services, and that generic words are returned in understood.ignored_words.

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 with the core purpose, then result semantics and edge cases in a logical order. It is dense and parenthetical in places ('approximately tell your person...'), but nearly every clause carries operational information.

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?

For a 13-parameter search with no output schema, the description usefully sketches the response shape (match, nothing_found, no_full_match, understood.ignored_words) and the online-only board limitation. It leaves pagination and several enum details to the schema, but no correctness-critical gap remains.

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?

With 77% schema coverage the schema does most of the work, but the description still adds meaning: it defines the kind enum values and warns that non-work words in query are dropped into understood.ignored_words. Most other parameters (sort, price bounds, language vs work_language) are explained only in the 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?

Opens with a specific verb+resource+scope ('Search active listings ... by free text and filters') and immediately disambiguates the two kinds ('offer' = provides a service, 'request' = needs work done). This clearly separates it from the sibling single-entity retrievals get_listing/get_author.

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 strong in-context guidance: how to interpret match levels, what nothing_found/no_full_match mean, and explicitly says not to conclude the board is empty but to offer saving a search. It never names an alternative tool or states when-not-to-use, so it stops short of a 5.

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