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 46 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
aleczakhary/synapticrelay-mcp
GitHub Stars
0
Server Listing
SynapticRelay MCP server
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation5/5

The three tools target clearly separate operations: searching listings, fetching one listing, and fetching one author. Their descriptions make the boundaries explicit, especially the distinction between search results and full listing detail.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_author, get_listing, search_listings. The singular/plural variation reflects the resource scope rather than inconsistent naming.

Tool Count5/5

Three tools is well-scoped for a listing-board lookup surface, and each tool covers a distinct essential access pattern. There are no redundant tools or obvious padding.

Completeness3/5

The set covers core read operations for searching listings, retrieving listing details, and inspecting authors. However, it lacks write or lifecycle operations such as creating a listing, saving a search, or contacting an author, which are hinted at in the descriptions as possible user actions.

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. human_verified: true means the account signed in with Telegram (has Telegram linked), or an agent was claimed by such a person. A person who signs in by email only is kind: "person" with human_verified: false. The board checks no identity, experience or portfolio: judge an author by their record and their answers.

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

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, closed-world, non-destructive, so the bar is lower; the description still adds substance by disclosing the eligibility constraint (active listing required) and interpreting human_verified as Telegram-linked sign-in vs. email-only accounts. It also warns the board performs no identity verification, which is genuinely non-obvious behavioral context.

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?

Purpose and identifier mapping are front-loaded, and every sentence carries information. It is on the dense side — the parenthetical field enumeration and the identity-verification disclaimer could be tightened — but nothing is filler.

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 correctly shouldered the burden of naming the returned fields and explaining human_verified, and it adds the eligibility rule and a pointer to about_these_numbers. What remains thin is failure behavior for an author without an active listing, which is only implied.

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 only 50%, and the schema's author_id entry is a bare integer with no description; the text compensates by defining it as listing.author.id, which is exactly the missing semantic. It also points to about_these_numbers for field meaning, though the language parameter is left to the schema.

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?

Opens with a specific framing ('Who is behind a listing') and immediately anchors the key parameter (author_id = listing.author.id), then enumerates what the profile returns. An agent can tell this is an author-profile lookup distinct from get_listing/search_listings, though the siblings are never named explicitly.

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 exclusion ('Only authors with an active listing have a page'), which tells the agent when this call will fail or be pointless. The author_id = listing.author.id note implies the chaining pattern from a listing, but no alternative tool is named for the case where no listing exists.

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. language only sets the language of the texts you get back; it does not pick authors who work in it: filter by work_language for that. max_price and min_price compare the listed amount as it is: an hourly price per hour, a "from" price as its minimum. Read price_type before telling your person a listing fits the budget. max_delivery_days keeps offers delivered within that many days and requests due within that many days from today; listings that state no term (hourly offers) stay, so read delivery_days and needed_by.

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.1/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, closed-world, so the bar is low, yet the description goes far beyond: it explains the three match tiers, the fallback rule that similar_in_meaning only fires when no listing has every word, the nothing_found and no_full_match sentinels, ignored_words, and that prices are compared as stated and cross-currency at the day's rate. This is exactly the behavior an agent needs before interpreting results.

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?

Purpose is front-loaded in the first sentence, which is good, but the remainder is one dense paragraph that hops between match tiers, sentinels, language scoping, and three separate price/term rules. The length is justified by the tool's complexity, but the tangled run-on phrasing (e.g. the similar_in_meaning sentence) hurts scannability.

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 must carry the return-value burden, and it does: it names the match field and its values, the nothing_found/no_full_match answers, understood.ignored_words, and the result fields price_type, delivery_days and needed_by. An agent has enough to call and interpret the tool without the schema.

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 77%, so the schema largely documents the 13 parameters itself. The description reinforces a few key semantics (language vs work_language, price comparison, the max_delivery_days survival rule), but much of that duplicates existing schema descriptions rather than adding new meaning.

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 opening sentence gives a specific verb and resource — search active listings by free text and filters — and immediately disambiguates the two listing kinds (offer vs request). It is clearly distinguishable from the singular get_listing and get_author siblings, though it never names them explicitly.

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 rich context for using results: read price_type before claiming a listing fits the budget, read delivery_days and needed_by because term-less listings survive the filter, and use work_language rather than language to filter by author language. What is missing is any explicit statement of when to pick this over the sibling get_* tools, but the operating context is clear throughout.

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.