MoveFlow Aptos MCP Server について
MoveFlow Aptos MCP Serverは、AIアシスタントがAptosブロックチェーン上のMoveFlowストリーミング決済を操作できるサーバーです。決済ストリームの管理と一括操作に対応し、デフォルトではトランザクションの準備とクライアント側の署名を分離します。
主な機能
- 01決済ストリームの作成と管理
- 02ストリームの出金、一時停止、再開、終了
- 03ストリーム期間の延長
- 04作成と出金の一括処理
- 05アクティブなストリームと詳細の参照
- 06読み取り専用とクライアント側署名に対応
活用シーン
- 01定期または単発の決済ストリームを作成
- 02アカウントのアクティブなストリームを確認
- 03複数のストリームから一括で出金
- 04クライアント側署名用の決済トランザクションを準備
MCP 対応
MCPクライアントにストリーム管理ツールとリソースを提供し、アクティブなストリーム一覧や個別の詳細を参照できます。MCPの機能検出と入力スキーマ検証にも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MoveFlow Aptos MCP サーバー
AI アシスタントが Aptos ブロックチェーン上の MoveFlow プロトコルを操作できるようにする、Model Context Protocol(MCP)サーバーです。このサーバーは、AI ツールが暗号資産のストリーミング決済を作成、管理、操作するための標準化されたインターフェースを提供します。
機能
-
ストリーム管理
- 決済ストリームを作成(定期払いまたは一括払い)
- アクティブなストリームから資金を引き出す
- 既存のストリームを終了する
- ストリームの期間を延長する
- ストリームを一時停止および再開する
- ストリーム情報を照会する
-
一括操作
- 複数のストリームを一度に作成する
- 複数のストリームから同時に資金を引き出す
-
MCP 統合
- Model Context Protocol(MCP)に完全対応
- MCP の機能インターフェースを通じたツールの自動検出
- 標準化された入力スキーマの検証
- API の自己文書化
-
セキュリティ
- 安全なトランザクション処理のためのクライアント側署名に対応
- 安全なデータ照会のための読み取り専用モード
- 開発およびテスト用の直接署名モード
利用可能な MCP ツール
MoveFlow Aptos MCP サーバーでは、以下のツールを利用できます。
| ツール名 | 説明 | 機能 |
|---|---|---|
create-stream | 新しい MoveFlow ストリームを作成 | 時間をかけて資金を送金する、新しい暗号資産ストリームを作成します |
withdraw-stream | ストリームから資金を引き出す | アクティブなストリームから引き出し可能な資金を引き出します |
close-stream | MoveFlow ストリームを終了する | ストリームを終了し、残りの資金を送信者に返します |
extend-stream | ストリームの期間を延長する | 既存のストリームの終了時刻を延長します |
get-stream-info | ストリーム情報を取得する | 特定のストリームの詳細を取得します |
batch-create-streams | 複数のストリームを作成する | 1 つのトランザクションで複数のストリームを作成します |
batch-withdraw-streams | 複数のストリームから引き出す | 1 つのトランザクションで複数のストリームから資金を引き出します |
pause-stream | ストリームを一時停止する | ストリームの支払いを一時的に停止します |
resume-stream | 一時停止中のストリームを再開する | 一時停止中のストリームを再開します |
利用可能なリソース
MoveFlow Aptos MCP サーバーは、ブロックチェーンリソースにもアクセスできます。
| リソース URI | 説明 |
|---|---|
moveflow://streams/active | 現在のアカウントのすべてのアクティブなストリームを一覧表示します |
moveflow://streams/{streamId} | 特定のストリームの詳細情報を取得します |
これらのリソースは、MCP プロトコルに対応した AI アシスタントから直接アクセスでき、明示的なツール呼び出しを必要とせずにコンテキスト情報を提供します。
インストールとセットアップ
-
リポジトリをクローンします。
git clone https://github.com/moveflow/moveflow-aptos-mcp-server.git cd moveflow_aptos_mcp_server -
依存関係をインストールします。
npm install -
プロジェクトをビルドします。
npm run build -
サーバーを起動します。
APTOS_NODE_URL="https://fullnode.mainnet.aptoslabs.com/v1" \ APTOS_NETWORK="mainnet" \ READ_ONLY_MODE="true" \ node build/index.js -
サーバーが実行中であることを確認します。 次の出力が表示されます。
Starting MoveFlow Aptos MCP Server... Initialized Stream with read-only mode MoveFlow Aptos MCP Server tools registered MoveFlow Aptos MCP Server started
NPM パッケージからのインストール
NPM パッケージとしてサーバーをインストールして使用することもできます。
npm install @moveflow/aptos-mcp-server
AI アシスタントとの統合
Claude Desktop との統合
このサーバーを Claude Desktop の設定に追加します。
-
Claude Desktop の設定ファイルを開きます。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
次の設定を追加します(環境に合わせてパスを調整してください)。
{
"mcpServers": {
"moveflow-aptos": {
"command": "node",
"args": ["/path/to/moveflow_aptos_mcp_server/build/index.js"],
"env": {
"APTOS_NODE_URL": "https://fullnode.mainnet.aptoslabs.com/v1",
"APTOS_NETWORK": "mainnet",
"READ_ONLY_MODE": "true" // Set to "true" for read-only mode, omit for transaction preparation mode
},
"disabled": false,
"autoApprove": []
}
}
}
NPX での使用
グローバルにインストールせずに、npx を使ってこのサーバーを直接実行できます。
# Run with default settings
npx @moveflow/aptos-mcp-server
# Run with custom environment variables
npx @moveflow/aptos-mcp-server --env.APTOS_NETWORK=testnet --env.READ_ONLY_MODE=true
NPX を使って Claude Desktop と連携する場合:
{
"mcpServers": {
"moveflow-aptos": {
"command": "npx",
"args": ["-y", "@moveflow/aptos-mcp-server"],
"env": {
"APTOS_NODE_URL": "https://fullnode.mainnet.aptoslabs.com/v1",
"APTOS_NETWORK": "mainnet",
"READ_ONLY_MODE": "true"
}
}
}
}
その他の AI プラグインとの連携
独自の AI プラグインを開発していて、この MCP サーバーを連携したい場合は、次の手順を実行できます。
- このリポジトリをプロジェクトの依存関係に追加します
- サーバープロセスを起動します
- MCP プロトコルを介してサーバーと通信します
例(TypeScript):
import { spawn } from 'child_process';
import { Client } from '@modelcontextprotocol/sdk/client';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio';
// Start the MCP server
const serverProcess = spawn('node', ['path/to/build/index.js'], {
env: {
...process.env,
APTOS_NODE_URL: 'https://fullnode.mainnet.aptoslabs.com/v1',
APTOS_NETWORK: 'mainnet',
READ_ONLY_MODE: "true" // Enable read-only mode
}
});
// Connect to the MCP server
const client = new Client({version: '1.0.0'}, {capabilities: {}});
const transport = new StdioClientTransport({childProcess: serverProcess});
await client.connect(transport);
// Now you can use the client object to call MCP methods
Cline との連携
Cline は、MCP ツールをサポートする VS Code 用の自律型コーディングエージェントです。MoveFlow Aptos MCP サーバーを Cline と連携するには:
-
Cline 拡張機能をインストールする: VS Code の拡張機能マーケットプレイスから Cline をインストールします
-
MoveFlow Aptos MCP サーバーを設定する: Cline は
~/Documents/Cline/MCPディレクトリ内の MCP サーバーを自動的に検索します。次のいずれかの方法を利用できます。-
方法 1:サーバー設定ファイルを作成する
mkdir -p ~/Documents/Cline/MCP touch ~/Documents/Cline/MCP/moveflow-aptos.jsonmoveflow-aptos.jsonに次の内容を追加します。{ "name": "moveflow-aptos", "command": "node", "args": ["/path/to/moveflow_aptos_mcp_server/build/index.js"], "env": { "APTOS_NODE_URL": "https://fullnode.mainnet.aptoslabs.com/v1", "APTOS_NETWORK": "mainnet" } } -
方法 2:Cline の自然言語設定を使用する Cline で次のように入力します。
Add a tool that connects to Aptos blockchain using MoveFlow protocolその後、プロンプトに従って設定を完了します
-
-
秘密鍵を設定する(任意):
- 読み取り専用の操作では、秘密鍵は必要ありません
- トランザクション操作では、環境変数または
.envファイルを使用して秘密鍵を設定します。秘密鍵を設定ファイルに直接含めないでください
-
サーバーの機能を使用する: Cline では、自然言語を使って MoveFlow の機能にアクセスできます。たとえば:
Create a new payment stream on Aptos to address 0x123... for 100 APT over 30 daysまたは:
Show me all my active MoveFlow streams on Aptos mainnet
⚠️ セキュリティに関する注意:Cline には独自のセキュリティ機構があり、操作を実行する前に許可を求めます。それでも、このドキュメントで説明している秘密鍵のセキュリティに関するベストプラクティスに従うことをおすすめします。
セキュリティアーキテクチャ
このサーバーは、秘密鍵の保存を不要にするセキュリティアーキテクチャを実装しています。
クライアント側署名モデル
このサーバーは、秘密鍵を一切保存しないように設計されています。
-
読み取り専用モード:
- 推奨されるデフォルトの動作モードです
- ブロックチェーンデータの照会のみが可能です
- トランザクションは実行できません
READ_ONLY_MODE="true"で有効にします
-
トランザクション準備モード:
READ_ONLY_MODEが省略されているか、"false" に設定されている場合に使用します- サーバーはトランザクションを準備しますが、署名はしません
- トランザクションにはクライアントアプリケーションによる署名が必要です
- トランザクションの準備と署名を分離することで、セキュリティを強化します
-
直接署名モード(開発用):
SIGNING_MODEが "direct" に設定され、APTOS_PRIVATE_KEYが指定されている場合に使用します- サーバーは指定された秘密鍵を使ってトランザクションに署名し、送信します
- 安全性は低くなりますが、テストには便利です
- 本番環境での使用はおすすめしません
安全なトランザクションアーキテクチャ
サーバーアーキテクチャでは、役割が分離されています。
- サーバー:入力を検証し、トランザクションオブジェクトを準備します
- クライアント:秘密鍵を管理し、トランザクションに署名します
- API/コネクター:サーバーとクライアント間の通信を処理します
この設計により、サーバープロセスで秘密鍵を扱う必要がなくなり、本番環境での安全性が大幅に向上します。
MCP ツールのテスト
このサーバーには、すべての MCP ツールが正しく動作することを確認するテストスクリプトが含まれています。
# Run the test script
npm run test-tools
各 MCP ツールの一連のテストを実行し、正常に動作することを確認します。test-tools.js の設定を編集すると、テストスクリプトで別のネットワークや署名モードを使用するように設定することもできます。
設定リファレンス
環境変数
| 変数 | 説明 | 必須 | デフォルト |
|---|---|---|---|
APTOS_NODE_URL | Aptos ノードの URL | はい | https://fullnode.mainnet.aptoslabs.com/v1 |
APTOS_NETWORK | ネットワークの種類:「mainnet」、「testnet」、「devnet」、「local」 | はい | 「mainnet」 |
READ_ONLY_MODE | 読み取り専用モードを有効にするには「true」に設定します | いいえ | 「false」 |
SIGNING_MODE | 署名モード:「direct」または「client」 | いいえ | 「client」 |
APTOS_PRIVATE_KEY | 直接署名モード用の秘密鍵 | いいえ* | - |
APTOS_FAUCET_URL | テスト/開発ネットワークのフォーセット URL | いいえ | - |
*SIGNING_MODE が「direct」に設定され、READ_ONLY_MODE が「false」の場合にのみ必須です。
サーバーモード
- 読み取り専用モード:
READ_ONLY_MODEが「true」に設定されている場合です。サーバーはブロックチェーンのデータを照会することのみできます。 - トランザクションモード:
READ_ONLY_MODEが「false」に設定されている場合、サーバーは次の 2 つのモードで動作できます。- クライアント側署名モード(デフォルト):
SIGNING_MODEが「client」に設定されているか、省略されている場合です。サーバーはトランザクションを準備しますが、署名はしません。トランザクションにはクライアントアプリケーションによる署名が必要です。 - 直接署名モード:
SIGNING_MODEが「direct」に設定され、APTOS_PRIVATE_KEYが指定されている場合です。サーバーは指定された秘密鍵を使って、トランザクションに直接署名し、送信します。このモードは安全性が低くなりますが、テストや開発にはより便利です。
- クライアント側署名モード(デフォルト):
開発
プロジェクト構成
サーバーのコードベースは次のように構成されています。
moveflow_aptos_mcp_server/
├── src/ # Source code
│ ├── tools.ts # MCP tool implementations
│ ├── resources.ts # MCP resource implementations
│ ├── adapters.ts # Adapters for Aptos SDK
│ ├── aptos.ts # Aptos blockchain interactions
│ ├── config.ts # Configuration handling
│ ├── index.ts # Main server entry point
│ ├── utils.ts # Utility functions
│ └── services/ # Service implementations
│ ├── TransactionSigningService.ts
│ ├── ClientProvidedSigningService.ts
│ └── TransactionProxyService.ts
├── build/ # Compiled JavaScript
├── bin/ # CLI tools
│ └── cli.js # CLI entry point
└── test-tools.js # Tools testing script
ソースからのビルド
ソースからサーバーをビルドするには、次の手順に従います。
# Install dependencies
npm install
# Build TypeScript
npm run build
# Optionally run tests
npm run test-tools
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。