mcpField
M
Moneo

Moneo

ローカル
moneowallet.com金融データ012 週間前に更新

Moneo について

Moneoは、AIエージェント向けのウォレットと支出ポリシーのツールキットで、署名の前に上限やルールを評価します。金融エージェントを開発する人向けで、MCP経由で使えるRobinhood Chain向け取引ツールも含みます。

主な機能

  1. 01エージェントごとの口座を作成
  2. 02署名前に支出ポリシーを評価
  3. 03上限、期間予算、許可リストを設定
  4. 04判断、理由、ポリシーバージョンを記録
  5. 05価格照会、注文、ポジション管理

活用シーン

  1. 01エージェントの取引額や日次支出を制限
  2. 02署名前にポリシー違反の支払いを拒否
  3. 03エージェントによる価格照会と取引シミュレーション

MCP 対応

@moneolabs/mcpは、ポリシーで保護されたウォレットをMCPサーバーとしてエージェントホストに提供し、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 エージェントのための自律型金融。
モデルには決して見えない鍵を持つウォレット、署名前に動作する支出ポリシー、そして決して閉まらない市場向けの取引実行。

moneowallet.com · クイックスタート · パッケージ · 全体の仕組み · ステータス · コントリビューション


読み取りしかできないエージェントなら、誤った使い方をしても大きな問題にはなりません。しかし、資金を動かせるエージェントは別です。 Moneo はその間をつなぐレイヤーです。エージェントに専用のアカウントと上限を与え、試行のすべてを記録することで、ミスによる損失を残高ではなく拒否で済ませます。

Robinhood Chain 向けに構築されており、トークン化された株式と USDG が昼夜を問わず決済されます。午前3時に取引できるエージェントは、その時間にアカウントを失うこともない場合にのみ役立ちます。そのためのガードです。

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

あるいは、コードを一切使わず、専用ウォレットをエージェントホストに渡すこともできます。実際の鍵、慎重なポリシー、そして MCP 経由で利用できる Robinhood Chain 上のライブプールがそろっています。

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/ に2つあります。

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

パッケージ

パッケージ機能
@moneolabs/walletエージェントごとのアカウント。差し替え可能なカストディと決済レール、MCP または関数呼び出し向けのエージェントツールキット。
@moneolabs/guard上限、ローリング予算、取引頻度制限、許可リスト、人間へのエスカレーションを署名前に評価します。
@moneolabs/trading複数の取引所の相場、スリッページ上限、成行注文、指値注文、TWAP 注文とブラケット注文、ポジション、損益。
@moneolabs/mcpすべてに対応する MCP サーバー:npx @moneolabs/mcp を実行すると、あらゆるエージェントホストにガード付きウォレットを渡せます。
@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)

この仕組みから3つの特性が生まれます。これこそが、このプロジェクトの要点です。

拒否は無料です。 ポリシーは意図と署名の間で実行されるため、ブロックされた決済はブロードキャストされず、手数料もかかりません。check() を使えば、実行せずにどうなるかを確認できます。

移動中の資金は、手元にない資金です。 許可された判断では予算がすぐに確保され、後で精算または解放されます。決済レールで失敗した決済は、予算を返すため、資金が滞留しません。

すべての判定の出どころを追跡できます。 判断には、どのエージェントが何を求め、どのポリシーのどのバージョンが回答したかが記録されます。ポリシーのバージョンはコンテンツアドレス方式のため、キーの順序や金額の書き方だけが異なる2つのポリシーには、同じIDが割り当てられます。

設計上の注意点

金額に浮動小数点数は使いません。 すべての金額は、bigint による最小通貨単位の整数です。チェックのたびに予算が 1 セント未満ずつずれていけば、いずれ何かを通してしまいます。parseMoney("$0.001") は、意図した精度を黙って丸めて失うのではなく、例外をスローします。

時間は注入します。 ローリングウィンドウ、利用速度の上限、TWAP スケジュールはすべて Clock を参照します。manualClock() を渡せば、30 分かかる注文もミリ秒でテストできます。テストスイートでは、25 時間後の予算更新を待たずに検証します。

拒否は値として返します。 エージェントツールキットは、支払いをブロックした場合、例外ではなく、理由とヒントを含む通常の結果を返します。スタックトレースを受け取ったモデルは再試行します。「この上限はウォレットの所有者が設定しています。引き上げてもらってください」と受け取ったモデルは、処理を止めてその旨を伝えます。

外部との連携はインターフェースを通じて行います。 Signer、Rail、Venue、PriceSource、Approver、DecisionLedger はすべて、動作するリファレンス実装を備えたインターフェースです。対象は Robinhood Chain ですが、パッケージ内にそれをハードコードしている箇所はありません。ネットワークは渡す文字列で、レールは提供するオブジェクトです。

実装済みの内容と未実装の内容

このリポジトリは、対応範囲を正直に示しています。

完全に実装済みで、すぐに利用できます。 ガードは完成しており、上限、ローリング予算、利用速度、許可リストと拒否リスト、資産とアクションのルール、エスカレーション、予約と決済、ポリシーのバージョン管理、履歴に対する再生に対応しています。ホスト型サービスはその背後に存在せず、必要もありません。金額演算、ポジション台帳、注文タイプも、同様に実際に動作します。

インターフェースの背後で実装され、ローカルのリファレンスアダプターを備えています。 カストディ機能には、鍵がプロセス外に出ることのない本物の Ed25519 署名機能 localSigner と、エンクレーブまたは 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 は開発者向けのインフラストラクチャであり、ブローカー、銀行、投資顧問ではありません。エージェントに適用するポリシーと、接続するレールについては、お客様が責任を負います。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。