Skip to content
Agentmart
Submit a tool

Hubris

OpenAI-compatible LLM gateway for Russia: 500+ models, ruble pricing, balance, chat.

Connector by hubris.pwOfficial · Domain verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/hubris-pw-hubris-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://api.hubris.pw/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

OpenAI-compatible LLM gateway for Russia: 500+ models, ruble pricing, balance, chat.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
6 read · 9 write · 0 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 15

Read from the source code; the running server may list different tools.

Read 6 · Look things up without changing anything.

  • balance_get
  • models_get_pricing
  • models_list
  • models_search
  • usage_get
  • video_get

Write 9 · Create, change, send or run things.

  • chat_complete
  • decisions_ask
  • embeddings_create
  • image_generate
  • rerank
  • speech_create
  • transcription_create
  • video_create
  • youtube_transcribe

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • HUBRIS_API_KEY

Network hosts it talks to 1

  • api.hubris.pw · found in remote endpoint, install command

Tools (15)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • balance_getGet account balanceread-only

    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.

  • chat_completeChat completion

    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. Chat models that draw (Gemini Image, GPT-5 Image) take modali…

  • decisions_askAsk a decision model

    Ask a decision model (Jev, Clef, Mercury Decide and others) structured questions about some data and get probabilities instead of text. Same as POST /v1/decisions. Question types: "noul" — yes or no, answered as the probability of yes; "choice" — one option out of criteria; "score" — a level on the scale given in criteria. All questions are answered in one call. Good for classification, routing and triage where you need a calibrated number rather than prose — and much cheaper than asking a chat model. Spends money from the account balance: billed per input token only. usage.cost_rub is what …

  • embeddings_createCreate embeddings

    Turn text into embedding vectors with any embedding model in the Hubris catalogue — for semantic search, RAG, deduplication and clustering. Same as POST /v1/embeddings, OpenAI shape: data[i].embedding is the vector for input[i]. Pass a list of strings to embed a batch in one call, which is faster and cheaper than one call per string. Vectors are long: 1536 numbers make about 30 KB of JSON, and the whole answer lands in your context. Embed only what you will actually store or compare, use `dimensions` where the model allows it, and send large batches through the HTTP API (POST /v1/embeddings).…

  • image_generateGenerate an image

    Draw an image from a text description with an image model from the Hubris catalogue (FLUX, Recraft, Seedream, GPT Image and others) and get the picture back right away as image content. Same as POST /v1/images/generations. Only models whose `tool` is "image_generate" work here. Models that draw inside a chat answer and also write text (Gemini Image, GPT-5 Image) have tool "chat_complete" and run there. Sizes such as 4K can be heavier than your client accepts in one answer — ask for 2K or less here. Spends money from the account balance: most image models are billed per image, some per megapi…

  • models_get_pricingGet model pricingread-only

    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. For speech models it also lists the voices speech_create accepts (`supportedVoices`), for video models the durations, resolutions and aspect ratios video_create accepts (`video`). Errors with InvalidParams if the model id is un…

  • models_listList modelsread-only

    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_searchSearch modelsread-only

    Find models that fit a task. Filters by name, the tool that runs the model, 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_out…

  • rerankRerank documents

    Order documents by how well they answer a query, best first, with a relevance score each. Same as POST /v1/rerank. Typical use: a vector or keyword search finds 50–100 candidates, rerank picks the few that really answer the question, and only those go to the model — answers get more accurate and prompts shorter. results[].index points into the documents list you sent. Scores are comparable only within one response. Spends money from the account balance: Cohere models are billed per search (up to 100 documents), the rest per input token. usage.cost_rub is what this call cost.

  • speech_createText to speech

    Read text aloud with a text-to-speech model from the Hubris catalogue and get the audio file back as audio content. Same as POST /v1/audio/speech. Many models need a voice: the list of voices is on the model card (models_get_pricing → supportedVoices) — pick one from there. The answer is mp3 unless you ask for pcm. Up to 5 000 characters per call, a few minutes of speech; split longer texts or use the HTTP API (POST /v1/audio/speech). Spends money from the account balance: priced per character of text or per second of audio, depending on the model — models_get_pricing shows which. The charge…

  • transcription_createSpeech to text

    Transcribe a recording to text with a speech recognition model from the Hubris catalogue (Whisper, GPT-4o Transcribe, Deepgram, ElevenLabs Scribe and others). Same as POST /v1/audio/transcriptions with the audio sent as base64. Pass the file content itself, base64-encoded — links to files are not accepted. Every byte of the recording is written out inside this call, so it suits clips of seconds, not minutes; send longer recordings through the HTTP API (POST /v1/audio/transcriptions). Spends money from the account balance: most models are billed per second or minute of audio, some per token. …

  • usage_getGet spending for a periodread-only

    What this connection has spent over a period: requests, tokens, cache savings and the total in rubles. Same as GET /v1/usage. With an API key that is the key's spending; connected through OAuth, it is the spending of the whole app connection over the period, not just of the current hourly token. Use it to report what a run cost, to check spending against a budget, or to see the charge of tools that do not return their own price (image_generate, speech_create). balance_get shows what is left on the account. Free to call: it only reads.

  • video_createStart a video generation

    Start generating a video from a text prompt with a video model from the Hubris catalogue (Veo, Kling, Seedance, Wan, Hailuo, Runway and others). Same as POST /v1/videos. Generation takes from one to several minutes, so this returns a task id right away; poll video_get with it every 15–30 seconds until status is "completed" or "failed". Allowed durations, resolutions and aspect ratios differ per model — models_get_pricing lists them under `video`. This tool takes a text prompt only: starting from images or a source video, and models that need a source — video editing, upscaling and talking ava…

  • video_getCheck a video generationread-only

    Status of a video task started with video_create: "pending", "in_progress", "completed" or "failed". Same as GET /v1/videos/{id}. While the video is being made, usage.estimated_cost is the amount held on the balance. Once it is "completed", usage.cost is the final price and the answer carries a link to the video file as an MCP resource (video/mp4) — read that resource to get the video itself. The file is kept for 72 hours. Files over 25 MB are not served as a resource; download those over HTTP (GET /v1/videos/{id}/content) with the same key. Free to call: it only reads the task. Poll every 1…

  • youtube_transcribeTranscribe a YouTube video

    Transcript or summary of a YouTube video by its link. Same as POST /v1/video/transcriptions. The video is checked before any model is called: a deleted, private or link-only video, a live stream and a video longer than four hours are refused without charge. mode "exact" gives a word-for-word transcript, each line with an [HH:MM:SS] timecode, optionally labelled by speaker. mode "fast" gives a summary with key points and rough timecodes — several times faster and cheaper on long videos. An hour-long video in "exact" takes several minutes, which may exceed your client's tool timeout; prefer "fa…

Compare and alternatives

    Featured in

    Signals

    Stars
    0
    Forks
    0
    Open issues
    0
    Last commit
    Oct 20, 2026 (8 days ago)
    Last release
    Sep 8, 2026 (1 month ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    Registry name
    pw.hubris/hubris-mcp
    Version
    1.1.0
    Auth
    Auth not stated, API key
    Packages
    npm hubris-mcp
    License
    MIT
    Website
    hubris.pw
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026
    Cite this page

    Hubris MCP server. Agent Mart. https://agentmart.dev/connectors/hubris-pw-hubris-mcp (last updated 2026-10-24)