base-network-mcp-server について
自然言語で Base のウォレット管理、残高確認、取引実行を行う MCP サーバーです。Base Mainnet と Base Sepolia に対応し、LLM クライアントから利用できます。
主な機能
- 01自然言語による Base 操作
- 02ウォレットの作成と一覧表示
- 03ウォレット残高の確認
- 04ETH 取引の送信
- 05Base Mainnet と Sepolia に対応
活用シーン
- 01貯蓄用ウォレットの作成
- 02アカウントの ETH 残高確認
- 03アドレスへの ETH 送金
MCP 対応
MCP クライアントに、コマンド処理、ウォレット管理、残高確認などの Base 操作ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
base-network-mcp-server
Base ネットワーク向けの MCP サーバーです。ウォレット管理、残高確認、トランザクションの実行など、自然言語のコマンドを使って LLM が Base ネットワーク上のブロックチェーン操作を行えます。
このサーバーは Base Mainnet と Base Sepolia テストネットの両方で動作します。
ツール
以下のツールを利用できます。
process_command
Base ネットワーク上の操作に関する自然言語のコマンドを処理します。以下の引数を受け取ります。
command:処理する自然言語のコマンド(例:「0.5 ETH を 0x1234... に送金して」)
送金操作のトランザクション詳細、残高確認の残高情報、ウォレット作成のウォレット詳細など、操作結果を含む構造化された応答を返します。
create_wallet
Base ネットワーク上に新しいウォレットを作成します。以下の引数を受け取ります。
name:(任意)ウォレットの名前
ウォレットのアドレス、名前、その他の詳細を含むオブジェクトを返します。
check_balance
Base ネットワーク上のウォレットの残高を確認します。以下の引数を受け取ります。
wallet:(任意)確認するウォレットの名前またはアドレス(省略した場合はプライマリウォレットが使用されます)
ウォレットの残高を ETH で返します。
list_wallets
利用可能なすべてのウォレットを一覧表示します。
それぞれウォレットのアドレス、名前、その他の詳細を含むウォレットオブジェクトの配列を返します。
使用方法
Claude Desktop での使用
Claude Desktop は、Model Context Protocol に対応した人気の LLM クライアントです。Base MCP サーバーを Claude Desktop に接続すると、自然言語のコマンドでブロックチェーン操作を行えます。
Claude Desktop の設定ファイルから MCP サーバーを追加できます。設定ファイルの場所は次のとおりです。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Base MCP サーバーを Claude Desktop に追加するには、設定ファイルの mcpServers オブジェクトに次の設定を追加します。
{
"mcpServers": {
"base": {
"command": "npx",
"args": [
"-y",
"base-network-mcp-server"
],
"env": {
"BASE_PROVIDER_URL": "https://api.developer.coinbase.com/rpc/v1/base/YOUR_API_KEY",
"WALLET_PRIVATE_KEY": "your_private_key_here"
},
"disabled": false,
"autoApprove": []
}
}
}
設定
BASE_PROVIDER_URL:Base ネットワークプロバイダーの URL(Mainnet または Sepolia)WALLET_PRIVATE_KEY:認証およびトランザクションへの署名に使用するウォレットの秘密鍵DEFAULT_GAS_PRICE:(任意)デフォルトのガス価格(Gwei)
プログラムからの使用(カスタム MCP クライアント)
独自の MCP クライアントを構築する場合は、任意のトランスポートを使って Base MCP サーバーにプログラムから接続できます。MCP SDK には、stdio と SSE のトランスポートが組み込まれています。
インストール
npm i base-network-mcp-server
# or
yarn add base-network-mcp-server
# or
pnpm add base-network-mcp-server
例
以下の例では、StreamTransport を使用して MCP クライアントとサーバーを直接接続します。
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamTransport } from '@modelcontextprotocol/sdk/client/stream.js';
import { BaseMcpServer } from 'base-network-mcp-server';
// Create a stream transport for both client and server
const clientTransport = new StreamTransport();
const serverTransport = new StreamTransport();
// Connect the streams together
clientTransport.readable.pipeTo(serverTransport.writable);
serverTransport.readable.pipeTo(clientTransport.writable);
const client = new Client(
{
name: 'MyClient',
version: '0.1.0',
},
{
capabilities: {},
}
);
// Create and configure the Base MCP server
const server = new BaseMcpServer({
providerUrl: 'https://api.developer.coinbase.com/rpc/v1/base/YOUR_API_KEY',
privateKey: 'your_private_key_here',
});
// Connect the client and server to their respective transports
await server.connect(serverTransport);
await client.connect(clientTransport);
// Call tools
const output = await client.callTool({
name: 'process_command',
arguments: {
command: 'Check my wallet balance',
},
});
console.log(output);
// Example output:
// {
// "success": true,
// "message": "Balance of wallet \"default\": 1.5 ETH",
// "balance": "1.5",
// "wallet": "default"
// }
コマンドの例
連携後は、次のような自然言語のコマンドを使用できます。
- 「貯蓄用の新しいウォレットを作成して」
- 「ウォレットの残高を確認して」
- 「貯蓄用ウォレットの残高はいくら?」
- 「0.1 ETH を 0x1234567890123456789012345678901234567890 に送金して」
- 「貯蓄用ウォレットから 0xABCD... に 0.5 ETH を送金して」
セキュリティに関する考慮事項
この実装は実際のブロックチェーンネットワークと連携し、秘密鍵を扱うため、次の点に注意してください。
- 秘密鍵のセキュリティ:秘密鍵は安全に保管し、バージョン管理に決してコミットしないでください
- 最初にテストネットを使用する:メインネットに移行する前に、Base Sepolia テストネットから始めてください
- トランザクションの検証:送信前にトランザクションのパラメーターを必ず検証してください
- エラー処理:ネットワークの問題に備えて、堅牢なエラー処理を実装してください
- レート制限:頻繁にリクエストを行う場合は、API のレート制限に注意してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。