Algorand MCP

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides comprehensive Algorand blockchain interaction capabilities, including account management, asset operations, application interactions, transaction creation/submission, and blockchain state queries.

  • Provides a server package for Algorand blockchain interactions specifically built for Node.js environments.

  • Uses TypeScript for type-safe interaction with the Algorand blockchain across both client and server implementations.

Algorand MCPの実装

概要

モデルコンテキストプロトコル(MCP)は、アプリケーションがLLMにコンテキストを提供する方法を標準化するオープンプロトコルです。MCPは、LLMのツール、リソース、および指示をより有用かつ効果的にするための仕様標準を提供します。

MCP Github には、MCP に関する詳細情報、さまざまなツールと仕様、およびドキュメントが含まれています。

このリポジトリは、Algorandブロックチェーンインタラクションのためのモデルコンテキストプロトコル(MCP)実装です。実装は以下のもので構成されています。

  • (PRODUCTION) ブロックチェーンインタラクション用のサーバーパッケージ (Node.js のみ)
  • (WIP) ウォレット管理とトランザクション署名用のクライアント パッケージ (ブラウザと Node.js の両方をサポート)

📦 このリポジトリ内のパッケージ:

  • Algorand MCP サーバー- Algorand MCP サーバーの完全実装。
  • Algorand MCP クライアント- クライアント側のウォレット管理とトランザクション署名、および他のエージェント ホストによる統合のための Algorand MCP クライアント。

📦 ナショナル・パブリック・マーケット:

📦 鍛冶屋:

特徴

  • 完全なAlgorandドキュメントの統合
    • 完全なアルゴランドの知識分類
    • 包括的な開発者向けドキュメント
    • ARC、SDK、ツールのドキュメント
    • ナレッジツールによる直接ドキュメントアクセス
  • 完全なアルゴランドブロックチェーンインタラクション機能
  • 包括的なウォレット管理システム
  • 包括的な取引処理
  • 豊富なブロックチェーン状態クエリ
  • 内蔵セキュリティ機能
  • Claude Desktopとカーソルの統合のサポート

要件

  • Node.js v23.6.1以降
  • npm v10.2.4以降

インストール

NPM経由(独自のインスタンスを実行したい開発者向け)

# Install both client and server packages npm install algorand-mcp

Smithery経由(すべてのユーザー向け)

Smithery経由(Claudeデスクトップ用)

ターミナルで次のコマンドを実行するだけです:

npx -y @smithery/cli@latest install @GoPlausible/algorand-mcp --client claude --config "{\"NFD_API_KEY\":\"\",\"NFD_API_URL\":\"https://api.nf.domains\",\"ALGORAND_ALGOD\":\"https://testnet-api.algonode.cloud\",\"ALGORAND_TOKEN\":\"\",\"ITEMS_PER_PAGE\":\"10\",\"VESTIGE_API_KEY\":\"\",\"VESTIGE_API_URL\":\"https://api.vestigelabs.org\",\"ALGORAND_INDEXER\":\"https://testnet-idx.algonode.cloud\",\"ALGORAND_NETWORK\":\"testnet\",\"ALGORAND_ALGOD_API\":\"https://testnet-api.algonode.cloud/v2\",\"ALGORAND_ALGOD_PORT\":\"\",\"ALGORAND_INDEXER_API\":\"https://testnet-idx.algonode.cloud/v2\",\"ALGORAND_INDEXER_PORT\":\"\"}"

Smithery経由(カーソル用)

ターミナルでこのコマンドを実行するだけです:

npx -y @smithery/cli@latest install @GoPlausible/algorand-mcp --client cursor --config "{\"NFD_API_KEY\":\"\",\"NFD_API_URL\":\"https://api.nf.domains\",\"ALGORAND_ALGOD\":\"https://testnet-api.algonode.cloud\",\"ALGORAND_TOKEN\":\"\",\"ITEMS_PER_PAGE\":\"10\",\"VESTIGE_API_KEY\":\"\",\"VESTIGE_API_URL\":\"https://api.vestigelabs.org\",\"ALGORAND_INDEXER\":\"https://testnet-idx.algonode.cloud\",\"ALGORAND_NETWORK\":\"testnet\",\"ALGORAND_ALGOD_API\":\"https://testnet-api.algonode.cloud/v2\",\"ALGORAND_ALGOD_PORT\":\"\",\"ALGORAND_INDEXER_API\":\"https://testnet-idx.algonode.cloud/v2\",\"ALGORAND_INDEXER_PORT\":\"\"}"

