Move Agent Kit について
Move Agent Kitは、MoveやAptosのブロックチェーンと連携するAIエージェントを開発するためのオープンソースツールキットです。トークン、NFT、アカウント、オンチェーンデータの操作に加え、複数のMoveアプリに対応しています。
主な機能
- 01トークンの送金・発行・焼却
- 02NFTコレクションと資産の管理
- 03オンチェーンデータの取得とイベント監視
- 04トランザクションとメッセージの署名
- 05Moveアプリとの連携
活用シーン
- 01トークンやNFTを扱うチャットボットの構築
- 02Aptosの残高やトランザクション情報の照会
- 03複数エージェントによるブロックチェーン操作
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Move Agent Kit
AI エージェントと Move/Aptos プロトコルを接続するオープンソースのツールキットです。

Move Agent Kitは、AI エージェントによる Move ベースのブロックチェーンとのやり取りを簡素化するために設計された包括的なツールキットです。さまざまなブロックチェーン操作を実行するための統一インターフェースを提供し、開発者が異なる Move ベースのプロトコルやアプリケーションと連携できる AI 搭載アプリケーションを構築しやすくします。
このツールキットは、AI エージェントと Move ベースのブロックチェーンエコシステムをつなぐ架け橋として機能し、AI アプリケーションへのブロックチェーン機能のシームレスな統合を可能にします。ウォレット機能を備えたチャットボットを構築する場合も、複雑なマルチエージェントシステムを構築する場合も、Move Agent Kit はブロックチェーンとのやり取りを効率的に処理するために必要なツールと抽象化を提供します。
主な機能
トークン操作
-
標準的なトークン管理
-
アカウント間でのトークン送金
-
新しいトークンのミント
-
既存のトークンのバーン
NFT 操作
-
新しい NFT コレクションの作成
-
NFT のミント
-
アカウント間での NFT の転送
-
NFT のバーン
ブロックチェーンとの連携
-
ブロックチェーンデータの読み取りと解析
-
ブロックチェーンイベントの監視
-
スマートコントラクトの呼び出しの実行
アカウント管理
-
トランザクションの署名
-
メッセージの署名
-
アカウントの作成と管理
対応アプリケーション
Move Agent Kit は、主要な Move ベースのアプリケーションとネイティブに連携できます。
| プロトコル | 対応機能 |
|---|---|
| Joule | レンディング、借入、DeFi 操作 |
| Amnis | ステーキング操作 |
| Thala | ステーキングと DEX 操作 |
| Echelon | レンディング、借入、DeFi 操作 |
| LiquidSwap | DEX 操作 |
| Panora | DEX アグリゲーション操作 |
| Aries | レンディング、借入、DeFi 操作 |
| Echo | ステーキング操作 |
今後の機能
-
画像生成機能
-
ソーシャルメディアでのやり取りに向けた Twitter 連携
アーキテクチャの概要
Move Agent Kit は、拡張と保守を容易にするモジュール型アーキテクチャを採用しています。
Move Agent Kit
├── コアモジュール
│ ├── トークン操作
│ ├── ブロックチェーンリーダー
│ └── アカウント操作
├── 統合レイヤー
│ ├── アプリケーションコネクター
│ └── プロトコルアダプター
└── 拡張モジュール
├── 画像生成
└── ソーシャルメディア連携(近日公開)
インストール
NPM を使用
npm install move-agent-kit
ソースから
git clone https://github.com/Metamove/move-agent-kit
cd move-agent-kit
npm i
クイックスタート
基本設定
まず、必要なモジュールをインポートします。
const aptosConfig = new AptosConfig({
network: Network.MAINNET,
});
const aptos = new Aptos(aptosConfig);
const account = await aptos.deriveAccountFromPrivateKey({
privateKey: new Ed25519PrivateKey(
PrivateKey.formatPrivateKey(
process.env.PRIVATE_KEY,
PrivateKeyVariants.Ed25519,
),
),
});
環境の設定
プロジェクトのルートに設定ファイル .env を作成します。
APTOS_PRIVATE_KEY="private key"
ANTHROPIC_API_KEY="API Key"
OPENAI_API_KEY="API Key"
クライアントの初期化
const signer = new LocalSigner(account, Network.MAINNET);
const agent = new AgentRuntime(signer, aptos, {
PANORA_API_KEY: process.env.PANORA_API_KEY, // optional
OPENAI_API_KEY: process.env.OPENAI_API_KEY // optional
});
const tools = createAptosTools(aptosAgent);
基本操作の例
トークンの送金
const result = agent.transferTokens("to_address", 1.0)
ブロックチェーンデータの読み取り
// Get Balance
const balance = agent.getBalance("0x123...")
// Get transaction details
const tx_info = agent.transferTokens("0x789...")
LangChain との連携
import { ChatAnthropic } from "@langchain/anthropic";
import { MemorySaver } from "@langchain/langgraph";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { HumanMessage } from "@langchain/core/messages";
const llm = new ChatAnthropic({
temperature: 0.7,
model: "claude-3-5-sonnet-20241022",
});
const memory = new MemorySaver();
const agent = createReactAgent({
llm,
tools,
checkpointSaver: memory,
messageModifier: `
You are a helpful agent that can interact onchain using the Aptos Agent Kit. You are
empowered to interact onchain using your tools. If you ever need funds, you can request them from the
faucet. If not, you can provide your wallet details and request funds from the user. If there is a 5XX
(internal) HTTP error code, ask the user to try again later. If someone asks you to do something you
can't do with your currently available tools, you must say so, and encourage them to implement it
themselves using the Aptos Agent Kit, recommend they go to https://metamove.build/move-agent-kit for more information. Be
concise and helpful with your responses. Refrain from restating your tools' descriptions unless it is explicitly requested.
`,
});
const stream = await agent.stream(
{
messages: [new HumanMessage("Deposit 10 APT on Joule")],
},
config
);
for await (const chunk of stream) {
if ("agent" in chunk) {
console.log(chunk.agent.messages[0].content);
} else if ("tools" in chunk) {
console.log(chunk.tools.messages[0].content);
}
console.log("-------------------");
}
ドキュメント
詳しいドキュメントはMetaMove GitBook ドキュメントをご覧ください。
使用例とユースケース
対話型ウォレットチャットボット
Move ベースのブロックチェーンとやり取りするための自然言語インターフェースです。ユーザーは平易な英語でコマンドを送信し、ブロックチェーン操作を実行できます。
機能:
- トークンと NFT の送受信
- 残高とトランザクション履歴の確認
- NFT コレクションの作成
- DeFi プロトコルとの連携
GitHub: https://github.com/MetaMove/move-agent-kit/tree/main/examples/chat-agent
マルチエージェントシステム(LangGraph ベース)
特化した AI エージェントが連携して、複雑なブロックチェーン操作や Twitter への強気な投稿を行うシステムです。
- マネージャーエージェント:意思決定とタスクを調整します
- 読み取りエージェント:Aptos ブロックチェーンから Joule Finance に関するデータを読み取ります
- ツイート作成エージェント:さまざまなオンチェーンデータについて強気な投稿を作成します
- X 投稿エージェント:X/Twitter にツイートを投稿します
GitHub:https://github.com/MetaMove/move-agent-kit/tree/main/examples/langgraph-agent
ウォレットガーディアン(Freysa のような AI)
ユーザーが AI エージェントを脅迫して、その APT をすべて渡させるゲームに基づいた AI です。
- Google でログインします
- 各ユーザーは最大 10 件のメッセージを送信できます
- AI エージェントのジェイルブレイクを試みて、報酬を獲得しましょう
GitHub:https://github.com/MetaMove/wallet-guardian-agent
Telegram ボットスターターパック
Move agent kit を使用した Telegram ボットのスターターパックです。
- ユーザーの暗号化された秘密鍵を管理します
- さまざまなメッセージ形式に対応します
GitHub:https://github.com/MetaMove/tg-bot-starter
セキュリティ
このツールキットは秘密鍵とトランザクションを扱います。必ず安全な環境で使用し、秘密鍵を他人と共有しないでください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。