New:Socket for Asana Is Now Available.Learn more
Get Started

@moneolabs/mcp

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@moneolabs/mcp

MCP server for Moneo: hand any agent host a guarded wallet and trading tools.

Source
npmnpm
Version
0.3.1
Version published
Weekly downloads
59
-43.81%
Maintainers
1
Weekly downloads
 
Created
Source

@moneolabs/mcp

An MCP server that hands any agent host a guarded wallet — and, when you want it, trading — with keys the model never sees and a policy that runs before anything is signed. A refusal comes back as a result with a reason, not an exception, so the model reads why it was stopped instead of retrying into oblivion.

Try it in one command

No API key, no account. The server generates a key on first run, keeps it at ~/.moneo/key.json, and prints the wallet address — fund it with USDG to pay or trade, and keep a little ETH on Robinhood Chain for gas:

npx @moneolabs/mcp

Claude Code

claude mcp add moneo -- npx @moneolabs/mcp

Claude Desktop, Cursor, and friends

{
  "mcpServers": {
    "moneo": {
      "command": "npx",
      "args": ["@moneolabs/mcp"]
    }
  }
}

Hermes

Add the server under mcp_servers in ~/.hermes/config.yaml:

mcp_servers:
  moneo:
    command: "npx"
    args: ["@moneolabs/mcp"]

Start hermes chat and the tools register as mcp_moneo_*. If you edit the config mid-session, /reload-mcp picks it up without restarting.

Tools

ToolWhat it does
get_balanceBalance and what is not already committed
preflight_paymentWould this payment pass, without making it
payPay an address, invoice, or x402 endpoint; policy runs first
get_spending_limitsLimits in force and what is left of each budget
list_paymentsPayments made this session
get_quotePrice a trade across venues without committing
execute_orderQuote and execute: market, limit, TWAP, or bracket
list_positionsOpen positions with cost basis and unrealized P&L
close_positionExit with the same guarantees as entry

Configure the wallet

Environment variables, because MCP host configs pass env:

VariableDefault
MONEO_AGENTmoneo-agentIdentity recorded on every decision
MONEO_FUNDING5,000 USDGStarting balance
MONEO_ASSETUSDGDefault asset
MONEO_POLICYbuilt-in cautious policyPath to a policy JSON file
{
  "mcpServers": {
    "moneo": {
      "command": "npx",
      "args": ["@moneolabs/mcp"],
      "env": {
        "MONEO_POLICY": "/etc/agents/overnight-policy.json",
        "MONEO_FUNDING": "10,000 USDG"
      }
    }
  }
}

A policy file is the same shape createGuard takes:

{
  "perTransaction": { "max": "$400" },
  "rolling24h": { "max": "$2,000" },
  "velocity": { "max": 10, "per": "1h" },
  "counterparties": "allowlist-only",
  "allow": ["x402:*", "venue:*"],
  "escalate": { "above": "$1,000" }
}

Serve your own wallet

Robinhood Chain is the default, not a ceiling. The rail and the venue are interfaces — wire the server to whatever signer, rail, and venue you run instead:

import { createMcpServer, serveStdio } from "@moneolabs/mcp";
import { createGuard } from "@moneolabs/guard";
import { createWallet } from "@moneolabs/wallet";

const guard = createGuard(policy);
const wallet = await createWallet({ agent: "ops-03", signer, rail, guard });

await serveStdio(createMcpServer({ wallet, guard, trading }));

Part of Moneo: autonomous finance for AI agents on Robinhood Chain. MIT.

Keywords

mcp

FAQs

Package last updated on 05 Aug 2026

Related posts