LLM Broker
One key, every model: measured scores and live prices, routed per request to the cheapest fit.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"broker": {
"url": "https://api.llm-broker.net/api/v1/broker/mcp"
}
}
}Remote-Endpunkte
https://api.llm-broker.net/api/v1/broker/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (8)
🟢list_models(category, limit, currency, region, max_price_per_mtok)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"coding",
"instruction_following",
"math",
"reasoning"
]
},
"limit": {
"default": 10,
"maximum": 50,
"type": "integer",
"minimum": 1
},
"currency": {
"type": "string",
"description": "ISO 4217 code, default USD"
},
"region": {
"type": "string",
"enum": [
"ch",
"eu",
"us",
"asia",
"global"
]
},
"max_price_per_mtok": {
"type": "number",
"description": "Max output price per 1M tokens, in currency"
}
}
}🟢get_model(id, currency)
One model from list_models by id: measured scores per category, price per 1M tokens (default USD), regions, context and capabilities.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"currency": {
"type": "string",
"description": "ISO 4217, default USD"
}
},
"required": [
"id"
]
}🟢recommend_model(category, currency, region, capabilities, min_score, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"coding",
"instruction_following",
"math",
"reasoning"
]
},
"currency": {
"type": "string",
"description": "ISO 4217, default USD"
},
"region": {
"type": "string",
"enum": [
"ch",
"eu",
"us",
"asia",
"global"
]
},
"capabilities": {
"type": "array",
"items": {
"type": "string",
"enum": [
"reasoning",
"structured_output",
"tools",
"vision"
]
}
},
"min_score": {
"maximum": 1,
"type": "number",
"minimum": 0
},
"max_price_per_mtok": {
"type": "number",
"description": "Max output price per 1M tokens, in currency"
}
},
"required": [
"category"
]
}🟢estimate_cost(currency, model, input_tokens, output_tokens)
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).
Eingabe-Schema
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"description": "ISO 4217, default USD"
},
"model": {
"type": "string"
},
"input_tokens": {
"default": 0,
"type": "integer",
"minimum": 0
},
"output_tokens": {
"default": 0,
"type": "integer",
"minimum": 0
}
},
"required": [
"model"
]
}🟢chat(messages, prompt, model, max_tokens, routing)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"messages": {
"type": "array",
"items": {
"type": "object"
}
},
"prompt": {
"type": "string",
"description": "Shortcut for a single user message"
},
"model": {
"default": "taylor",
"type": "string"
},
"max_tokens": {
"type": "integer",
"minimum": 1
},
"routing": {
"type": "object"
}
}
}🟢get_balance
Balance, credit limit and spend this month (CHF, the book currency), billing mode and payment currency of the account behind Authorization: Bearer ast_sk_….
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢report_outcome(reason, request_id, outcome)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"reason": {
"type": "string",
"maxLength": 500
},
"request_id": {
"type": "string"
},
"outcome": {
"type": "string",
"enum": [
"success",
"failure"
]
}
},
"required": [
"request_id",
"outcome"
]
}🟡create_account(level, category, limit, currency, amount, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"level": {
"type": "string"
},
"category": {
"type": "string",
"description": "optional, with level: a fixed performance promise"
},
"limit": {
"type": "integer",
"description": "monthly credit limit in currency"
},
"currency": {
"default": "USD",
"type": "string"
},
"amount": {
"type": "integer",
"description": "topup amount in currency"
},
"billing": {
"type": "string",
"enum": [
"topup",
"monthly"
]
}
},
"required": [
"billing"
]
}Community
Nachweis