mcpField
M
Moneo

Moneo

本地服务
moneowallet.com金融数据012 周前更新

关于 Moneo

Moneo 是面向 AI Agent 的钱包与资金策略工具包,在签名之前评估限额、预算和交易对手规则。它面向构建金融 Agent 的开发者,并提供可通过 MCP 使用的 Robinhood Chain 交易工具。

主要功能

  1. 01按 Agent 配置独立账户
  2. 02签名前执行支出策略检查
  3. 03设置限额、滚动预算与交易对手名单
  4. 04记录策略决定、原因与版本
  5. 05提供报价、订单与持仓功能

适用场景

  1. 01限制 Agent 的单笔和每日支出
  2. 02在签名前阻止不符合策略的付款
  3. 03让 Agent 查询报价并模拟交易

MCP 相关

@moneolabs/mcp 提供 MCP 服务,将受策略保护的钱包交给 Agent 主机使用,并支持 Robinhood Chain 上的交易工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"moneolabs-moneo": {
"command": "npx",
"args": [
"-y",
"@moneolabs/mcp"
],
"env": {
"MONEO_AGENT": "<MONEO_AGENT>",
"MONEO_ASSET": "<MONEO_ASSET>",
"MONEO_POLICY": "<MONEO_POLICY>",
"MONEO_KEY_PATH": "<MONEO_KEY_PATH>"
}
}
}
}
启动命令npx -y @moneolabs/mcp
需要配置的环境变量
MONEO_AGENTAgent identity recorded on every decision.
MONEO_ASSETDefault asset for amounts that do not name one.
MONEO_POLICYPath to a policy JSON file. Defaults to a cautious built-in policy.
MONEO_KEY_PATH密钥Where the agent's key is kept. Defaults to ~/.moneo/key.json.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@moneolabs/mcp0.4.0

工具

9

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

Moneo

面向 AI Agent 的自主金融。
模型永远看不到密钥的钱包、在签名前运行的支出策略,以及为永不休市的市场提供的执行能力。

moneowallet.com · 快速开始 · 软件包 · 各部分如何协同 · 状态 · 参与贡献


只能读取信息的 Agent,出错代价很低;能转移资金的 Agent 则不然。 Moneo 就是两者之间的这一层:它为 Agent 提供独立账户和独立限额,并记录每一次尝试,因此出错时付出的代价是遭到拒绝,而不是损失余额。

专为 Robinhood Chain 打造,代币化股票和 USDG 可在此全天候结算。能在凌晨 3 点交易的 Agent,只有在它也无法于凌晨 3 点毁掉账户时才有用;这正是防护机制的作用。

npm install @moneolabs/wallet @moneolabs/guard @moneolabs/trading

也可以完全跳过代码,直接为 Agent 宿主提供专属钱包——一把真实密钥、一套审慎策略,以及 Robinhood Chain 上的实时流动性池,通过 MCP 使用:

npx @moneolabs/mcp

快速开始

import { createGuard } from "@moneolabs/guard";
import { createWallet, localSigner, memoryRail, toolkit } from "@moneolabs/wallet";

// What this agent may do with money. Data, not code, and versioned.
const guard = createGuard({
  perTransaction: { max: "$25" },
  rolling24h: { max: "$100" },
  counterparties: "allowlist-only",
  allow: ["x402:*", "vendor:acme"],
  escalate: { above: "$50" },
});

// One account per agent. The signer holds the key, the wallet holds a handle.
const wallet = await createWallet({
  agent: "research-agent-01",
  signer: localSigner(),
  rail: memoryRail(),
  guard,
  funding: "$500",
});

await wallet.pay({ to: "x402:api.pricefeed.dev/quote", amount: "$0.04" });

// Hand the tools to your agent framework of choice.
const tools = toolkit(wallet, { guard });

examples/ 中提供了两个可运行的示例:

node --experimental-strip-types examples/quickstart.ts
node --experimental-strip-types examples/guarded-trading.ts

软件包