重要な注意Smithery UI を使用してコマンドをコピーする場合は、すべての ENV 変数がコマンドに渡されるように、接続をクリックする前に必ず ITEMS_PER_PAGE を設定してください。そうしないと、コマンドに Algorand MCP の実行に必要な環境変数が含まれなくなります。

プロジェクトアーキテクチャ

このプロジェクトは、次の 2 つの主要パッケージを持つモジュラー アーキテクチャに従います。

  1. サーバーパッケージ ( @algorand-mcp/server )
    • MCPツールとリソースを提供する
    • ブロックチェーンのやり取りを管理する
    • トランザクションの作成と送信を処理する
    • 包括的なブロックチェーンクエリを提供
  2. クライアントパッケージ ( @algorand-mcp/client )
    • ウォレット接続とトランザクション署名を処理する
    • ローカルウォレットと外部ウォレットの両方をサポート
    • ユニバーサルな互換性(ブラウザ/Node.js)
    • 安全な資格情報管理
    • まだ作業中(サーバーはクライアントの状態に関係なく動作します)

プロジェクト構造

algorand-mcp/ ├── packages/ │ ├── client/ # Client Package │ │ ├── src/ │ │ │ ├── index.ts # Client entry point and wallet management │ │ │ └── LocalWallet.ts # Local wallet implementation │ │ ├── package.json │ │ └── tsconfig.json │ └── server/ # Server Package │ ├── src/ │ │ ├── resources/ # MCP Resources (User-invokable endpoints) │ │ │ ├── knowledge/ # Documentation and taxonomy │ │ │ │ ├── taxonomy/ # Markdown documentation │ │ │ │ └── index.ts # Knowledge resource handler │ │ │ ├── wallet/ # Wallet management │ │ │ │ └── index.ts # Wallet resource handler │ │ │ └── index.ts # Resource registration │ │ ├── tools/ # MCP Tools (Agent-invokable operations) │ │ │ ├── accountManager.ts # Account operations │ │ │ ├── algodManager.ts # Node interactions │ │ │ ├── utilityManager.ts # Utility functions │ │ │ ├── apiManager/ # API Tools │ │ │ │ ├── algod/ # Algod API tools │ │ │ │ ├── indexer/ # Indexer API tools │ │ │ │ ├── nfd/ # NFDomains tools │ │ │ │ ├── vestige/ # Vestige DeFi tools │ │ │ │ ├── tinyman/ # Tinyman AMM tools │ │ │ │ └── ultrade/ # Ultrade DEX tools │ │ │ └── transactionManager/ # Transaction handling │ │ ├── env.ts # Environment configuration │ │ └── index.ts # Server entry point │ ├── package.json │ └── tsconfig.json ├── package.json # Root package file └── tsconfig.json # Root TypeScript config

コア機能

