Solana Mcp Services について
Solana MCP Servicesは、LLMやAIアプリケーションからAPI経由でSolanaブロックチェーンを操作するサービスです。チェーン情報の照会やSOL送金に加え、PumpFunトークン作成とWebSocket更新に対応します。
主な機能
- 01ネットワーク・残高・アカウントの照会
- 02取引履歴の取得
- 03ウォレット作成とSOL送金
- 04PumpFunトークンの作成
- 05WebSocketによるリアルタイム更新
活用シーン
- 01Solanaアドレスの残高と取引履歴の確認
- 02アドレス間のSOL送金
- 03カスタムPumpFunトークンの作成
- 04残高変化や新規取引の通知受信
MCP 対応
MCPサーバーはAIクライアントに、ネットワーク状態、残高、取引履歴、ウォレット、SOL送金、アカウント情報、PumpFunトークン作成の操作を公開します。MCP専用エンドポイントから実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Solana MCP(Model Context Protocol)サーバー
これは、Claude などの大規模言語モデル(LLM)が Solana ブロックチェーンとやり取りできるようにする MCP サーバーです。このサービスは、残高の照会、トークンの送信、取引履歴の取得、カスタム PumpFun トークンの作成などの操作を AI モデルが実行できるようにする、一連の API と WebSocket インターフェースを提供します。
ライブサービス: MCP サービスが稼働を開始し、https://mcp.so/ からアクセスできるようになりました。
機能
- Solana ブロックチェーンとのやり取りに使用する REST API エンドポイントを提供します
- リアルタイム更新用の WebSocket 接続に対応しています
- MCP 専用に設計されたハンドラーを含みます
- すべての機能を簡単にテストできる HTML テストインターフェースを内蔵しています
- ブロックチェーン操作を安全に処理します
- 包括的なエラー処理とログ記録に対応しています
- カスタム PumpFun トークンを作成できます
クイックスタート
デプロイ済みサービスの利用
最も簡単な開始方法は、デプロイ済みの MCP サービスを利用することです。
- https://mcp.so/ からサービスにアクセスします
- テストインターフェースで、利用可能な機能を試します
- API エンドポイントを使って、AI アプリケーションに統合します
セルフホスト
前提条件
- Node.js(v14+)
- npm または yarn
- Solana CLI ツール(任意。高度なテスト用)
インストール
- このリポジトリをクローンし、依存関係をインストールします。
# Install dependencies
npm install
- 環境変数を設定します。
# Copy the example configuration file
copy .env.example .env # For Windows
# cp .env.example .env # For Linux
# Edit the .env file to set your configuration
- サーバーを起動します。
npm start
サーバーはデフォルトで http://localhost:3000 で実行されます。このアドレスにアクセスすると、テストインターフェースを表示できます。
プロジェクト構成
├── src/
│ ├── controllers/ # API endpoint handlers
│ ├── services/ # Business logic
│ ├── models/ # Data models
│ ├── utils/ # Helper functions
│ ├── middleware/ # Express middleware
│ ├── mcp/ # MCP-specific handlers
│ └── index.js # Entry point
├── public/ # Static assets
├── tests/ # Test files
└── .env # Environment configuration
API エンドポイント
ネットワーク情報
GET /api/network
現在の Solana ネットワークの状態を取得します。
レスポンス:
{
"status": "online",
"currentSlot": 123456789,
"network": "devnet"
}
残高の照会
GET /api/balance/:address
指定したアドレスの SOL 残高を取得します。
レスポンス:
{
"address": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6",
"balance": 12.34,
"unit": "SOL"
}
取引履歴
GET /api/transactions/:address
指定したアドレスの最近の取引履歴を取得します。
レスポンス:
{
"transactions": [
{
"signature": "xxxxxxxxxxxxxxxxxxxxxx",
"timestamp": "2023-04-15T14:23:45Z",
"type": "transfer",
"amount": 1.5,
"status": "confirmed"
}
]
}
ウォレットの作成
POST /api/wallet/create
新しい Solana ウォレットを作成します(公開鍵と秘密鍵を含みます)。
レスポンス:
{
"publicKey": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6",
"secretKey": "[base58 encoded private key]"
}
SOL の送金
POST /api/transfer
あるアドレスから別のアドレスに SOL を送信します。
リクエスト本文:
{
"fromSecretKey": "[base58 encoded private key]",
"toAddress": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6",
"amount": 0.05
}
レスポンス:
{
"transactionId": "xxxxxxxxxxxxxxxxxxxxxx",
"status": "confirmed"
}
アカウント情報
GET /api/account/:address
アドレスの詳細なアカウント情報を取得します。
レスポンス:
{
"address": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6",
"lamports": 12340000000,
"executable": false,
"owner": "11111111111111111111111111111111",
"rentEpoch": 123
}
PumpFun トークンの作成
POST /api/mcp/execute
Solana ブロックチェーン上にカスタム PumpFun トークンを作成します。
リクエスト本文:
{
"tool": "createPumpFunToken",
"params": {
"name": "My Token Name",
"symbol": "MTN",
"description": "This is my custom token",
"twitter": "https://x.com/xxx",
"telegram": "https://t.me/xxx",
"website": "https://mywebsite.com",
"amount": "0.1",
"slippage": "10",
"priorityFee": "0.0005"
}
}
レスポンス:
{
"success": true,
"transaction": "transaction_signature_hash",
"mint": "token_mint_address",
"metadata": "metadata_address"
}
MCP 専用
POST /api/mcp/execute
残高の取得、取引記録の取得、SOL の送信など、MCP 専用の操作を実行します。
MCP 統合
このサービスは、Claude などの AI モデルが Solana ブロックチェーンとやり取りできるように、特別に設計されています。以下の MCP 操作に対応しています。
getNetworkStatus- ネットワークの状態を取得getBalance- 残高を照会getTransactions- 取引履歴を取得createWallet- 新しいウォレットを作成transferSol- SOL を送金getAccountInfo- アカウント情報を取得createPumpFunToken- カスタム PumpFun トークンを作成
MCP リクエストの例
{
"action": "getBalance",
"parameters": {
"address": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6"
}
}
WebSocket 対応
サーバーは、WebSocket 接続を介したリアルタイム更新とコマンドの送信に対応しています。WebSocket サービスは HTTP サーバーと同じポートで実行されます。
WebSocket への接続先:ws://localhost:3000/ws
WebSocket イベント
connect- 接続の確立balance- 残高の更新transaction- 新しい取引の通知error- エラーの通知
デプロイ
本番環境向けの推奨設定
- デプロイには PM2 または Docker を使用します
- 適切な環境変数を設定します
- HTTPS を設定します(本番環境では推奨)
- 適切なログ記録を設定します
- 外部公開 API にレート制限を実装します
Docker によるデプロイ
# Build the image
docker build -t solana-mcp-server .
# Run the container
docker run -p 3000:3000 -d solana-mcp-server
Linux サーバーへのデプロイ
# Clone the repository
git clone [repository-url] solana-mcp-server
cd solana-mcp-server
# Install dependencies
npm install --production
# Configure environment
cp .env.example .env
nano .env # Edit as needed
# Start with PM2 (recommended for production)
npm install -g pm2
pm2 start ecosystem.config.js
# Configure PM2 to start on boot
pm2 startup
pm2 save
トラブルシューティング
よくある問題
- 接続エラー - Solana ネットワークに接続できることを確認し、RPC エンドポイントを検証してください
- トランザクションの失敗 - トランザクション手数料に十分な SOL があることを確認してください
- API のレート制限 - Solana RPC エンドポイントのレート制限に達していないか確認してください
- WebSocket の切断 - クライアントに適切な再接続ロジックを実装してください
ログ
詳細なエラー情報を確認するには、ログを確認してください。
# If using PM2
pm2 logs
# If using Docker
docker logs [container-id]
セキュリティに関する考慮事項
- 秘密鍵データはクライアント側でのみ取り扱い、サーバーに保存しないでください
- 本番環境では HTTPS を使用してください
- 適切な認証メカニズムの追加を検討してください
- 適切なレート制限を設定してください
- セキュリティの脆弱性に対処するため、依存関係を定期的に更新してください
- 機密性の高い設定には環境変数を使用してください
貢献
イシューやプルリクエストを歓迎します。貢献する際は、以下の手順に従ってください。
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更をコミットします
- ブランチにプッシュします
- プルリクエストを作成します
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。