Skip to main content
Glama

Server Details

Open AI models through one OpenAI-compatible API: chat, live model list, prices and cost estimates.

Ownership verified
Status
Healthy
Uptime
97.6% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
jimmyplup/synap-mcp
GitHub Stars
0
Server Listing
Synap MCP Server

TDQS

A4.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: model discovery (list/get), cost estimation, and chat execution. The descriptions explicitly clarify boundaries, such as using estimate_cost before chat_completion.

Naming Consistency5/5

All tools use the consistent synap_ prefix followed by snake_case names (list_models, get_model, estimate_cost, chat_completion). The pattern is predictable and readable.

Tool Count5/5

With 4 tools, the set is well-scoped for an inference API: model listing, detail retrieval, cost estimation, and chat completion. Each tool earns its place without redundancy.

Completeness5/5

The tools cover the full lifecycle for using Synap's chat completion API: discover models, inspect details, estimate cost, and execute a completion. No obvious dead ends for the stated purpose.

Available Tools

4 tools
synap_chat_completionRun a chat completion on SynapAInspect

Send a conversation to a model on Synap, Linkrra's OpenAI-compatible inference API, and get the model's reply. Use this when you need text generated, code written or a question answered by one of the open models Synap serves. This is the only tool here that costs money: it bills prompt and completion tokens to the Synap API key supplied as the Authorization: Bearer header on the MCP connection. With no key it returns an error and nothing is spent; a key with no balance returns insufficient_credits. Call synap_estimate_cost first if the price matters. Returns the standard OpenAI chat.completion JSON (choices[0].message.content holds the reply, usage holds token counts). The call is not streamed and keeps no memory between calls — send the full message history each time.

NameRequiredDescriptionDefault
modelYesModel id exactly as returned by synap_list_models, e.g. "qwen3-coder-30b". Use "synap-v1" to let Synap pick the cheapest model that can handle the request.
messagesYesThe conversation so far, oldest first. The last message is normally the user turn to answer.
max_tokensNoUpper limit on tokens generated in the reply. Omit to use the model default; lower it to cap cost.
temperatureNoSampling randomness, 0 to 2. Lower is more deterministic. Omit to use the model default.

TDQS

A4.8/5.0
Behavior5/5

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

With annotations already declaring openWorldHint=true and non-idempotence, the description still adds real behavioral context beyond them: billing of prompt+completion tokens to the connection's API key, two distinct failure modes (missing key -> error with nothing spent, no balance -> insufficient_credits), no streaming, and no memory between calls. This is exactly the kind of disclosure an agent needs before spending money.

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 is front-loaded in the first sentence, followed by usage, cost, failure modes, and return shape in a logical order. It is dense with six sentences, but nearly every sentence carries distinct operational value; only the cost/sibling routing sentence slightly overlaps the usage sentence.

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?

For a paid, non-idempotent inference call with no output schema, the description covers what the agent cannot derive from structured fields: auth requirements, cost model, error semantics, statelessness, and the response payload shape. Nothing material is missing for correct invocation.

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 100%, so the baseline is 3, and the description exceeds it by adding the statelessness requirement that forces the agent to resend the full message history each call, plus the return-format mapping (choices[0].message.content, usage). It does not add syntax detail for max_tokens or temperature beyond what the schema already provides.

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?

