Bukku accounting API tools for Claude via Model Context Protocol
Gainium is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
Open InstallationWhat it does
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Quickstart
# 1 — run it from where its publisher ships it
npx -y gainium-mcp
# 2 — ask your agent something
> MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Gainium is free: there is no plan to choose, no cap to set and nothing that can bill you.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. This one runs on your machine: your client starts Gainium as a process under your own user, with your files and your network, so the tool surface below is what it can do to your computer rather than to a server somewhere else. It is scanned, signed and pinned to the version you choose — read the surface before you approve it.
This is a public server: you run it yourself and this marketplace is not in the path. Claude Code registers it in one command.
claude mcp add gainium-mcp -- npx -y gainium-mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
It reaches a system of yours, so it needs your own credential rather than the publisher’s: GAINIUM_API_KEY, GAINIUM_API_SECRET. You set them after installing; the value is sealed here and sent to the server on each call.
One config entry your client uses to start the process locally. A local server runs with your file system and your network, which is why it is priced without metering.
19 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
List the authenticated user's bots of one type (DCA, Combo, or Grid), with status/pagination/paper-context filters. Returns one page (controlled by `page`) of bot records; `fields` accepts a preset (minimal | standard | extended | full) or a comma-separated list of specific fields. Use this when you don't know the bot id yet or want to filter/browse — once you have an id, use `get_bot` for the sin
Takes no parameters.
Read a single bot by its MongoDB ObjectId or UUID. Returns the full bot record (fields controlled by the same `fields` preset/csv as `list_bots`). Use when you already have the bot id and need its current config or recent stats. To browse without an id use `list_bots`; to modify config use `update_bot`; to start/stop/archive use `manage_bot`.
Takes no parameters.
Create a new bot in a single step — no follow-up update needed. The top-level properties cover the most common fields. For any field from discover(target: "bot") that is NOT listed here (e.g. startOrderType, useMoveTP, moveTPTrigger, moveTPValue, stopLossTimeout, takeProfitTimeout, dcaOrdersMultiplier, dcaStepMultiplier, trailingTP, trailingTPPerc, indicators, timers, and any other discovery field
Takes no parameters.
Patch the settings of an existing DCA or Combo bot (Grid has no update endpoint — clone-and-recreate it instead). Pass only the fields you want to change inside `settings`; an empty `settings` object is rejected. Boolean gate enforcement: feature value fields (e.g. `slPerc`, `moveTPTrigger`) are silently ignored unless their toggle (`enableSL`, `useMoveTP`, etc.) is also set to `true` — to turn a
Takes no parameters.
Duplicate an existing bot — copies all configured settings into a new bot and returns the new bot id. Open deals on the source are NOT copied; the clone starts empty. Pass `overrides` (object of changed fields) to tweak the clone in the same call — e.g. change `pair` or `name` without a follow-up `update_bot`. Use this over `create_bot` when you want an exact replica of a working config (faster, l
Takes no parameters.
Bot lifecycle actions: `start`, `stop` (requires `closeType` for DCA/Combo or `closeGridType` for Grid — controls how open deals are unwound), `archive`, `restore`, or `changePairs` (DCA only — requires `pair` array). Effects are immediate: `stop` cancels new entries and may close positions per the chosen `closeType`, `archive` hides a stopped bot from default lists, and `changePairs` mutates the
Takes no parameters.
List the user's deals of one type (DCA, Combo, or Terminal) with status, `botId`, and paper-context filters. Returns one page; `fields` accepts a preset or comma-separated list. Use this to find active/closed deals across bots or filter by status — once you have a `dealId`, switch to `get_deal` for full detail, `update_deal` for config edits, or `manage_deal` for lifecycle actions (close/add/reduc
Takes no parameters.
Read a single deal by its MongoDB ObjectId — returns the full record (entries, exits, current PnL, settings). `fields` uses the same preset/csv shape as `list_deals`. Use when you already have the `dealId`; to browse without one use `list_deals`, to change settings use `update_deal`, to act on the position use `manage_deal`.
Takes no parameters.
Open a new deal — places real entry orders immediately. Two modes by `dealType`: `dca` or `combo` opens a new deal under an existing bot (`botId` required, `symbol` optional override); `terminal` opens a standalone terminal deal not tied to a bot (`exchangeUUID`, `terminalDealType`, `pair`, `strategy`, sizing, TP/SL required — any extra config goes inside `settings`, which is merged into the reque
Takes no parameters.
Patch the settings of an existing open deal (e.g. take-profit %, stop-loss, trailing TP). Pass only the fields you want to change inside `settings`; empty `settings` is rejected. Changes apply to the deal's pending/future orders; already-filled entries are not re-priced. For close/add/reduce funds use `manage_deal`; for bot-wide config changes use `update_bot`.
Takes no parameters.
Lifecycle actions on a single open deal: `close` (terminal — requires `closeType`), `addFunds`, or `reduceFunds` (both require `qty`, `type`, and — when type="fixed" — `asset`). Returns the updated deal record on success. Effects are immediate and not reversible — a market close fills at the current price, an `addFunds` opens a new entry order. Use this for *running* deals; create new deals with `
Takes no parameters.
Submit a backtest of a candidate bot configuration. Four modes by `mode`: `validate` (server-side schema/sanity check, no run), `estimate` (return credit cost without running), `request` (enqueue an async job — returns a request id you poll via `backtest_info`), `requestSync` (block until done and return the result inline — only viable for small payloads). `request`/`requestSync` consume backtest
Takes no parameters.
Read-only access to backtest metadata, results, and templates. Four targets by `target`: `requests` (list the user's past backtest requests with status), `request` (fetch a single request — needs `requestId` — returns full results when complete, progress when pending), `schema` (return the JSON shape of a backtest payload for a given `botType` — start here before composing a payload), `template` (
Takes no parameters.
Read-only catalog of available bot types, fields, defaults, and indicators — the source of truth for what `create_bot` / `update_bot` accept. Six targets by `target`: `bots` (list bot-type names), `bot` (full field schema + defaults for one `botType` — call before `create_bot` to learn what every field means), `botSections` (section grouping for a `botType`), `indicators` (list available indicator
Takes no parameters.
Read-only account information selected via `info`: `balances` (per-exchange holdings — `exchangeId`, `asset`/`assets` filters apply), `exchanges` (connected exchange accounts and their UUIDs — needed as `exchangeUUID` when creating bots), `globalVariables` (user-defined constants accessible in strategies), or `supportedExchanges` (catalog of exchanges Gainium can connect). `exchangeId`/`asset`/`as
Takes no parameters.
Create, update, or delete a global variable. Variables are user-defined constants referenced by name inside bot strategy expressions. `action` controls which: `create` needs `name`/`type`/`value`; `update` needs `id` plus any of `name`/`type`/`value`; `delete` needs `id` only. Delete is irreversible — any strategy that references the deleted variable will fall back to its inline default at next ev
Takes no parameters.
Read-only cryptocurrency screener — browse live price, 24h % change, volume, and market-cap data across hundreds of pairs. Pagination is 1-based (10 coins per page). Sorting is applied client-side AFTER fetching, so `maxPages` (≤30, default 10) controls how many pages the server fetches before ranking — raise it for "most volatile across the market" queries, lower it to save API calls when an unso
Takes no parameters.
Read-only curated bot-strategy presets ranked by backtested performance. Each coin returns tiers (short/mid/long) × strategy (long/short) with ROI, drawdown, and the full strategy `settings`. Filters: `botType` (required), `coin`+`exchange` (narrow to one pair — skips the closed-deals floor), `strategy` (long/short), `limit` (1–50, default 10). Set `summary: true` to drop the per-tier settings blo
Takes no parameters.
Create a real bot from a curated preset in a single call — equivalent to `list_presets` → pick row → `create_bot` collapsed into one step. Identifies the preset by `botType` + `coin` + `exchange` + `tier` + `strategy`, then creates a bot from its `settings`. Optional overrides: `pair` (override the default pair), `name` (custom bot name), and `baseOrderSize` / `orderSize` (override sizing without
Takes no parameters.
- Every tool, no call limit
- No card, no account needed
- Source published under a licence you can read
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because nothing bills
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable. Gainium costs nothing to install and nothing to call, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| verification-discount | repo | publisher verification (public source) — no provenance, but the source is public and inspectable | −1 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
Tools were statically extracted from the published source (20 recovered), not enumerated from a running server. Tool-poisoning, Unicode-smuggling, capability and toxic-flow analysis ran on this inferred surface, but a mis-parsed registration could be missed or mis-attributed, so tool-derived findings are capped below “confirmed”. To grade the real runtime surface, scan the running server: --command "npx -y <package>".
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| list_bots | no tags | |
| get_bot | no tags | |
| create_bot | no tags | |
| update_bot | no tags | |
| clone_bot | no tags | |
| manage_bot | no tags | |
| list_deals | no tags | |
| get_deal | no tags | |
| create_deal | no tags | |
| update_deal | no tags | |
| manage_deal | no tags | |
| run_backtest | no tags | |
| backtest_info | no tags | |
| discover | no tags | |
| get_account | no tags | |
| manage_global_variable | no tags | |
| get_screener | untrusted-input | |
| list_presets | no tags | |
| apply_preset | no tags | |
| Gainium agent workflow | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
Pinned to 3.3.0 — the install command below asks for that release. A pin is part of an install, so it is kept for this visit and written down when you install.
No release note was published with this version.
Only accounts with at least 50 real tool calls against this server in the last 90 days can post. Ratings are weighted by how much the reviewer actually uses it, and publishers can reply once per review.
Writing one takes an account with at least 50 real tool calls against Gainium in the last 90 days. That is the whole gate — there is no other way to post, which is why the counts beside each review are worth reading.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes an account with 50 real tool calls against it.