Koskamo

LLM Broker MCP

An official MCP server provided by AstrionCore for the LLM Broker platform. It enables agents to list models, get model details, recommend models based on constraints, estimate costs, and create accounts. With an API key, it supports chat completions and balance checks, routing requests to the cheapest model that meets specified criteria.

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.

LLM Broker MCP logo, by AstrionCoreVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by AstrionCore
You need:key `Authorization: Bearer ast_sk_…`
MCP endpoint (Streamable HTTP)
https://api.llm-broker.net/api/v1/broker/mcp
Vendor documentation

What its tools do

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

8 of 8 have a description · 8 of 8 declare behavior hints · 0 of 7 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 llm-broker.net ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Recommend the best model for a coding task
  • Estimate the cost of a request
  • List available models and their prices
  • Create a new account for API access

Source and maintenance

Vendor evidenceRegistry 1.3.0

Protocol and capabilities

Server
llm-broker 1.3.0
MCP protocol negotiated in check
2025-06-18
Tools
8 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

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

One OpenAI-compatible key, routed per request to the cheapest offer that meets your criteria. Without a key: list_models, get_model, recommend_model (best and best-value pick for a task) and estimate_cost. No key yet? create_account returns a card checkout link for your human — the key appears once at status_url after payment. With Bearer ast_sk_…: chat (billed like the REST API), get_balance and report_outcome (did a request do its job — request_id is in broker.receipt).

Tools

8 advertised

list_models — List models with measured scores and prices
Advertised by the server during the last successful anonymous check.
Advertised read-only

Models on the broker with benchmark scores per category (0–1, measured by us), price per 1M tokens (default USD, any currency from GET /api/v1/broker/currencies) and regions. Filter by category, region and price; sorted by score in the category, else by price.

list_models input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1
    },
    "region": {
      "enum": [
        "ch",
        "eu",
        "us",
        "asia",
        "global"
      ],
      "type": "string"
    },
    "category": {
      "enum": [
        "coding",
        "instruction_following",
        "math",
        "reasoning"
      ],
      "type": "string"
    },
    "currency": {
      "type": "string",
      "description": "ISO 4217 code, default USD"
    },
    "max_price_per_mtok": {
      "type": "number",
      "description": "Max output price per 1M tokens, in currency"
    }
  }
}
list_models annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_model — Get one model with scores and prices
Advertised by the server during the last successful anonymous check.
Advertised read-only

One model from list_models by id: measured scores per category, price per 1M tokens (default USD), regions, context and capabilities.

get_model input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "currency": {
      "type": "string",
      "description": "ISO 4217, default USD"
    }
  }
}
get_model annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
recommend_model — Recommend a model for a task
Advertised by the server during the last successful anonymous check.
Advertised read-only

Picks from the published catalog (our own benchmark scores, list prices): best = highest score in the category, best_value = score per output price, plus alternatives. Only measured models are recommended. Returns chat_arguments for that model and a routing object to let the broker pick per request.

recommend_model input schema
{
  "type": "object",
  "required": [
    "category"
  ],
  "properties": {
    "region": {
      "enum": [
        "ch",
        "eu",
        "us",
        "asia",
        "global"
      ],
      "type": "string"
    },
    "category": {
      "enum": [
        "coding",
        "instruction_following",
        "math",
        "reasoning"
      ],
      "type": "string"
    },
    "currency": {
      "type": "string",
      "description": "ISO 4217, default USD"
    },
    "min_score": {
      "type": "number",
      "maximum": 1,
      "minimum": 0
    },
    "capabilities": {
      "type": "array",
      "items": {
        "enum": [
          "reasoning",
          "structured_output",
          "tools",
          "vision"
        ],
        "type": "string"
      }
    },
    "max_price_per_mtok": {
      "type": "number",
      "description": "Max output price per 1M tokens, in currency"
    }
  }
}
recommend_model annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
estimate_cost — Estimate the cost of a request
Advertised by the server during the last successful anonymous check.
Advertised read-only

Cost estimate at list price for a model and token counts, in your currency. The bill follows the offer the router actually picks (broker.cost in the chat result).