The description states a specific verb and resource ('Send a conversation to a model on Synap... get the model's reply') and names the concrete capability set (text generation, code, Q&A). It is trivially distinguishable from the sibling tools, which are all read/informational (list models, get model, estimate cost).

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

Usage Guidelines5/5

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

It gives explicit when-to-use conditions ('when you need text generated, code written or a question answered') and routes to the alternative 'Call synap_estimate_cost first if the price matters.' The cost caveat ('the only tool here that costs money') sharpens the choice against its free siblings.

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

synap_estimate_costEstimate the cost of a Synap callA
Read-onlyIdempotent
Inspect

Work out what a chat completion would cost on Synap from token counts, using the live price list. Use this before synap_chat_completion when budget matters, or to compare models for a job. Free, read-only, needs no API key and runs no model. Returns {model, prompt_tokens, completion_tokens, prompt_usd, completion_usd, total_usd, pricing}. It is an estimate: the real charge uses the token counts the model reports afterwards. Auto-routing ids such as "synap-v1" have no fixed price and return an error saying so.

NameRequiredDescriptionDefault
modelYesModel id exactly as returned by synap_list_models.
prompt_tokensYesTokens you will send (system + conversation). Roughly 4 characters of English per token.
completion_tokensNoTokens you expect back. Use your max_tokens for a worst case. Defaults to 0.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds real behavioral context beyond them: it is free, needs no API key, runs no model, is an estimate that may differ from the post-hoc real charge, and errors on auto-routing ids. It also enumerates the returned fields, which matters because there is no output schema.

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

Conciseness5/5

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

Four tight sentences, front-loaded with what the tool does, then when to use it, then the return shape and the estimate caveat. The return-field list earns its place precisely because no output schema exists.

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?

For a pure read-only estimation tool with no output schema, the description supplies everything an agent needs: purpose, timing, cost/free status, auth-free nature, return shape, precision caveat, and error condition.

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 100%, so all three parameters (model, prompt_tokens, completion_tokens) are already documented with units, minimums, and guidance on using max_tokens for a worst case. The description adds no parameter-level detail beyond the schema, so the baseline 3 applies.

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 precise verb+resource (estimate the cost of a chat completion on Synap) and the input basis (token counts, live price list). It is clearly distinguishable from synap_chat_completion, synap_list_models, and synap_get_model without opening any schema.

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

Usage Guidelines5/5

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

Gives explicit usage conditions: use before synap_chat_completion when budget matters, or to compare models for a job. It also names the failure case (auto-routing ids like synap-v1 have no fixed price and error out), which routes the agent correctly for the edge scenario.

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

synap_get_modelGet one Synap model in fullA
Read-onlyIdempotent
Inspect

Return the complete catalogue record for one Synap model: pricing, context and output limits, supported parameters, quantisation, data-retention policy and readiness. Use this after synap_list_models when you need details the summary leaves out. Free, read-only and needs no API key. Returns the raw model object, or an error naming the id if Synap does not serve it.

NameRequiredDescriptionDefault
modelYesModel id exactly as returned by synap_list_models.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds value beyond them: it states the call is free, requires no API key, and that failures return an error naming the id rather than silently failing. It stops short of describing response shape or rate limits, so 4 rather than 5.

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

Conciseness5/5

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

Four short sentences, front-loaded with what is returned and then why/when to use it. Every sentence carries distinct information (content, routing, cost/auth, error behaviour) with no redundancy.

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 no output schema, the description must say what comes back, and it does ('the raw model object, or an error naming the id'). Combined with the auth/cost note and the sibling routing, an agent has everything needed to invoke it correctly.

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 100% and there is a single required parameter, so the schema already documents that 'model' is the id from synap_list_models. The description adds no syntax, casing, or format detail beyond what the schema states, making this the baseline 3.

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 precise verb and resource ('Return the complete catalogue record for one Synap model') and enumerates the exact fields covered (pricing, limits, parameters, quantisation, retention, readiness). It also explicitly positions itself against the sibling synap_list_models, so an agent can distinguish it without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit trigger ('Use this after synap_list_models when you need details the summary leaves out') and names the alternative tool plus the condition that selects it. No inference is required to choose between the two.

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

synap_list_modelsList Synap models and pricesA
Read-onlyIdempotent
Inspect

List the models Synap serves right now, each with its price per million tokens, context window and what it is good at. Use this to choose a model id before calling synap_chat_completion, or to compare prices. Free, read-only, no API key needed, and safe to call repeatedly; the list is live, so models can appear or go between calls. Returns {"object":"list","count":N,"data":[{id,name,capability,tier,context_tokens,max_output_tokens,pricing,data_policy}]}; pricing is USD per million prompt and completion tokens and is absent for the auto-routing ids ("synap-v1"), which bill at the price of the model they route to. For every field of one model use synap_get_model.

NameRequiredDescriptionDefault
queryNoOptional case-insensitive filter matched against model id, name and capability, e.g. "coder", "qwen" or "vision". Omit to list everything.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive and closed-world, but the description adds substantial context they cannot convey: no API key required, free, safe to call repeatedly, and critically that the list is live so models may appear/disappear between calls. It also documents the return payload shape and the pricing semantics (USD per million prompt/completion tokens, absent for auto-routing ids that bill at the routed model's price).

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 purpose, then usage, then behavioral caveats, then the return shape. The inline JSON skeleton is long but justified because no output schema exists. Slightly dense, but nearly every clause carries information an agent needs before calling.

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 no output schema and annotations covering only safety, the description fully compensates: it describes the response envelope and each field, the pricing units, the auto-routing pricing exception, and the live-list volatility. Nothing needed to select and call this tool correctly is missing.

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 100%, and the single optional `query` parameter is fully documented there (case-insensitive, matched against id/name/capability, with examples). The description adds no meaning beyond the schema for this parameter, so the baseline of 3 applies.

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 ('List the models Synap serves right now') and immediately enumerates the returned attributes: price per million tokens, context window, and capability. It is clearly distinguishable from synap_chat_completion (which consumes a model id) and synap_get_model (which drills into one model).

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

Usage Guidelines5/5

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

Gives explicit when-to-use conditions: choose a model id before calling synap_chat_completion, or compare prices. It also routes the agent to the alternative, synap_get_model, for the full field set of a single model, so both the positive and the negative case are covered.

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
    • Changedsynap_chat_completion1 field changed
      • changedInput schema / properties / model / description
        Previous value: -"Model id exactly as returned by synap_list_models, e.g. \"qwen/qwen3-coder-30b-a3b-instruct\". Use \"synap-v1\" to let Synap pick the cheapest model that can handle the request."New value: +"Model id exactly as returned by synap_list_models, e.g. \"qwen3-coder-30b\". Use \"synap-v1\" to let Synap pick the cheapest model that can handle the request."
  2. 4 tool updates
    • Changedsynap_chat_completion10 fields changed
      • addedInput schema / properties / max_tokens / description
        Added value: +"Upper limit on tokens generated in the reply. Omit to use the model default; lower it to cap cost."
      • addedInput schema / properties / max_tokens / minimum
        Added value: +1
      • addedInput schema / properties / messages / description
        Added value: +"The conversation so far, oldest first. The last message is normally the user turn to answer."
      • addedInput schema / properties / messages / items / properties / content / description
        Added value: +"The message text."
      • addedInput schema / properties / messages / items / properties / role / description
        Added value: +"Who wrote the message: system (instructions), user, or assistant (an earlier model reply)."
      • addedInput schema / properties / messages / minItems
        Added value: +1
      • changedInput schema / properties / model / description
        Previous value: -"Model id — see synap_list_models for the catalogue."New value: +"Model id exactly as returned by synap_list_models, e.g. \"qwen/qwen3-coder-30b-a3b-instruct\". Use \"synap-v1\" to let Synap pick the cheapest model that can handle the request."
      • addedInput schema / properties / temperature / description
        Added value: +"Sampling randomness, 0 to 2. Lower is more deterministic. Omit to use the model default."
      • addedInput schema / properties / temperature / maximum
        Added value: +2
      • addedInput schema / properties / temperature / minimum
        Added value: +0
    • Addedsynap_estimate_cost
    • Addedsynap_get_model
    • Changedsynap_list_models1 field changed
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Optional case-insensitive filter matched against model id, name and capability, e.g. \"coder\", \"qwen\" or \"vision\". Omit to list everything.",
        +  "type": "string"
        +}
  3. 2 tool updates
    • First observedsynap_chat_completion
    • First observedsynap_list_models

Publisher details

Operator
Linkrra · Publisher source
Operator website
https://linkrra.com
Vendor relationship
First-party · Publisher source
Trust center
Not available
Restrictions
synap_chat_completion needs a Synap API key (pay-as-you-go account). Listing models, model details and cost estimates work without a key. · Publisher source

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.