サーバー機能

  • アカウント管理
  • 資産運用
  • アプリケーションの相互作用
  • トランザクションの作成と送信
  • ブロックチェーン状態クエリ
  • 包括的なユーティリティ関数
  • 標準化された応答形式
  • 組み込みのページネーションサポート
  • NFDomains統合
  • Vestige DeFi分析
  • Tinyman AMM統合
  • Ultrade DEX統合
  • 知識分類リソース:
    • 完全なドキュメント分類法 (algorand://knowledge/taxonomy)
    • カテゴリ固有のドキュメント:
      • ARC (algorand://knowledge/taxonomy/arcs)
      • SDK (algorand://knowledge/taxonomy/sdks)
      • AlgoKit (algorand://knowledge/taxonomy/algokit)
      • AlgoKit ユーティリティ (algorand://knowledge/taxonomy/algokit-utils)
      • TEALScript (algorand://knowledge/taxonomy/tealscript)
      • Puya (アルゴランド://knowledge/taxonomy/puya)
      • Liquid Auth (algorand://knowledge/taxonomy/liquid-auth)
      • Python (algorand://knowledge/taxonomy/python)
      • 開発者ドキュメント (algorand://knowledge/taxonomy/developers)
      • CLI ツール (algorand://knowledge/taxonomy/clis)
      • ノード管理 (algorand://knowledge/taxonomy/nodes)
      • 技術的な詳細 (algorand://knowledge/taxonomy/details)

クライアント機能(進行中)

  • 安全な保管機能を備えたローカルウォレット
  • 外部ウォレットのサポート(Pera、Defly、Daffi)
  • トランザクション署名
  • セッション管理
  • ユニバーサルESモジュールサポート

応答フォーマット

すべての応答は標準化された形式に従います。

{ "data": { // Response data here }, "metadata": { // Only for paginated responses "totalItems": number, "itemsPerPage": number, "currentPage": number, "totalPages": number, "hasNextPage": boolean, "pageToken": string, "arrayField": string // Name of paginated array field } }

エラーは標準化された形式で返されます。

{ "error": { "code": string, "message": string } }

利用可能なツールとリソース

Algorand MCP 実装は、ブロックチェーンの相互作用のための 125 個のツールとリソースを提供します。

  • 40 の基本ツール(アカウント、資産、アプリケーション、取引管理)
  • 30 個の API ツール (algod と indexer)
  • 名前サービス用の 6 つの NFDomains (NFD) ツール
  • DeFi分析のための28個のVestigeツール
  • AMMインタラクションのための9つのTinymanツール
  • DEX機能のための12個のUltradeツール

APIツール

Algod API ツール

  • api_algod_get_account_info: 現在のアカウント残高、資産、認証アドレスを取得します
  • api_algod_get_account_application_info: アカウント固有のアプリケーション情報を取得する
  • api_algod_get_account_asset_info: アカウント固有の資産情報を取得する
  • api_algod_get_application_by_id: アプリケーション情報を取得する
  • api_algod_get_application_box: 名前でアプリケーションボックスを取得する
  • api_algod_get_application_boxes: すべてのアプリケーションボックスを取得する
  • api_algod_get_asset_by_id: 現在の資産情報を取得する
  • api_algod_get_pending_transaction: 保留中のトランザクション情報を取得する
  • api_algod_get_pending_transactions_by_address: アドレスの保留中のトランザクションを取得する
  • api_algod_get_pending_transactions: 保留中のすべてのトランザクションを取得する
  • api_algod_get_transaction_params: 推奨されるトランザクションパラメータを取得する
  • api_algod_get_node_status: 現在のノードのステータスを取得する
  • api_algod_get_node_status_after_block: 特定のラウンドの後にノードのステータスを取得します

インデクサーAPIツール

  • api_indexer_lookup_account_by_id: アカウント情報を取得する
  • api_indexer_lookup_account_assets: アカウント資産を取得する
  • api_indexer_lookup_account_app_local_states: アカウントアプリケーションのローカル状態を取得する
  • api_indexer_lookup_account_created_applications: アカウントによって作成されたアプリケーションを取得する
  • api_indexer_search_for_accounts: さまざまな条件でアカウントを検索する
  • api_indexer_lookup_applications: アプリケーション情報を取得する
  • api_indexer_lookup_application_logs: アプリケーションログメッセージを取得する
  • api_indexer_search_for_applications: アプリケーションを検索する
  • api_indexer_lookup_asset_by_id: 資産情報と設定を取得する
  • api_indexer_lookup_asset_balances: この資産を保有するアカウントを取得する
  • api_indexer_lookup_asset_transactions: この資産に関連する取引を取得する
  • api_indexer_search_for_assets: アセットを検索する
  • api_indexer_lookup_transaction_by_id: トランザクション情報を取得する
  • api_indexer_lookup_account_transactions: アカウント取引履歴を取得する
  • api_indexer_search_for_transactions: トランザクションを検索する

NFDomains (NFD) API ツール

  • api_nfd_get_nfd: 名前またはアプリケーションIDでNFDを取得する
  • api_nfd_get_nfds_for_addresses: 特定のアドレスのNFDを取得する
  • api_nfd_get_nfd_activity: NFD のアクティビティ/変更を取得する
  • api_nfd_get_nfd_analytics: NFDの分析データを取得する
  • api_nfd_browse_nfds: さまざまなフィルターを使用して NFD を参照する
  • api_nfd_search_nfds: さまざまなフィルターを使用して NFD を検索する

Vestige APIツール

  1. 表示ツール:
  • api_vestige_view_networks: すべてのネットワークを取得する
  • api_vestige_view_network_by_id: IDでネットワークを取得する
  • api_vestige_view_protocols: すべてのプロトコルを取得する
  • api_vestige_view_protocol_by_id: IDでプロトコルを取得する
  • api_vestige_view_protocol_volumes: 特定の日のプロトコルボリュームを取得する
  • api_vestige_view_assets: 資産に関するデータを取得する
  • api_vestige_view_assets_list: 資産リストを取得する
  • api_vestige_view_assets_search: クエリでアセットを検索する
  • api_vestige_view_asset_price: 資産価格を取得する
  • api_vestige_view_asset_candles: アセットキャンドルを取得する
  • api_vestige_view_asset_history: 資産量、スワップ、合計ロックアップ、VWAP、信頼履歴を取得します。
  • api_vestige_view_asset_composition: プロトコルとペアに基づいて資産のロックアップを取得します
  • api_vestige_view_pools: プールを取得する
  • api_vestige_view_vaults: すべてのボールトを取得する
  • api_vestige_view_balances: ネットワークID、プロトコルID、アセットIDで残高を取得します
  • api_vestige_view_notes: ネットワークIDとオプションでアセットIDでメモを取得します
  • api_vestige_view_first_asset_notes: アセットの最初のメモを取得する
  • api_vestige_view_asset_notes_count: アセットのメモ数を取得する
  • api_vestige_view_swaps: スワップを取得する
  1. スワップツール:
  • api_vestige_get_best_v4_swap_data: 最良の V4 スワップデータを取得する
  • api_vestige_get_v4_swap_discount: V4 スワップ割引を取得する
  • api_vestige_get_v4_swap_data_transactions: V4スワップデータトランザクションを取得する
  • api_vestige_get_aggregator_stats: アグリゲータの統計情報を取得する
  1. 通貨ツール:
  • api_vestige_view_currency_prices: 最新の通貨価格をすべて取得する
  • api_vestige_view_currency_price_history: タイムスタンプ範囲で通貨の価格を取得する
  • api_vestige_view_currency_price: タイムスタンプで通貨価格を取得する
  • api_vestige_view_currency_average_price: 通貨の平均価格を取得する
  • api_vestige_view_currency_prices_simple_30d: 過去30日間の通貨価格を取得します

Tinyman API ツール

  • api_tinyman_get_pool: アセットペアによるTinymanプール情報を取得する
  • api_tinyman_get_pool_analytics: Tinyman プールの分析情報を取得する
  • api_tinyman_get_pool_creation_quote: 新しいプールを作成するための見積もりを取得します
  • api_tinyman_get_liquidity_quote: 流動性を追加するための見積もりを取得する
  • api_tinyman_get_remove_liquidity_quote: 流動性を削除するための見積もりを取得する
  • api_tinyman_get_swap_quote: 資産交換の見積もりを取得する
  • api_tinyman_get_asset_optin_quote: プールトークンへのオプトインの見積もりを取得する
  • api_tinyman_get_validator_optin_quote: バリデーターへの参加の見積もりを取得する
  • api_tinyman_get_validator_optout_quote: バリデーターのオプトアウトの見積もりを取得

Ultrade API ツール

  1. ウォレットツール:
  • api_ultrade_wallet_signin_message: サインインデータからメッセージを生成する
  • api_ultrade_wallet_signin: 取引口座にサインイン
  • api_ultrade_wallet_add_key: 取引キーを追加する
  • api_ultrade_wallet_revoke_key: 取引キーを取り消す
  • api_ultrade_wallet_keys: 取引キーを取得する
  • api_ultrade_wallet_key_message: 取引キーデータからメッセージを生成する
  • api_ultrade_wallet_trades: フィルタリングされたウォレット取引を取得する
  • api_ultrade_wallet_transactions: フィルタリングされたウォレット取引を取得する
  • api_ultrade_wallet_withdraw: トークンの引き出し
  • api_ultrade_wallet_withdraw_message: 出金データからメッセージを生成する
  1. マーケットツール:
  • api_ultrade_market_symbols: マーケットシンボルを取得する
  • api_ultrade_market_details: 市場の詳細を取得する
  • api_ultrade_market_price: ペアシンボルで最新の市場価格を取得します。
  • api_ultrade_market_depth: 注文板の深さを取得する
  • api_ultrade_market_last_trades: 最後の取引を取得する
  • api_ultrade_market_history: 市場履歴を取得する
  • api_ultrade_market_assets: 取引資産を取得する
  • api_ultrade_market_fee_rates: 手数料率を取得する
  • api_ultrade_market_chains: ブロックチェーンチェーンを取得する
  • api_ultrade_market_withdrawal_fee: 出金手数料を取得する
  • api_ultrade_market_operation_details: 操作の詳細を取得する
  • api_ultrade_market_settings: マーケット設定を取得する
  • api_ultrade_market_orders: 注文を取得する
  • api_ultrade_market_open_orders: オープン注文を取得する
  • api_ultrade_market_order_by_id: IDで注文を取得する
  • api_ultrade_market_order_message: 注文データからメッセージを生成する
  • api_ultrade_market_create_order: 新しい注文を作成する
  • api_ultrade_market_create_orders: 新しい注文を作成する
  • api_ultrade_market_cancel_order: オープン注文をキャンセルする
  • api_ultrade_market_cancel_orders: 複数のオープン注文をキャンセルする
  1. システムツール:
  • api_ultrade_system_time: 現在のシステム時刻を取得する
  • api_ultrade_system_maintenance: システムメンテナンスステータスを取得する
  • api_ultrade_system_version: システムバージョンを取得する

アカウント管理ツール

  • create_account: 新しいAlgorandアカウントを作成する
  • rekey_account: アカウントを新しいアドレスに再設定する
  • valid_address: Algorandアドレスが有効かどうかを確認する
  • encode_address: 公開鍵をAlgorandアドレスにエンコードする
  • decode_address: Algorandアドレスを公開鍵にデコードする

アプリケーションツール

  • make_app_create_txn: アプリケーション作成トランザクションを作成する
  • make_app_update_txn: アプリケーション更新トランザクションを作成する
  • make_app_delete_txn: アプリケーション削除トランザクションを作成する
  • make_app_optin_txn: アプリケーションオプトイントランザクションを作成する
  • make_app_closeout_txn: アプリケーションのクローズアウトトランザクションを作成する
  • make_app_clear_txn: アプリケーションクリアステートトランザクションを作成する
  • make_app_call_txn: アプリケーション呼び出しトランザクションを作成する
  • get_application_address: 指定されたアプリケーションIDのアドレスを取得します
  • compile_teal: TEALソースコードをコンパイルする
  • disassemble_teal: TEAL バイトコードをソースに逆アセンブルする

資産ツール

  • make_asset_create_txn: 資産作成トランザクションを作成する
  • make_asset_config_txn: 資産構成トランザクションを作成する
  • make_asset_destroy_txn: 資産破棄トランザクションを作成する
  • make_asset_freeze_txn: 資産凍結トランザクションを作成する
  • make_asset_transfer_txn: 資産移転トランザクションを作成する

取引ツール

  • send_raw_transaction: 署名されたトランザクションをネットワークに送信する
  • simulate_raw_transactions: 生のトランザクションをシミュレートする
  • simulate_transactions: 詳細な設定でトランザクションをシミュレートする
  • make_payment_txn: 支払い取引を作成する
  • assign_group_id: トランザクションのリストにグループIDを割り当てる
  • sign_transaction: 秘密鍵でトランザクションに署名する

鍵管理ツール

  • mnemonic_to_mdk: ニーモニックをマスター導出キーに変換する
  • mdk_to_mnemonic: マスター導出キーをニーモニックに変換する
  • secret_key_to_mnemonic: 秘密鍵をニーモニックに変換する
  • mnemonic_to_secret_key: ニーモニックを秘密鍵に変換する
  • seed_from_mnemonic: ニーモニックからシードを生成する
  • mnemonic_from_seed: シードからニーモニックを生成する
  • sign_bytes: 秘密鍵で任意のバイトに署名する

ユーティリティツール

  • bytes_to_bigint: バイトをBigIntに変換する
  • bigint_to_bytes: BigIntをバイトに変換する
  • encode_uint64: uint64をバイトにエンコードする
  • decode_uint64: バイトをuint64にデコードする
  • generate_algorand_uri: ARC-26仕様に従ってAlgorand URIとQRコードを生成する

依存関係

  • algosdk: Algorand JavaScript SDK
  • @perawallet/connect: Pera Wallet コネクタ
  • @blockshake/defly-connect: Defly Wallet コネクタ
  • @daffiwallet/connect: Daffi Wallet コネクタ

ライセンス

マサチューセッツ工科大学

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

Algorand ブロックチェーンを使用したツールのインタラクション (40 以上) とリソースのアクセシビリティ (60 以上) のための包括的な MCP サーバー、および多くの便利なプロンプト。

  1. Overview
    1. Features
      1. Requirements
        1. Installation
          1. Via NPM (for developers who wish to run their own instances)
          2. Via Smithery (For all users)
        2. Project Architecture
          1. Project Structure
            1. Core Functionalities
              1. Server Features
              2. Client Features (Work in Progress)
            2. Response Format
              1. Available Tools and Resources
                1. API Tools
                2. Account Management Tools
                3. Application Tools
                4. Asset Tools
                5. Transaction Tools
                6. Key Management Tools
                7. Utility Tools
              2. Dependencies
                1. License
                  ID: mdua2aie6d