estimate_cost input schema
{
  "type": "object",
  "required": [
    "model"
  ],
  "properties": {
    "model": {
      "type": "string"
    },
    "currency": {
      "type": "string",
      "description": "ISO 4217, default USD"
    },
    "input_tokens": {
      "type": "integer",
      "default": 0,
      "minimum": 0
    },
    "output_tokens": {
      "type": "integer",
      "default": 0,
      "minimum": 0
    }
  }
}
estimate_cost annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
chat — Run a chat completion through the broker
Advertised by the server during the last successful anonymous check.
Open-world

Sends messages to the broker (OpenAI chat completions). model defaults to `taylor` (strongest measured model); any id from list_models works. routing sets criteria per request, e.g. {"category": "coding", "level": "best"}. Needs Authorization: Bearer ast_sk_… — billed like the REST API.

chat input schema
{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "default": "taylor"
    },
    "prompt": {
      "type": "string",
      "description": "Shortcut for a single user message"
    },
    "routing": {
      "type": "object"
    },
    "messages": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "max_tokens": {
      "type": "integer",
      "minimum": 1
    }
  }
}
chat annotations
{
  "readOnlyHint": false,
  "openWorldHint": true
}
get_balance — Account balance and spend
Advertised by the server during the last successful anonymous check.
Advertised read-only

Balance, credit limit and spend this month (CHF, the book currency), billing mode and payment currency of the account behind Authorization: Bearer ast_sk_….

get_balance input schema
{
  "type": "object",
  "properties": {}
}
get_balance annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
report_outcome — Report whether a request did its job
Advertised by the server during the last successful anonymous check.

Tell the broker if the answer to a request worked for your task — request_id comes from broker.receipt of every chat answer. Outcomes appear per model in list_models as reported (failures_30d / outcomes_30d), so the scores are checked against real tasks. No refund, no price change.

report_outcome input schema
{
  "type": "object",
  "required": [
    "request_id",
    "outcome"
  ],
  "properties": {
    "reason": {
      "type": "string",
      "maxLength": 500
    },
    "outcome": {
      "enum": [
        "success",
        "failure"
      ],
      "type": "string"
    },
    "request_id": {
      "type": "string"
    }
  }
}
report_outcome annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
create_account — Buy an API key
Advertised by the server during the last successful anonymous check.
Open-world

Creates a card checkout (Stripe) for a new broker account — same as POST /api/v1/broker/accounts. Give checkout_url to your human; after payment the API key is shown exactly once at status_url (GET, poll until 200). topup: amount 10/25/50, monthly: limit 50/100/250 (USD/EUR/CHF; other currencies: GET /api/v1/broker/currencies). Omit category and level to choose per request.

create_account input schema
{
  "type": "object",
  "required": [
    "billing"
  ],
  "properties": {
    "level": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "description": "monthly credit limit in currency"
    },
    "amount": {
      "type": "integer",
      "description": "topup amount in currency"
    },
    "billing": {
      "enum": [
        "topup",
        "monthly"
      ],
      "type": "string"
    },
    "category": {
      "type": "string",
      "description": "optional, with level: a fixed performance promise"
    },
    "currency": {
      "type": "string",
      "default": "USD"
    }
  }
}
create_account annotations
{
  "readOnlyHint": false,
  "openWorldHint": 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 (2 of 2 answered).

  1. 2026-11-07: 1 of 1 checks answered
  2. 2026-11-09: 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
1307 ms
95th percentile latency
1307 ms

Maintenance history

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

  • · probe · passed · 1307 ms · metadata changed · 8 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 llm-broker-mcp https://api.llm-broker.net/api/v1/broker/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 llm-broker-mcp --url https://api.llm-broker.net/api/v1/broker/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable llm-broker-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "llm-broker-mcp": {
      "url": "https://api.llm-broker.net/api/v1/broker/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "llm-broker-mcp": {
      "type": "streamableHttp",
      "url": "https://api.llm-broker.net/api/v1/broker/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start llm-broker-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "llm-broker-mcp": {
      "type": "http",
      "url": "https://api.llm-broker.net/api/v1/broker/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 llm-broker-mcp https://api.llm-broker.net/api/v1/broker/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://api.llm-broker.net/api/v1/broker/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": {
    "llm-broker-mcp": {
      "serverUrl": "https://api.llm-broker.net/api/v1/broker/mcp"
    }
  }
}

Let your agent find its tools

Find servers like LLM Broker 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 LLM Broker 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