mcpField
S
Solana Web3.js MCP Server

Solana Web3.js MCP Server

ローカル
github.com/FrankGenGo金融データ484 週間前に更新

Solana Web3.js MCP Server について

Solana Web3.js MCP Serverは、AIアシスタントにSolanaのアカウント、トランザクション、鍵、プログラム、トークン操作を提供します。Solanaの開発やデプロイ向けで、機密性の高い操作にはユーザーの承認が必要です。

主な機能

  1. 01アカウントと残高の照会
  2. 02トランザクションの作成・シミュレーション・送信
  3. 03キーペアの生成と導出
  4. 04Solanaプログラムのデプロイと更新
  5. 05SPLトークン操作

活用シーン

  1. 01アカウント情報とSOL残高の確認
  2. 02送信前のトランザクション作成と検証
  3. 03Solanaプログラムのデプロイや更新
  4. 04SPLトークンの作成や移転

MCP 対応

MCPツールを通じてSolanaブロックチェーンの操作を提供し、Claude Desktopなどのクライアントにサーバーとして設定できます。リソースとプロンプト機能は記載されていますが、実装予定です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Solana Web3.js MCP サーバー

Claude などの AI アシスタントが、Solana のスマートコントラクトをエンドツーエンドで開発・デプロイできるようにする、Model Context Protocol(MCP)サーバーです。このサーバーは、AI 言語モデルと Solana ブロックチェーンの橋渡し役として機能し、ブロックチェーンとのやり取りに標準化されたインターフェースを提供します。

重要なお知らせ:このプロジェクトでは現在、パフォーマンスの向上、型安全性の改善、最新の関数型プログラミングパターンの活用を目的に、Solana web3.js v1.x から v2.0 への移行を進めています。詳細は移行計画をご覧ください。

MCP とは?

Model Context Protocol(MCP)は、AI アシスタントが外部のツールやデータソースに安全かつ制御された方法でアクセスできるようにするオープン標準です。このサーバーは MCP の仕様を実装し、Solana ブロックチェーンの機能を AI アシスタントに公開します。

このサーバーでできること

この MCP サーバーは、AI アシスタントに次の機能を提供します。

  1. Solana ブロックチェーンとのやり取り:アカウントデータの照会、残高の確認、取引履歴の表示、さまざまな Solana クラスター(mainnet、testnet、devnet)のネットワークステータスの取得

  2. トランザクションの作成と管理:適切なエラー処理と手数料の見積もりを行いながら、トランザクションを構築、シミュレーション、署名し、Solana ブロックチェーンに送信

  3. スマートコントラクトの開発:Solana SDK または Pinocchio フレームワークを使用して Rust で記述された Solana プログラムのテンプレートへのアクセス、コンパイル、テスト、デプロイ

  4. ウォレットとキーの管理:セキュリティのベストプラクティスを維持しながら、キーペアの生成、アドレスの導出、ウォレットアダプターとの連携

  5. トークンの操作:SPL トークンとトークンアカウントの作成、送信、管理

アーキテクチャ

このサーバーは、3 種類の MCP 機能を公開します。

  • ツール:トランザクションの送信、プログラムのデプロイ、キーペアの生成などの操作を実行する関数
  • リソース:ドキュメント、コードテンプレート、ブロックチェーンの状態情報などのデータソース
  • プロンプト:スマートコントラクト開発などの複雑なワークフローを AI が進めるためのテンプレート

すべてのブロックチェーンとのやり取りは、@solana/web3.js ライブラリと関連 SDK を通じて実行されます。MCP サーバーは、AI とブロックチェーンの間で安全な仲介役として機能します。

インストール

# Clone the repository
git clone https://github.com/FrankGenGo/solana-web3js-mcp-server.git
cd solana-web3js-mcp-server

# Install dependencies
npm install

# Build the server
npm run build

# Start the server
npm start

Claude Desktop での使用方法

  1. Claude Desktop をインストールします

  2. Claude Desktop の設定ファイルに以下を追加します。

    macOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json Windows の場合:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "solana": {
      "command": "node",
      "args": ["/absolute/path/to/solana-web3js-mcp-server/dist/index.js"]
    }
  }
}
  1. Claude Desktop を再起動します

  2. Claude に Solana 関連のタスクを依頼できるようになります。たとえば、次のように依頼できます。

    • 「新しい Solana アカウントを作成して、キーペアを表示してください」
    • 「アドレス X の現在の残高はいくらですか?」
    • 「Solana devnet 上で簡単なトークンコントラクトを作成してデプロイするのを手伝ってください」

セキュリティに関する考慮事項

  • このサーバーは、デフォルトでは秘密鍵を保存しません
  • 署名や mainnet へのデプロイなどの機密性の高い操作には、ユーザーの明示的な承認が必要です
  • このサーバーは、ブロックチェーンとの安全なやり取りに関するベストプラクティスに従います

利用可能なツール

アカウント管理(実装済み)
  • getAccountInfo:アカウント情報を取得してデコード
  • checkAccountBalance:アドレスの SOL 残高を取得
  • findProgramAccounts:プログラムが所有するアカウントを検索
  • getRentExemption:レンタル免除に必要な最小残高を計算