软件包功能
@moneolabs/wallet每个 Agent 一个账户。可插拔的托管和支付通道,以及用于 MCP 或函数调用的 Agent 工具包。
@moneolabs/guard上限、滚动预算、频率限制、允许列表和人工升级审核,均在签名前评估。
@moneolabs/trading多场所报价、滑点限制、市价单、限价单、TWAP 和括号订单、持仓及盈亏。
@moneolabs/mcp覆盖以上所有功能的 MCP 服务:npx @moneolabs/mcp 可为任何 Agent 宿主提供受防护的钱包。
@moneolabs/core精确的货币运算、资产、时长、时钟和价格来源。供其余软件包共享。

每个软件包都可以独立使用。即使完全不使用钱包,防护机制也很实用:它可以直接部署在你已有的支付函数前面。

各部分如何协同

agent
  │  pay / quote / trade
  ▼
wallet ──────► guard ──────► decision: allow | hold | block
  │              │
  │              └─► ledger  (every attempt, verdict and reason, blocks included)
  │
  ├─► signer     (holds the key; the agent never sees it)
  └─► rail       (chain, processor, internal ledger)

这一设计带来三个特性,它们正是本项目的核心:

拒绝请求不产生费用。 策略在意图和签名之间运行,因此被拦截的付款不会广播,也不会产生费用。check() 会告知你将会发生什么,但不会实际执行。

转账中的资金不是你可用的资金。 请求获准后会立即预留预算,之后再结算或释放。支付通道处理失败时,预算会退还,而不会一直被占用。

每项判定都有据可查。 决策记录会注明请求者是哪个 Agent、请求内容是什么,以及由哪个版本的哪项策略作出判定。策略版本采用内容寻址,因此仅键顺序不同或金额写法不同的两项策略也会获得相同的 ID。

设计说明

金额绝不是浮点数。 每笔金额都是以 bigint 表示的最小货币单位整数。每次检查时预算若偏差一分的一小部分,最终就会放行不该通过的交易。parseMoney("$0.001") 会抛出异常,而不是悄悄舍去你想保留的精度。

时间由外部注入。 滚动窗口、频率限制和 TWAP 计划都读取 Clock。传入 manualClock(),一笔需要三十分钟的订单只需一毫秒就能完成测试。测试套件涵盖了二十五小时后的预算重置,无需等待那么久。

拒绝以值的形式返回。 Agent 工具包会将被拦截的付款作为普通结果返回,其中包含原因和提示,而不是抛出异常。模型收到堆栈跟踪时会重试;收到“此限额由钱包所有者设置,请让他们调高”时则会停止并说明原因。

外部依赖均通过接口接入。 Signer、Rail、Venue、PriceSource、Approver 和 DecisionLedger 都是接口,并提供可用的参考实现。目标是 Robinhood Chain,但包中没有任何内容将其写死:网络是由你传入的字符串,支付通道则是由你提供的对象。

已实现和未实现的内容

本仓库会如实说明自身的边界。

已完整实现,现已可用。 防护器已完整实现:限额、滚动预算、频率限制、允许列表和拒绝列表、资产与操作规则、升级处理、预留与结算、策略版本管理以及基于历史记录的重放。它没有依赖任何托管服务,也不需要此类服务。金额运算、持仓账簿和订单类型同样都是真实可用的。

通过接口实现,并提供本地参考适配器。 托管功能提供 localSigner,这是一个真正的 Ed25519 签名器,密钥不会离开进程;另有用于 enclave 或 MPC 服务的 remoteSigner。价值转移功能提供 memoryRail,这是一个真正的复式记账账簿,只不过运行在内存中。执行功能提供 simulatedVenue,它是确定性的,并由你提供的价格表驱动。

未包含。 本项目不提供托管式 Moneo API、链客户端、发卡功能或内置价格源。这些功能需要你自行编写适配器,或单独获取。

这也意味着,你不需要 API 密钥,也不需要创建账户。这些是库,不是服务客户端:策略在你的进程中评估,签名器和支付通道则由你传入对象。需要凭据的是你连接到的服务。

开发

npm install
npm test          # 120 tests, no network, no waiting on real clocks
npm run typecheck
npm run build
npm run check     # format, types, tests, build

需要 Node 20 或更高版本。

许可证

MIT。请参阅 LICENSE。

Moneo 是面向开发者的基础设施,不是经纪商、银行或投资顾问。你需要对 Agent 所遵循的策略以及连接的支付通道负责。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。