Solana Model Context Protocol (MCP) Demo

Official

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Mentions that the same steps for using the Solana MCP server with Claude can be followed to use it with Windsurf (Codeium)

  • Provides basic RPC methods for Solana (getBalance, getAccountInfo, getTransaction) and helpful prompts for Solana development

Solana モデルコンテキストプロトコル (MCP) デモ

このリポジトリは、Solana 開発用のモデル コンテキスト プロトコル (MCP) サーバーのシンプルな実装を示します。

MCPとは何ですか?

モデルコンテキストプロトコル(MCP)は、AIモデルがツールやリソースとやり取りするための標準化されたインターフェースです。このデモでは、以下の機能を提供するシンプルなMCPサーバー実装を紹介します。

  1. Solana の基本的な RPC メソッド (getBalance、getAccountInfo、getTransaction)
  2. Solana開発に役立つヒント

前提条件

  • Node.js(v16以上を推奨)
  • pnpm パッケージ マネージャー (v9.10.0 または互換)

インストール

このリポジトリをクローンし、依存関係をインストールします。

git clone https://github.com/solana-foundation/solana-dev-mcp.git cd solana-dev-mcp pnpm install

このサーバーを MCP インスペクターで実行するには、次を使用します。

npx @modelcontextprotocol/inspector ts-node index.ts

はじめる

  1. コードを調べる: 主な実装はindex.tsにあり、シンプルなフェッチ ツールといくつかのプロンプトを使用して MCP サーバーをセットアップします。
  2. サーバーの変更: ツール、リソース、プロンプトを追加してサーバーを拡張できます。
  3. 拡張機能のアイデアを得る: Solana 開発向けの MCP 拡張のアイデアのセクションをチェックして、追加する新しいツールやリソースのアイデアを得てください。

使用例

このセクションでは、 Claudeで Solana MCP サーバーを使用する方法について説明します。Windsurf とCursorで Solana MCP サーバー使用する場合も、同じ手順に従ってください。

設定ファイルを生成する

このSolana MCPサーバーを使用するには、Claudeがサーバーに接続するために使用する設定ファイルを生成する必要があります。設定ファイルを生成するには、以下のいずれかのコマンドを実行します。

  • ts-nodeがグローバルにインストールされている場合はpnpm generate-config
  • ts-nodeがグローバルにインストールされていない場合はpnpm build && pnpm generate-config:js

これにより、次の内容の JSON 構成が出力されます。

ts-nodeをお持ちの場合:

{ "mcpServers": { "solana-dev": { "command": "ts-node", "args": ["<full-path-to-repo>/index.ts"] } } }

ts-nodeがグローバルにインストールされていない場合:

{ "mcpServers": { "solana-dev": { "command": "node", "args": ["<full-path-to-repo>/dist/index.js"] } } }

プロジェクト構造

  • index.ts - メインサーバーの実装
  • package.json - プロジェクトの依存関係とメタデータ
  • tsconfig.json - TypeScript 設定

Solana開発のためのMCP拡張のアイデア

このMCPサーバー実装は、Solana開発のニーズに合わせて拡張またはフォークできる基盤を提供します。以下に、開発を始めるためのヒントをいくつかご紹介します。

拡張のアイデア

  1. 優先手数料推定ツール:Solanaの最近のネットワークアクティビティに基づいて、最適な優先手数料を推定するツールを追加します。これにより、ユーザーはタイムリーな処理を確保しながらトランザクションコストを最適化できるようになります。
  2. Solana Verify Debugger : 検証プロセスに関するより詳細な情報を提供することでsolana-verifyの問題のデバッグに役立つツールを作成します。
  3. Solana Security.txt インスペクター: 特定の Solana プログラムの security.txt ファイル情報を抽出して表示するツールを構築し、セキュリティ上の懸念事項についてプログラムのメンテナーに簡単に連絡できるようにします。
  4. プログラム展開用の Squads ヘルパー: Solana プログラムの展開とアップグレードのプロセスを自動化するツールを作成し、複数の環境にわたるプログラムの状態の管理を容易にします。
  5. Anchor-Error Explainer : エラー コードを受け取り、Anchor エラー コード データベースから対応する人間が判読できるエラー メッセージを検索するツールを開発します。
  6. 強化されたプロンプト:サーバーのプロンプト機能を拡張し、Solana開発タスクにおいて、より状況に応じた提案を提供します。例えば、一般的なトランザクションパターン、アカウント作成、トークン操作などのプロンプトを追加できます。
  7. トランザクション ビルダー: 複数の命令を含む複雑なトランザクションの構築を支援するツールを作成し、さまざまな Solana プログラムとの対話を容易にします。
  8. カスタム RPC エンドポイント: プライベート RPC プロバイダーまたはローカル バリデーターのサポートを含む、カスタム RPC エンドポイントの構成を許可します。
  9. プログラム展開ヘルパー: Solana プログラムの展開とアップグレードのプロセスを簡素化するツールを作成します。
  10. アカウント&トランザクションエクスプローラー:アカウントIDまたはトランザクションIDを取得し、エクスプローラービューに似た、人間が読める形式で内容を表示するツールを追加します。これは、データを手動でデコードすることなく、トランザクションデータやアカウントの状態を検査するのに役立ちます。
  11. Solana、Anchor、およびProtocolのドキュメント:Solana、Anchor、およびProtocolのドキュメントをMCPエディタに直接読み込むリソースを追加することで、エディタを離れることなく関連情報に簡単にアクセスできるようになります。これは、それぞれのリポジトリからドキュメントを取得し、MCPサーバーからリソースとして提供することで実装できます。

貢献方法

他の人に役立つ可能性のある拡張機能を作成した場合は、このリポジトリにプルリクエストを送信することを検討してください。以下のガイドラインに従ってください。

  1. コードをきちんと文書化しておく
  2. 新しい機能のテストを含める
  3. 既存のコードスタイルに従う
  4. 追加した内容でREADMEを更新します

安全

これは単純な例であり、本番環境では使用しないでください。MCP は新しい標準であり、適切なセキュリティ対策が欠如しています。

不明な開発者の MCP サーバーをインストールして試用する場合は、十分に注意してください。

MCP サーバーを試すときは、潜在的な損害を防ぐために、重要な情報を含まないサンドボックス環境を使用してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

AI モデルに基本的な Solana RPC メソッドと役立つ開発プロンプトを提供するシンプルな MCP サーバー実装。

  1. What is MCP?
    1. Prerequisites
      1. Installation
        1. Getting Started
          1. Example Usage
            1. Generate the configuration file
          2. Project Structure
            1. Ideas Extending MCP for Solana Development
              1. Ideas for Extension
              2. How to Contribute
            2. Security
              ID: vshrjem1r4