hubris-mcp
This server is an MCP gateway to the Hubris OpenAI-compatible API, letting you browse the model catalog, check pricing and balance, and run chat completions from any MCP client.
List all models (
models_list) — page through the full catalog (≈550 models) with id, display name, capabilities, context length, and pricing.Search/filter models (
models_search) — filter by name substring, capability (vision, reasoning, tools, web_search, audio, image_gen, transcription), minimum context, max input price; sort by cheapest input/output, biggest context, or popularity.Get exact pricing (
models_get_pricing) — authoritative ruble price for any model, including non-token billing (per image, second, character) viaperUnit.Check account balance (
balance_get) — current ruble balance (and exact kopecks) for the API key's Hubris account.Run chat completions (
chat_complete) — call any catalog model with OpenAI‑compatible messages, tools/function calling, structured JSON output, max tokens, stop, seed, and web search; streaming is ignored.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
Hubris MCP
Model Context Protocol server for Hubris — an OpenAI-compatible LLM gateway with billing in rubles. Connect Claude Desktop, Claude Code, Cline, Cursor or any other MCP client to a single hosted server and get access to the model catalog, account balance and spending, and every kind of model in it: text, embeddings, rerankers, decision models, images, speech, transcription, video and YouTube transcripts.
There are two ways in: connect your client straight to the hosted endpoint, or run the stdio server in this repository, which declares the same tools locally and forwards calls to that endpoint. The second is what you want for clients that speak stdio only, and for sandboxes that build from a Dockerfile.
Listing the tools needs no credential; only calling one does. With HUBRIS_API_KEY set, the stdio server takes the tool list live from the hosted endpoint, so it never lags behind new tools; without a key it serves the list bundled with the package.
Endpoint:
https://api.hubris.pw/mcpTransport: Streamable HTTP
Auth: Bearer API key (
sk-gw-..., create one at hubris.pw/keys)Full docs: hubris.pw/docs/integrations/mcp
Tools
Tool | Description |
| Full catalog of active models, cursor-paginated. |
| Filter by the tool that runs the model ( |
| Pricing for a specific model, in rubles; voices for speech models, durations and resolutions for video models. |
| Current account balance. |
| Spending over a period: requests, tokens, rubles. |
| LLM chat request — same as |
| Embedding vectors — |
| Order documents by relevance to a query — |
| Yes/no, choice and scale answers with probabilities — |
| Draw an image, returned as image content — |
| Text to speech, returned as audio content — |
| Speech to text from base64 audio — |
| Start a video generation — |
| Status of a video task; download links once it is ready — |
| Transcript or summary of a YouTube video — |
Related MCP server: 1C Buddy
Resources
URI | Content |
| Full model catalog as a single JSON document. |
| Quickstart page. |
| A finished video, linked from |
Prompts
compare-models {task}— ready-made prompt for comparing models for a given task.
Run locally (stdio)
npm install && npm run build
HUBRIS_API_KEY=sk-gw-... node dist/index.jsOr with Docker:
docker build -t hubris-mcp .
docker run -i --rm -e HUBRIS_API_KEY=sk-gw-... hubris-mcpIn an MCP client config:
{
"mcpServers": {
"hubris": {
"command": "node",
"args": ["/path/to/hubris-mcp/dist/index.js"],
"env": { "HUBRIS_API_KEY": "sk-gw-..." }
}
}
}HUBRIS_MCP_URL overrides the endpoint if you need to point it elsewhere.
Connect
Claude Code
claude mcp add --transport http hubris https://api.hubris.pw/mcp \
--header "Authorization: Bearer sk-gw-..."Claude Desktop
Claude Desktop only speaks stdio, so remote HTTP servers go through the mcp-remote shim. Add to claude_desktop_config.json:
{
"mcpServers": {
"hubris": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.hubris.pw/mcp",
"--transport",
"http-only",
"--header",
"Authorization:${AUTH_TOKEN}"
],
"env": {
"AUTH_TOKEN": "Bearer sk-gw-..."
}
}
}
}Cline / Cursor / other clients
Any MCP client with Streamable HTTP transport support:
Field | Value |
Transport | Streamable HTTP |
URL |
|
Auth header |
|
Full connection guide (with client-specific caveats): hubris.pw/docs/integrations/mcp.
Security
The Bearer key grants access to your account balance. We recommend creating a dedicated key for MCP at hubris.pw/keys so it can be revoked independently of other integrations.
About Hubris
Hubris is an OpenAI-compatible LLM gateway for the Russian market — one API key, one ruble-denominated balance, 400+ models. hubris.pw
Available Tools
5 toolsbalance_getGet account balanceARead-onlyIdempotentInspect
Current balance of the Hubris account the API key belongs to, in rubles.
Worth checking before a long or expensive run: requests are refused once the balance is spent. The balance can go slightly negative — one operation is allowed to overdraw it, and the next one is refused.
Two representations of the same number come back. Use balanceKopecks for arithmetic and comparisons — it is an exact integer string. Use balanceRub for display.
Inputs: no named parameters. Returns: balanceRub, balanceKopecks
chat_completeChat completionAInspect
Run a chat completion on any model in the Hubris catalogue and get the answer back. Full parity with POST /v1/chat/completions — same request shape, same response shape, including tool calls, structured output and reasoning. Streaming is not available here: MCP tool calls are synchronous, and stream is ignored if you pass it.
This is how you reach a model you cannot reach otherwise — pick an id with models_search, then call it here. Useful for delegating a subtask to a cheaper or a stronger model than the one you are running on.
The call spends real money from the account balance: it is billed per token at the catalogue price, in rubles. balance_get shows what is left.
Inputs: model (required), messages (required), seed, stop, +7 more.
models_get_pricingGet model pricingARead-onlyIdempotentInspect
The full price of one model in rubles — the authoritative answer to "what does this cost".
Prefer this over the pricing embedded in models_list and models_search whenever the model is not billed per token. Those two return "0.00" token rates for such models; only this tool returns perUnit, where the real price per image, per second or per thousand characters lives.
Errors with InvalidParams if the model id is unknown or the model is no longer active.
Inputs: modelId (required). Returns: unit, isFree, perUnit, currency, +2 more
models_listList modelsARead-onlyIdempotentInspect
Walk the whole Hubris catalogue page by page, ordered by model id. Returns every active model with its capabilities, context window and ruble price.
Use this when you need the complete catalogue — to cache it, to count models, or to scan for something no filter covers. When you are looking for a model that fits a task, use models_search instead: it filters by capability, price and context server-side and saves you a few hundred rows.
Paging: read nextCursor from the response and pass it back as cursor. When nextCursor is absent you have reached the end. The catalogue holds roughly 550 models, so a full walk is about 11 calls at the default page size.
Inputs: limit, cursor. Returns: models, nextCursor
models_searchSearch modelsARead-onlyIdempotentInspect
Find models that fit a task. Filters by name, capability, price ceiling and context window, and can sort the result. This is the tool to reach for when choosing a model — it does the filtering server-side and returns at most 50 rows.
All filters combine with AND, and every one of them is optional: calling with no arguments returns the first 50 active models.
Two things worth knowing about prices. maxInputPer1MRub keeps only models billed per token, because a ruble-per-million ceiling is meaningless for a model billed per image. The cheap_input and cheap_output sorts push non-token models to the end of the list for the same reason — their token rate reads as zero, which would otherwise put video models at the top of "cheapest".
Inputs: sort, query, capability, minContext, +1 more. Returns: models
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
The only potential overlap is models_search vs models_list, but descriptions clearly separate filtered search from full paginated listing. models_get_pricing, balance_get, and chat_complete each map to distinct operations.
Three tools share a models_ prefix, but balance_get and chat_complete break the pattern, and models_get_pricing mixes verb placement. The names are readable but not fully consistent.
Five tools is well within the ideal 3–15 range and each tool earns a place for the catalog, pricing, balance, and chat workflow.
The set covers model discovery, pricing, balance checking, and chat completion, which are the core capabilities implied by the server. A dedicated single-model lookup would round it out, but search/list already cover retrieval.
Maintenance
Related MCP Connectors
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
MCP server for AI dialogue using various LLM models via AceDataCloud
Focused MCP server for OpenAI image/audio generation (v2.0.0). Wraps endpoints via HAPI CLI.
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that provides LLMs access to other LLMs449 npm82MIT
- AlicenseNot gradedqualityCmaintenanceMCP server providing tools for interacting with 1С:Напарник AI, including asking questions, syntax explanation, code review, and documentation search. Also serves as a web chat interface and OpenAI-compatible API gateway.109AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceMCP server that provides tools to interact with the LiteLLM proxy API, enabling LLM completions, embeddings, image generation, and admin operations.70 npmMIT
- FlicenseNot gradedqualityDmaintenanceMCP server that interfaces with Gemini and OpenAI CLI tools to enable AI model interactions. It provides a bridge to external AI CLIs with predefined model configurations.-