MCP3 Monorepo について
MCP3 Monorepoは、ブロックチェーン向けのMCP実装群で、Ethereum、Sui、ウォレット、プロトコル、データサービス、トランザクション処理のパッケージを含みます。Suiパッケージは一般的な操作向けのCLIとAPIを提供します。
主な機能
- 01EthereumとSui向けのMCP実装
- 02ツールの一覧表示と実行を行う統合CLI
- 03Suiのウォレット・プロトコル用パッケージ
- 04DexScreenerとDeFiLlamaのデータ連携
- 05トランザクションサーバーと署名UIのパッケージ
活用シーン
- 01MCPクライアントからSuiのブロックチェーンツールを利用
- 02CLIでウォレットやプロトコルを操作
- 03ブロックチェーンのデータ連携を利用
- 04トランザクションの署名と送信
MCP 対応
各パッケージはブロックチェーンのデータアクセスや操作向けのMCPツールを実装します。`@mcp3/sui`はClaude DesktopのMCPサーバーとして設定でき、ツールはCLIからも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP3 モノレポ
このモノレポには、さまざまなブロックチェーンネットワーク向けの Model Context Protocol の実装が含まれており、ブロックチェーンデータへのアクセスや操作を行うツールとサービスを提供します。
SUI で MCP3 を使用する方法
MCP3 は、Sui ブロックチェーンを操作するための包括的なツール群を提供します。メインパッケージの @mcp3/sui は一般的な操作のための CLI と API を提供し、専用パッケージは特定のプロトコルやユースケース向けの機能を追加します。
Claude Desktop のクイックスタート
以下を Claude Desktop の設定に追加します
{
...
"mcpServers": {
...
"mcp3-sui": {
"command": "npx",
"args": [
"-y",
"@mcp3/sui",
"start",
"-t"
]
}
...
}
}
CLI を使用する
使用可能なコマンドとオプションの一覧を表示するには、次を実行します。
npx @mcp3/sui --help
Tool コマンドを使用する
MCP3 は、サブプロジェクトのすべてのツールをサブコマンドとしてまとめる、統一された tool コマンドを提供します。使用可能なすべてのツールを表示するには、次を実行します。
npx @mcp3/sui tool
これにより、プレフィックス(例:sui-cetus、sui-wallets など)ごとにグループ化された、使用可能なすべてのツールの一覧が表示されます。
特定のツールを実行するには、次を使用します。
npx @mcp3/sui tool <tool-name> [options]
例:
npx @mcp3/sui tool sui-wallets-list
npx @mcp3/sui tool sui-cetus-pool-list
パッケージ
コアパッケージ
@mcp3/common:すべての実装で使用する共有ユーティリティ、型、ツール@mcp3/eth:Model Context Protocol の Ethereum 実装@mcp3/sui:Model Context Protocol の Sui Network 実装
Sui エコシステムパッケージ
@mcp3/sui-base:Sui Network 向けの基本ユーティリティとツール@mcp3/sui-wallets:Sui Network 向けのウォレット管理ツール@mcp3/sui-cetus:Sui Network 向けの Cetus Protocol 統合@mcp3/sui-navi:Sui Network 向けの Navi Protocol 統合
データ統合パッケージ
@mcp3/dex-screener:MCP3 向けの DexScreener API 統合@mcp3/defilama:MCP3 向けの DeFiLlama API 統合
トランザクション管理
@mcp3/transaction-server:トランザクションを処理し、トランザクション UI を提供するサーバー@mcp3/transaction-ui:トランザクションの署名と送信を行う React コンポーネントライブラリ
開発
このプロジェクトでは、パッケージマネージャーとして pnpm を使用し、モノレポの管理にはワークスペースを使用しています。
CLI の構成
MCP3 では、次のような統一された CLI 構成を使用しています。
- サブプロジェクトのすべてのツールは、メインの
toolコマンドのサブコマンドとして登録されます - 特定のツールが指定されていない場合、CLI は使用可能なすべてのツールを自動的に一覧表示します
- ツールは整理しやすいよう、プレフィックスごとにグループ化されます
- ツールには
toolコマンドを介してのみアクセスできます
新しいツールを実装する場合:
- パッケージ内で
registration.addTool()を使用してツールを登録します - パッケージ内のすべてのツールを登録するコールバック関数を作成します
- このコールバックを
startCli関数の第 2 引数として渡します
例:
// Create a callback function to register tools
const registerTools = async (reg: Registration) => {
// Register your tools
registerYourTools(reg);
};
// Register tools immediately for the main CLI
registerTools(registration);
// Pass the callback to startCli
startCli(registration, registerTools);
前提条件
- Node.js(v18 以上)
- pnpm(v8 以上)
セットアップ
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Clean all packages
pnpm clean
# Run tests
pnpm test
個別パッケージの操作
# Build a specific package
pnpm --filter @mcp3/eth build
# Run a specific package
pnpm --filter @mcp3/sui start
# Run tests for a specific package
pnpm --filter @mcp3/sui-navi test
パッケージの依存関係
このモノレポ内のパッケージ間には、次の依存関係があります。
- ほとんどのパッケージは、共有ユーティリティとして
@mcp3/commonに依存します - Sui 関連のパッケージは、Sui のコア機能として
@mcp3/sui-baseに依存します @mcp3/suiは、さまざまな Sui エコシステムパッケージをピア依存関係として持ちます@mcp3/transaction-serverは、UI の提供に@mcp3/transaction-uiに依存します
バージョン管理
このモノレポ内のパッケージは、個別にバージョン管理されます。変更を加える際は、次の点に注意してください。
- パッケージに変更を加えると、そのパッケージと依存パッケージのバージョンが更新されます
- バージョンを更新する際は、
sui-naviパッケージも含めてください - バンドルパッケージを作成する場合は、transaction-server と transaction-ui のプロジェクトをバンドルから除外し、依存関係として追加してください
テスト
各パッケージには独自のテストスイートがあります。sui-navi プロジェクトのテストは sui-wallets と同じパターンに従い、開発用依存関係の tsx とともに node:tests フレームワークを使用します。
# Run all tests
pnpm test
# Run tests for a specific package
pnpm --filter @mcp3/sui-navi test
貢献
MCP3 への貢献を歓迎します!以下のガイドラインに従ってください。
- リポジトリをフォークし、機能ブランチを作成します
- プロジェクトのコードスタイルに従って変更を加えます
- 必要に応じてテストを追加または更新します
- 変更内容を反映するようにドキュメントを更新します
- 変更内容を明確に説明したプルリクエストを送信します
ライセンス
ISC
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。