# gage (npm · gage-mcp)

Fixed-cost loans on Robinhood Chain: quotes, and each transaction unsigned for your own wallet.

- Trust score: 68/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-22

## Components

- remote · `mcp.gage.cash`: 68/100, [markdown](https://verifymcp.io/servers/cash-gage-gage/mcp.md), [page](https://verifymcp.io/servers/cash-gage-gage/mcp)
- npm · `gage-mcp`: 68/100 (this document), [markdown](https://verifymcp.io/servers/cash-gage-gage/gage-mcp.md), [page](https://verifymcp.io/servers/cash-gage-gage/gage-mcp)

## Channel facts

- Registry: `npm`
- Package: `gage-mcp`
- Version: `0.6.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-22.

- **Supply Chain Security**: 83/100
  - No malware found by supply-chain analysis.
  - CVE check failed: a known high-severity CVE affects @modelcontextprotocol/server 2.0.0, a direct dependency. A fixed version is available.
  - No install/post-install scripts declared.
  - 0 of 22 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 74/100
  - Repository check failed: no source repository is declared.
  - Cryptographically verified build provenance (signed, bound to DebenLabs/gage-sdk).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 3 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 54/100
  - AI-judged instruction clarity (fair).
  - Context-footprint check failed: tool/resource definitions use about 2699 tokens (~142/item across 19 items; 19 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 86/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 59% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 19 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the gage MCP server?

gage runs locally as an npm package, launched with npx -y gage-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add cash-gage-gage -- npx -y gage-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "cash-gage-gage": {
      "command": "npx",
      "args": [
        "-y",
        "gage-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "cash-gage-gage": {
      "command": "npx",
      "args": [
        "-y",
        "gage-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add cash-gage-gage -- npx -y gage-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cash-gage-gage": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "gage-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add cash-gage-gage --command npx --arg -y --arg gage-mcp
```

### Hermes

```yaml
mcp_servers:
  cash-gage-gage:
    command: "npx"
    args: ["-y", "gage-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "cash-gage-gage": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "gage-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add cash-gage-gage -t stdio -c npx -a -y gage-mcp
```

### Other

```json
{
  "mcpServers": {
    "cash-gage-gage": {
      "command": "npx",
      "args": [
        "-y",
        "gage-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-22 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 67, −5)

- [security regression] CVE-2026-111771 affects this package: high
- [security regression] CVE-2026-111770 affects this package: high
- [security regression] CVE-2026-111768 affects this package: high
- [security regression] Known CVEs: pass → fail

### 2026-10-20 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 0 to 3. That category is still filling its 30-day observation window: 0 days of observed history at the previous scan, 1 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-19 (score 71)

First indexed and scored.

## MCP tools (19)

### `gage_capabilities` (~33 tokens)

gage capabilities

Chain, contracts, allowed loan terms, fees, the rules and any lend assets besides USDG. Start here.

### `gage_assets` (~73 tokens)

Collateral gage takes

Tokens gage takes as collateral now: each one's minimum pledge, its most per loan where one is set (maxPerLoan, null where there is none), whether leverage buys it and its Borrow link on gage.cash; a row names the lend asset it is borrowed in, once there is more than USDG.

### `gage_borrow_quote` (~219 tokens)

Borrow quote

The largest loan the partner vaults fund now for at most maxCollateral of a token, or one exact loan (collateral and principal) priced as gage.cash prices it, in USDG or the lend asset named, with a prepare object for gage_prepare_borrow.

Input parameters:

- `collateral` (string): With principal: the exact pledge of one chosen loan, raw units
- `lendAsset` (string): The asset the loan is paid in and repaid in: USDG when omitted, or a lend asset gage_capabilities lists (its token address)
- `maxCollateral` (string): Most of the token to pledge, raw units: quotes the largest loan the vaults fund for it
- `principal` (string): With collateral: the exact amount to borrow, raw units of the loan's asset; priced as the borrow card prices it
- `term` (integer, required): Loan term in seconds, one of the terms gage_capabilities lists
- `token` (string, required)
- `wallet` (string)

### `gage_leverage_quote` (~142 tokens)

Leverage quote

Preview a leveraged loop for a pledge and a multiple: amounts, cost and the most the purchase costs. Signs nothing.

Input parameters:

- `lendAsset` (string): USDG only: leverage lends USDG (a loop in a lend asset is refused)
- `multiple` (number, required): Leverage, 1.1 to 3 with at most two decimals (2 = twice the pledge held for the loan)
- `own` (string, required): The tokens you put in, raw units
- `term` (integer, required): Loan term in seconds, one of the terms gage_capabilities lists
- `token` (string, required)
- `wallet` (string)

### `gage_loan` (~86 tokens)

Loan

One loan: state, amounts, deadlines, what can be done with it now (here, or on gage.cash for an action this server does not serve), its standing instruction to roll by itself, and what closed it (a roll or a cash-out).

Input parameters:

- `engine` (string): The engine; the current core when omitted
- `loanId` (string, required)

### `gage_portfolio` (~59 tokens)

Portfolio

A wallet's loans (each one's sGAGE to claim, raw, and whether it rolls by itself), Earn holdings and credits (USDG, and each lend asset's apart).

Input parameters:

- `wallet` (string, required): The wallet that will sign

### `gage_earn_vaults` (~40 tokens)

Earn vaults

The partner vaults that lend: tokens, fees, size, free cash, share value and each one's link on gage.cash.

### `gage_prepare_borrow` (~196 tokens)

Prepare: Borrow

Prepare a loan: pledge a token, receive USDG (or the lend asset named by lendAsset), repay a fixed amount of it within the term. Use the prepare object of gage_borrow_quote, without its action. Returns the next unsigned transaction; never signs.

Input parameters:

- `cap` (string, required): To repay, raw units of the loan's asset, above principal
- `collateral` (string, required): Tokens to pledge, raw units
- `lendAsset` (string): The asset the loan is paid in and repaid in: USDG when omitted, or a lend asset gage_capabilities lists (its token address)
- `principal` (string, required): To borrow, raw units of the loan's asset (USDG: 6 decimals)
- `term` (integer, required): Loan term in seconds, one of the terms gage_capabilities lists
- `token` (string, required)
- `wallet` (string, required)

### `gage_prepare_leverage` (~185 tokens)

Prepare: Open a loop

Prepare a leveraged loop: the loan buys more of the pledged token in one transaction. USDG only. Refused above maxCostBps. Returns the next unsigned transaction; never signs.

Input parameters:

- `lendAsset` (string): USDG only: leverage lends USDG (a loop in a lend asset is refused)
- `maxCostBps` (integer, required): Highest loan cost you accept, bps of the amount borrowed; the loop is refused above it
- `multiple` (number, required): Leverage, 1.1 to 3 with at most two decimals (2 = twice the pledge held for the loan)
- `own` (string, required): The tokens you put in, raw units
- `term` (integer, required): Loan term in seconds, one of the terms gage_capabilities lists
- `token` (string, required)
- `wallet` (string, required)

### `gage_prepare_cancel` (~76 tokens)

Prepare: Cancel a listing

Prepare cancelling a loan still waiting for funding and taking its collateral back. Returns the next unsigned transaction; never signs.

Input parameters:

- `engine` (string): The engine; the current core when omitted, the loan's own core for a loan in a lend asset
- `loanId` (string, required)
- `wallet` (string, required)

### `gage_prepare_reclaim` (~91 tokens)

Prepare: Repay a loan

Prepare repaying a running loan in full, in the asset it is paid in, and taking the collateral back, before its term ends. Returns the next unsigned transaction; never signs.

Input parameters:

- `engine` (string): The engine; the current core when omitted, the loan's own core for a loan in a lend asset
- `loanId` (string, required)
- `wallet` (string, required)

### `gage_prepare_cash_out` (~187 tokens)

Prepare: Cash a loan out

Prepare cashing a running loan out: its whole collateral is sold through an aggregator, the loan repaid from the sale, and the rest less gage's 0.5% fee paid to the wallet, in one transaction. Returns the next unsigned transaction; never signs.

Input parameters:

- `engine` (string): The engine; the current core when omitted, the loan's own core for a loan in a lend asset
- `loanId` (string, required)
- `maxSlippageBps` (integer): Most the net you receive may fall below the quote, in bps of it; 50 when omitted
- `minNet` (string): The least you accept to receive, raw units of the loan's asset (USDG: 6 decimals): the cash-out is refused under it, and its transaction reverts under it
- `wallet` (string, required)

### `gage_prepare_roll` (~138 tokens)

Prepare: Roll a loan over

Prepare rolling a running loan over: a new loan of the same size on the same pledge repays it in full, and the wallet adds the difference (the old loan's cost and the new fee) or keeps what is over. Returns the next unsigned transaction; never signs.

Input parameters:

- `engine` (string): The engine; the current core when omitted, the loan's own core for a loan in a lend asset
- `loanId` (string, required)
- `term` (integer): The new loan's term in seconds, one gage_capabilities lists; the loan's own term when omitted
- `wallet` (string, required)

### `gage_prepare_auto_roll` (~191 tokens)

Prepare: Roll a loan over by itself

Prepare leaving a loan to roll over by itself: gage's keeper rolls it in its last hours into a loan of the same size and term, at most maxCost each, up to four times. Leaves standing approvals to gage's rollover router. Returns the next unsigned transaction; never signs.

Input parameters:

- `engine` (string): The engine; the current core when omitted, the loan's own core for a loan in a lend asset
- `loanId` (string, required)
- `maxCost` (string): The most each new loan may cost, its fixed cost and origination fee together, raw units of the loan's asset, at most the loan's principal; when omitted, twice what a roll of the loan costs now, held…
- `wallet` (string, required)

### `gage_prepare_cancel_auto_roll` (~76 tokens)

Prepare: Stop rolling a loan over

Prepare ending a loan's instruction to roll over by itself. Returns the next unsigned transaction; never signs.

Input parameters:

- `engine` (string): The engine; the current core when omitted, the loan's own core for a loan in a lend asset
- `loanId` (string, required)
- `wallet` (string, required)

### `gage_prepare_earn_deposit` (~113 tokens)

Prepare: Deposit into Earn

Prepare a deposit into a partner vault (lending), in the asset the vault takes: USDG, or its lend asset. Returns the next unsigned transaction; never signs.

Input parameters:

- `amount` (string, required): To deposit, raw units of the vault's asset (USDG: 6 decimals)
- `maxSlippageBps` (integer): Most the conversion may move against you, in bps; 50 when omitted
- `vault` (string, required)
- `wallet` (string, required)

### `gage_prepare_earn_redeem` (~127 tokens)

Prepare: Withdraw from Earn

Prepare withdrawing from a partner vault, everything it can pay when shares is omitted. Returns the next unsigned transaction; never signs.

Input parameters:

- `maxSlippageBps` (integer): Most the conversion may move against you, in bps; 50 when omitted
- `shares` (string): Shares to redeem, raw (18 decimals); all when omitted, less what a vault of an asset with more than 6 decimals cannot pay after a loss (a millionth of the asset at most)
- `vault` (string, required)
- `wallet` (string, required)

### `gage_prepare_collect` (~114 tokens)

Prepare: Collect what is ready

Prepare collecting what is ready here: USDG and lend assets from loans, collateral back, vault earnings and the sGAGE of loans and partner vaults; a claim that would revert now is left out, and said. The first vault's credits and claims, earlier engines' lender recoveries, retired Earn strategies and the GAGE/sGAGE pool's rewards and Drip are collected on gage.cash. Returns the next unsigned transaction; never signs.

Input parameters:

- `wallet` (string, required): The wallet that will sign

### `gage_prepare_feedback` (~103 tokens)

Prepare: Rate gage

Prepare rating gage (agent #8845 in ERC-8004) in its Reputation Registry: your own score from 0 to 100, once a wallet, public on chain. Optional: gage offers nothing for a rating. Returns the next unsigned transaction; never signs.

Input parameters:

- `score` (integer, required): Your own rating of gage, a whole number from 0 (worst) to 100 (best)
- `wallet` (string, required)

## Diagnostics

Captured diagnostic sections: Provenance, Vulnerabilities, Dependencies. The full working is on the page: https://verifymcp.io/servers/cash-gage-gage/gage-mcp#diagnostics

## Score history

- 2026-10-22: 68
- 2026-10-21: 67
- 2026-10-20: 72
- 2026-10-19: 71

## Common questions

### What is the gage MCP server?

gage is an MCP server listed in the public MCP registry as cash.gage/gage. Fixed-cost loans on Robinhood Chain: quotes, and each transaction unsigned for your own wallet. This page covers its npm package (gage-mcp).

### Is the gage MCP server safe to use?

gage scores 68 out of 100 on VerifyMCP. We recorded 3 known advisories against it as of 22 October 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the gage MCP server expose?

gage exposes 19 tools: gage_capabilities, gage_assets, gage_borrow_quote, gage_leverage_quote, gage_loan, and 14 more. Their descriptions and schemas cost roughly 2,249 tokens of context every time the server is loaded.

### Is the gage MCP server still maintained?

gage is still listed as active in the MCP registry. We last reached this channel on 22 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the gage MCP server under?

gage declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/gage-mcp
- Socket report: https://socket.dev/npm/package/gage-mcp
- Website: https://gage.cash/agents
- Changelog RSS feed: https://verifymcp.io/servers/cash-gage-gage/gage-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/cash-gage-gage/gage-mcp.json
- HTML version of this page: https://verifymcp.io/servers/cash-gage-gage/gage-mcp