トランザクション管理(実装済み)
  • createTransaction:指定された命令でトランザクションを構築
  • signTransaction:1 つ以上のキーペアでトランザクションに署名
  • sendTransaction:トランザクションをオンチェーンに送信し、確定
  • simulateTransaction:送信せずにトランザクションをシミュレーション
  • getTransactionStatus:トランザクションのステータスを確認
キー管理(実装済み)
  • generateKeypair:新しい Solana キーペアを作成します
  • importKeypair:さまざまな形式の既存のキーペアをインポートします
  • deriveKeypair:シード、ニーモニック、またはパスからキーペアを導出します
プログラム開発(実装済み)
  • deployProgram:Solana クラスターにプログラムをデプロイします
  • upgradeProgram:既存のアップグレード可能なプログラムをアップグレードします
  • generateProgramAddress:プログラム派生アドレス(PDA)を導出します
トークン操作(実装済み)
  • createToken:新しい SPL トークンを作成します
  • mintTokens:トークンアカウントにトークンを発行します
  • transferTokens:アカウント間でトークンを転送します
  • getTokenAccountInfo:トークンアカウントの情報を取得します
  • getTokenSupply:トークンの総供給量を取得します
設定管理(予定)
  • getConfig:現在の設定を取得します
  • setConfig:設定パラメーターを更新します
  • getClusterVersion:Solana クラスターのバージョンを取得します
拡張キー管理(予定)
  • saveKeypair:キーペアを安全なストレージに保存します
  • recoverKeypair:シードフレーズからキーペアを復元します
  • verifyKeypair:キーペアの整合性を検証します
ネットワーク操作(予定)
  • requestAirdrop:devnet/testnet のフォーセットから SOL をリクエストします
  • manageStake:ステークアカウントを作成、管理します
  • getValidators:バリデーター情報を取得します
ブロックチェーンデータの検査(予定)
  • getBlock:スロット番号でブロックの詳細を取得します
  • getBlockProduction:ブロック生成統計を取得します
  • getRecentBlockhash:手数料計算機能付きで最新のブロックハッシュを取得します
  • getEpochInfo:現在のエポック情報を取得します
  • getInflationRate:現在のインフレ率を取得します
ログとモニタリング(予定)
  • getLogs:トランザクションログをストリーミングしてフィルタリングします
  • getProgramLogs:プログラム実行ログを監視します

開発

# Run in development mode (with auto-reload)
npm run dev

# Run tests (including integration tests against devnet)
npm test

# Lint the code
npm run lint
テスト環境のセットアップ

テストスイートには、Solana devnet に対して実行する統合テストが含まれています。テスト環境をセットアップするには、次の手順に従ってください。

  1. Solana CLI をインストールする:公式のインストール手順に従ってください

  2. テスト用キーペアを生成する:

    mkdir -p ~/solana-web3js-tests
    solana-keygen new --force --no-bip39-passphrase -o ~/solana-web3js-tests/test-keypair.json
    
  3. テスト用キーペアに devnet SOL を入金する:

    solana airdrop 1 $(solana address -k ~/solana-web3js-tests/test-keypair.json) --url devnet
    
  4. 残高を確認する:

    solana balance -k ~/solana-web3js-tests/test-keypair.json --url devnet
    

テストスイートは、devnet に対する統合テストでこのキーペアを自動的に使用します。

プロジェクト構成

  • src/index.ts:メインのエントリーポイント(実装済み)
  • src/solana-server.ts:サーバーのコア実装(実装済み)
  • src/core/connection-manager.ts:Solana 接続管理(実装済み)
  • src/transport/:トランスポート層の実装
    • src/transport/stdio.ts:標準入出力トランスポート(実装済み)
    • src/transport/http.ts:HTTP/SSE トランスポート(実装済み)
    • src/transport/index.ts:トランスポートのエクスポート(実装済み)
  • src/tools/:Solana 操作用ツールの実装
    • src/tools/accounts/:アカウント管理ツール(実装済み)
    • src/tools/transactions/:トランザクション操作ツール(実装済み)
    • src/tools/keys/:キー管理ツール(実装済み)
    • src/tools/programs/:プログラム開発ツール(実装済み)
  • src/resources/:Solana データ用リソースの実装(予定)
  • src/prompts/:一般的なワークフロー向けの再利用可能なプロンプト(予定)
  • src/types/:TypeScript 型定義
    • src/types/solana.ts:Solana 固有の型定義(一部実装済み)
    • src/types/tools.ts:ツールの入出力型定義(予定)
    • src/types/config.ts:設定の型定義(予定)
  • src/utils/:ユーティリティ関数とクラス
    • src/utils/errors.ts:エラー処理システム(実装済み)
    • src/utils/logging.ts:ログ記録システム(実装済み)

サーバーの拡張

このサーバーは拡張可能な設計です。新しい機能を追加するには、次の手順に従ってください。

  1. tools ディレクトリ内の適切なファイルに新しいツールを作成します
  2. solana-server.ts にツールを登録します
  3. 単体テストと統合テストの両方でツールをテストします

コントリビューション

コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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