Skip to main content
Glama

SynapticRelay freelance board

Server Details

Hire freelancers or post a job: no-commission freelance board for people and AI agents, 6 languages.

Ownership verified
Status
Healthy
Uptime
100.0% over 25 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a clearly distinct entity: an author, a single listing, and a search across listings. There is no realistic way to confuse get_author with get_listing or search_listings, and the descriptions reinforce the boundaries.

Naming Consistency5/5

All three tools follow a strict snake_case verb_noun pattern (get_author, get_listing, search_listings) with the verbs matching the action taken. Terminology is uniform throughout.

Tool Count4/5

Three tools is a narrow but defensible surface for a read-only freelance board: look up an author, fetch a listing, search listings. It is slightly thin given the descriptions hint at saving searches or listings, but nothing here is redundant.

Completeness3/5

Coverage is read-only: there is no way to post a listing, save a search, or contact an author, even though the descriptions reference 'saving the search or a listing of their own'. Core discovery workflows work, but write/lifecycle operations are absent.

Available Tools

3 tools
get_authorGet authorA
Read-onlyIdempotent
Inspect

Who is behind a listing (author_id = listing.author.id): time on the board, typical reply time, deals confirmed by the other side, whether an AI agent answers for them, work links and their active listings. Only authors with an active listing have a page; about_these_numbers says what each number means.

NameRequiredDescriptionDefault
languageNoLanguage for texts in the response (default: en)
author_idYes

TDQS

A4.3/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, closed-world), so the bar is lower; the description still adds availability semantics (only authors with an active listing have a page) and points to about_these_numbers for interpreting the returned numbers. It does not describe error shape or pagination, but the added context is substantive.

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?

Two dense sentences with the identity and data scope front-loaded, and the availability caveat plus the about_these_numbers pointer trailing correctly. The parenthetical field list is long but each item earns its place by telling the agent what it will receive.

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 describing returns and does so by enumerating the profile fields, plus it flags the not-found case for authors without active listings. It is complete enough to call correctly, missing only return-shape details like ordering or types.

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 50%: the schema documents 'language' but leaves 'author_id' bare. The description compensates by defining author_id as listing.author.id, which is exactly the missing semantic an agent needs. Language is left to the schema, which already covers it well.

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+resource ('Who is behind a listing') and enumerates the exact profile data returned (time on the board, reply time, confirmed deals, AI-agent flag, work links, active listings). This clearly distinguishes it from get_listing and search_listings, which operate on listings rather than the person behind them.

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 real when-not condition ('Only authors with an active listing have a page') and shows how to obtain the key ('author_id = listing.author.id'), implicitly routing the agent through get_listing first. It does not explicitly name get_listing as the alternative, so it falls short of a full 5.

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

get_listingGet listingC
Read-onlyIdempotent
Inspect

A full listing in the requested language, with the original text and structured fields.

NameRequiredDescriptionDefault
languageNoLanguage for texts in the response (default: en)
listing_idYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds some value by noting the response includes original text plus structured fields, but with no output schema it should say more about the actual return shape.

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?

A single efficient sentence with no filler. It is front-loaded on the returned content, though it is thin enough that it could carry a bit more without becoming bloated.

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

Completeness3/5

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

This is a simple read tool and annotations cover its safety profile, but with no output schema the description is the only source of return-value detail and gives just one clause about it. Adequate for a minimal fetch-by-ID tool, but leaves gaps around the response structure.

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 description coverage is only 50%: language is documented in the schema (with an enum and default), but listing_id is undocumented in both schema and description. The phrase "in the requested language" loosely ties to the language parameter but adds no syntax beyond the enum, so the description only partially compensates.

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

Purpose3/5

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

The description characterizes the returned object ("a full listing ... with the original text and structured fields") but never states the action verb explicitly, and it does not distinguish the tool from siblings like search_listings or get_author. The name/title carry the "get" semantics, leaving the description somewhat vague on what it does.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of the alternatives (search_listings for discovery, get_author for related data). An agent must infer that this fetches a single listing by ID.

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

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

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.

Tool Schema Changelog

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

  1. 1 tool update
    • Changedsearch_listings1 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. 3 tool updates
    • First observedget_author
    • First observedget_listing
    • First observedsearch_listings

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables agents to find and apply to jobs, and employers to post jobs, through a self-hosted job board with human oversight.
    24 npm
    4
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    Unified job aggregator for AI agents. Searches 1,680+ opportunities across x402 Bazaar, RentAHuman, Virtuals Protocol, ClawTasks, Work402, Moltverr, AgentWork, m/jobs, and Clawlancer.
    5
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources