Koskamo

Synap MCP

An MCP server providing OpenAI-compatible LLM inference for AI agents. It allows agents to list available models, get model details, estimate costs, and perform chat completions. It supports pay-per-call billing via USDC (x402) or API keys, with self-hosted open models and brokered frontier models.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Synap MCP logo, by LinkrraVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-08Operated by Linkrra
You need:self-serve keys at https://synap402.comPlans from 9/mo at https://synap402.com/pricing
MCP endpoint (Streamable HTTP)
https://synap402.com/mcp
Vendor documentation

What its tools do

4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

Can change data (1)

4 of 4 have a description · 4 of 4 declare behavior hints · 4 of 4 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to synap402.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • List available LLM models and their live prices
  • Estimate the cost of a chat completion before sending
  • Execute chat completions using OpenAI-compatible API
  • Discover models and pay per call autonomously

Source and maintenance

Vendor evidenceRegistry 0.1.2

Protocol and capabilities

Server
synap 1.2.0
MCP protocol negotiated in check
2025-11-25
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Synap is Linkrra's OpenAI-compatible inference API for open models (https://synap402.com). synap_list_models, synap_get_model and synap_estimate_cost are free, read-only and need no key — use them to pick a model and price a job. synap_chat_completion runs a model and bills the Synap API key sent as the Authorization: Bearer header on this MCP connection; without a key it returns an error and spends nothing. Use model "synap-v1" to let Synap route to the cheapest model that can do the job.

Tools

4 advertised

synap_chat_completion — Run a chat completion on Synap
Advertised by the server during the last successful anonymous check.
Open-world

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.

synap_chat_completion input schema
{
  "type": "object",
  "required": [
    "model",
    "messages"
  ],
  "properties": {
    "model": {
      "type": "string",
      "description": "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."
    },
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "role",
          "content"
        ],
        "properties": {
          "role": {
            "enum": [
              "system",
              "user",
              "assistant"
            ],
            "type": "string",
            "description": "Who wrote the message: system (instructions), user, or assistant (an earlier model reply)."
          },
          "content": {
            "type": "string",
            "description": "The message text."
          }
        }
      },
      "minItems": 1,
      "description": "The conversation so far, oldest first. The last message is normally the user turn to answer."
    },
    "max_tokens": {
      "type": "integer",
      "minimum": 1,
      "description": "Upper limit on tokens generated in the reply. Omit to use the model default; lower it to cap cost."
    },
    "temperature": {
      "type": "number",
      "maximum": 2,
      "minimum": 0,
      "description": "Sampling randomness, 0 to 2. Lower is more deterministic. Omit to use the model default."
    }
  }
}
synap_chat_completion annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
synap_list_models — List Synap models and prices
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

synap_list_models input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Optional case-insensitive filter matched against model id, name and capability, e.g. \"coder\", \"qwen\" or \"vision\". Omit to list everything."
    }
  }
}
synap_list_models annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
synap_get_model — Get one Synap model in full
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

synap_get_model input schema
{
  "type": "object",
  "required": [
    "model"
  ],
  "properties": {
    "model": {
      "type": "string",
      "description": "Model id exactly as returned by synap_list_models."
    }
  }
}
synap_get_model annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
synap_estimate_cost — Estimate the cost of a Synap call
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

synap_estimate_cost input schema
{
  "type": "object",
  "required": [
    "model",
    "prompt_tokens"
  ],
  "properties": {
    "model": {
      "type": "string",
      "description": "Model id exactly as returned by synap_list_models."
    },
    "prompt_tokens": {
      "type": "integer",
      "minimum": 0,
      "description": "Tokens you will send (system + conversation). Roughly 4 characters of English per token."
    },
    "completion_tokens": {
      "type": "integer",
      "minimum": 0,
      "description": "Tokens you expect back. Use your max_tokens for a worst case. Defaults to 0."
    }
  }
}
synap_estimate_cost annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (3 of 3 answered).

  1. 2026-11-09: 2 of 2 checks answered
  2. 2026-11-10: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
749 ms
95th percentile latency
749 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 749 ms · metadata changed · 4 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http synap-mcp https://synap402.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add synap-mcp --url https://synap402.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable synap-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "synap-mcp": {
      "url": "https://synap402.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "synap-mcp": {
      "type": "streamableHttp",
      "url": "https://synap402.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start synap-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "synap-mcp": {
      "type": "http",
      "url": "https://synap402.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http synap-mcp https://synap402.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://synap402.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "synap-mcp": {
      "serverUrl": "https://synap402.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Synap MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Synap MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing