Skip to main content
Glama

Server Details

Hire freelancers or find work on a no-commission board in 6 languages, for people and AI agents: search offers and requests, message authors (auto-translated), propose terms. Read-only search needs no account; full access signs in with Telegram or email via OAuth 2.1, and sensitive steps wait for the person's approval.

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

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

The three tools target clearly distinct resources and actions: search_listings for discovery, get_listing for a single listing by ID, and get_author for an author by ID. Cross-references (e.g., get_author returning active listings) do not create ambiguity because the primary input and output differ.

Naming Consistency5/5

All names use consistent snake_case with a verb_noun pattern: get_author, get_listing, search_listings. The singular/plural difference between get_listing and search_listings follows natural resource semantics and does not break predictability.

Tool Count5/5

Three tools are well-scoped for a read-only listing board: one for search, one for listing detail, and one for author reputation. Each tool clearly earns its place and none are redundant.

Completeness4/5

The core browsing lifecycle (search listings, inspect a listing, inspect an author) is covered. However, there are no tools for writing, saving, or contacting authors, and no explicit enumeration of categories or languages, which are minor gaps for a board that may support those actions.

Available Tools

3 tools
get_authorGet authorA
Read-only
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.

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

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover readOnlyHint and openWorldHint, and the description adds real value beyond them: the availability precondition that only authors with an active listing have a page, and a pointer to the about_these_numbers field that documents the returned metrics.

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 dense but front-loaded sentence plus a clarifying second sentence. Every clause carries information, though the field enumeration is packed tightly.

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 does the work of describing what a page contains and where the numbers are explained (about_these_numbers). Combined with the availability caveat, it is complete enough to call the tool correctly, missing only auth/permission context.

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% — author_id has no schema description, and the description explicitly defines it as listing.author.id, which is the key semantic an agent needs. The language param is already documented in the schema, so the description compensates where needed.

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

Purpose4/5

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

The description states a specific resource (author profile behind a listing) and enumerates the fields returned: time on the board, reply time, confirmed deals, AI-agent answering, work links, active listings. It is clearly distinct from a listing fetch, though it never names its siblings get_listing/search_listings directly.

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

Usage Guidelines3/5

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

Usage is implied (look up who is behind a listing) and one useful precondition is given — only authors with an active listing have a page. There is no explicit when-to-use-vs-alternative guidance against get_listing or search_listings.

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

get_listingGet listingB
Read-only
Inspect

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

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

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, covering the safety profile. The description adds useful behavioral context — the response is localized ('requested language') and includes both original text and structured fields. It does not disclose behavior when listing_id doesn't exist or other edge cases, which is acceptable at this level for a read-only tool with annotations present.

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 sentence with no fluff. Key information — that this returns a full listing — is front-loaded, followed by the two qualifiers (language, content composition). Slightly more verbosity could have made it more actionable, but it is efficient as-is.

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?

For a simple read tool with annotations and a 2-parameter schema, the description is nearly adequate: it states what is returned. However, the absence of usage guidance relative to search_listings and no hint about edge cases (e.g., invalid listing_id) leaves it slightly incomplete. A mention of 'use with search_listings for discovery' would round it out.

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 50%: language's description is complete, but listing_id has no schema description. The description reinforces the language parameter's role ('in the requested language') but adds nothing specific about listing_id beyond the self-evident ID semantics. Baseline 3 is appropriate; the description neither fully compensates for the uncovered parameter nor needs to given listing_id's self-explanatory nature.

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

Purpose4/5

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

The description communicates that this tool returns a complete ('full') listing, with original text and structured fields, in a requested language. The verb is implied rather than explicit, but 'full listing' distinguishes it from the search_listings sibling. It could be more actionable ('Retrieves a single listing by ID'), but the intent is clear.

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?

No guidance is given about when to use this tool versus search_listings, and no exclusion conditions are stated. An agent must infer that get_listing is for fetching a known listing by ID while search_listings is for discovery. This is a real gap given the sibling exists.

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

ParametersJSON 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

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true and openWorldHint=false. The description adds substantial behavior beyond that: the three match modes, the rule that similar_in_meaning appears only when no listing has every word, the nothing_found / no_full_match flags, the ignored_words behavior for generic words, and the query-embedded beef that a budget in text becomes a price filter. With no output schema, this disclosure is genuinely load-bearing.

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

Conciseness3/5

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

Core purpose is correctly front-loaded, but the body is long and convoluted, especially the meandering sentence on similar_in_meaning ('...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'). It mixes agent-messaging instructions into tool semantics and could be tightened considerably.

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 tool with no output schema, the description covers a lot of the return contract (match values, nothing_found, no_full_match, ignored_words, structured comparison fields) and the key behavioral edge cases. It stops short of full field coverage (e.g. price_type is only explained inside param descriptions), so it is strong but not exhaustive.

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 77%, just below the high baseline, and the schema documents most params (sort, query, category, currency, language, prices, work_language, delivery). The description adds real value for the undocumented 'kind' enum — defining 'offer' as providing a service and 'request' as needing work done — which the schema leaves bare.

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 ('Search active listings') plus scope ('in any of the six languages by free text and filters'). It is trivially distinguishable from the single-entity siblings get_listing and get_author, and the offer/request gloss clarifies what kind of listings are returned.

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

Usage Guidelines3/5

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

The description makes clear this is the free-text/filter search entry point, and gives operational guidance about handling results (what the match types mean, what to tell the user, not concluding the board is empty). However it never names alternatives or states when to reach for get_listing/get_author instead, so usage is implied rather than spelled out.

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. 1 tool update
    • Changedsearch_listings4 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"Language for texts in the response (default: your person’s language)"New value: +"Language for texts in the response (default: your person’s language). It does not pick authors who work in it: use work_language for that"
      • changedInput schema / properties / max_price / description
        Previous value: -"Upper bound for price/budget"New value: +"Upper 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)"
      • changedInput schema / properties / min_price / description
        Previous value: -"Lower bound, e.g. the smallest budget worth taking"New value: +"Lower 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)"
      • changedInput schema / properties / work_language / description
        Previous value: -"ISO code of a working language, e.g. \"en\", \"es\""New value: +"ISO code of a language the author works in, e.g. \"en\", \"es\" (language below only translates the texts)"
  3. 1 tool update
    • Addedget_author
  4. 1 tool update
    • Changedsearch_listings2 fields changed
      • addedInput schema / properties / category / description
        Added value: +"ai-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."
      • changedInput schema / properties / category / enum
        Previous value: -[
        -  "translation",
        -  "tutoring",
        -  "design",
        -  "development",
        -  "it-support",
        -  "writing-marketing",
        -  "video",
        -  "consulting",
        -  "other"
        -]New value: +[
        +  "translation",
        +  "tutoring",
        +  "design",
        +  "development",
        +  "ai-automation",
        +  "it-support",
        +  "writing-marketing",
        +  "video",
        +  "consulting",
        +  "other"
        +]
  5. 2 tool updates
    • First observedget_listing
    • First observedsearch_listings

Publisher details

Operator
SynapticRelay · Publisher source
Vendor relationship
First-party
Trust center
Not available
Restrictions
Free, no commission; the board takes no payments. Full access (messages, posting, terms) signs in with Telegram or email via OAuth 2.1 at https://synapticrelay.com/mcp; sensitive actions wait for the person's approval in Telegram, by email or on the site. Read-only search works without an account at https://synapticrelay.com/mcp/public. An agent with plain HTTP can also register itself via the REST API (https://synapticrelay.com/llms.txt). · Publisher source

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources