返回市场
服务器

服务器

作者:GoPlausible38 星标更新:2025-09-17

项目介绍

smithery 徽章 npm 版本 许可证:MIT

Algorand MCP 服务器

概述

Algorand MCP 服务器提供了一整套工具和资源,用于通过模型上下文协议(MCP)与 Algorand 区块链进行交互。它仅在 Node.js 环境中运行,支持账户管理、资产操作、应用程序交互和区块链查询等功能。

要求

  • Node.js v23.6.1 或更高版本
  • npm v10.2.4 或更高版本

功能

  • 总共 125 个工具:
    • 40 个基础工具(账户、资产、应用程序、交易管理)
    • 30 个 API 工具(algod 和索引器)
    • 6 个 NFDomains(NFD)工具用于命名服务
    • 28 个 Vestige 工具用于 DeFi 分析
    • 9 个 Tinyman 工具用于 AMM 交互
    • 12 个 Ultrade 工具用于 DEX 功能
  • 30 个数据访问资源端点
  • 内置默认配置以快速设置
  • 完整的交易管理
  • 完整的应用程序生命周期支持
  • 资产创建和管理
  • 实时和历史数据访问
  • NFDomains 集成用于命名解析和管理
  • Vestige 集成用于 DeFi 分析和跟踪(可选,默认禁用)
  • Tinyman AMM 集成用于去中心化交易(可选,默认禁用)
  • Ultrade DEX 集成用于交易和市场操作(可选,默认禁用)

项目结构

src/
├── resources/                # MCP 资源(用户可调用的端点)
│   ├── knowledge/           # 文档和分类法
│   │   ├── taxonomy/        # Markdown 文档
│   │   ├── taxonomy-categories/ # 分类 JSON 定义
│   │   └── index.ts         # 知识资源处理器
│   ├── wallet/             # 钱包管理
│   │   └── index.ts         # 钱包资源处理器
│   └── index.ts             # 资源注册
├── tools/                  # MCP 工具(代理可调用的操作)
│   ├── accountManager.ts    # 账户操作
│   ├── algodManager.ts      # 节点交互
│   ├── utilityManager.ts    # 辅助函数
│   ├── apiManager/      # API 工具(代理可访问的资源数据)
│   │   ├── algod/          # Algod API 工具
│   │   ├── indexer/        # 索引器 API 工具
│   │   ├── nfd/            # NFDomains 工具
│   │   ├── vestige/        # Vestige DeFi 工具
│   │   ├── tinyman/        # Tinyman AMM 工具
│   │   └── ultrade/        # Ultrade DEX 工具
│   └── transactionManager/ # 交易处理
└── index.ts               # 服务器入口点

MCP 组件

资源

用户可调用的端点,提供对数据和服务的直接访问:

  1. 知识资源:
    • algorand://knowledge/taxonomy - 全部文档分类法
    • algorand://knowledge/taxonomy/{category} - 特定分类的文档

知识工具:

  • get_knowledge_doc - 获取指定知识文档的 Markdown 内容
    • 参数:{ documents: string[] }(例如,["ARCs:specs:arc-0020.md"])
    • 返回值:Markdown 格式的文档内容
  1. 钱包资源:
    • algorand://wallet/account - 账户信息和余额
    • algorand://wallet/assets - 账户持有的资产及其详情

API 工具

代理可调用的工具,提供对各种 Algorand 生态系统 API 的直接访问。这些工具设计用于由代理 LLM 使用来与以下内容交互:

  • Algorand 节点(algod)API 用于实时区块链数据
  • 索引器 API 用于历史区块链数据
  • NFDomains API 用于命名服务
  • Vestige API 用于 DeFi 分析
  • Tinyman API 用于 AMM 操作
  • Ultrade API 用于 DEX 功能

每个 API 工具都遵循一致的命名约定,以 api_ 前缀开头,以便于清晰和更好的用户体验。

安装

要安装或更新 Algorand MCP 实现,请克隆仓库,安装依赖项并构建项目:

首先检查 Node 版本是否为 23.6.1 或更高版本:

node -v

如需升级到 23.6.1 或更高版本!

然后检查 Claude 或 Cursor 容器文件夹是否有 mcp-servers 文件夹(如果没有则创建一个):

mkdir PATH_ON_YOUR_MACHINE/Claude/mcp-servers
# 或对于 Cursor
mkdir PATH_ON_YOUR_MACHINE/Cursor/mcp-servers

然后在 mcp-servers 文件夹下克隆此仓库并安装依赖项:

cd PATH_ON_YOUR_MACHINE/Claude/mcp-servers
# 或对于 Cursor
cd PATH_ON_YOUR_MACHINE/Cursor/mcp-servers
# 克隆仓库
git clone https://github.com/GoPlausible/algorand-mcp.git
cd algorand-mcp
# 安装依赖项
npm install
# 构建项目
npm run build
# 编辑 .env 文件以设置您的配置

现在您已完成!现在您可以打开 MCP 配置并添加服务器如下:

{
  "mcpServers": {
    "algorand-mcp": {
      "command": "node",
      "args": [
        "PATH_ON_YOUR_MACHINE/Claude/mcp-servers/algorand-mcp/packages/server/dist/index.js"
     ],
      "env": {
        "ALGORAND_NETWORK": "testnet",
        "ALGORAND_ALGOD_API": "https://testnet-api.algonode.cloud/v2",
        "ALGORAND_ALGOD": "https://testnet-api.algonode.cloud",
        "ALGORAND_INDEXER_API": "https://testnet-idx.algonode.cloud/v2",
        "ALGORAND_INDEXER": "https://testnet-idx.algonode.cloud",
        "ALGORAND_ALGOD_PORT": "",
        "ALGORAND_INDEXER_PORT": "",
        "ALGORAND_TOKEN": "",
        "ALGORAND_AGENT_WALLET": "problem aim online jaguar upper oil flight stumble mystery aerobic toy avoid file tomato moment exclude witness guard lab opera crunch noodle dune abandon broccoli",
        "NFD_API_URL": "https://api.nf.domains",
        "NFD_API_KEY": "",
        "TINYMAN_ACTIVE": "false",
        "ULTRADE_ACTIVE": "false",
        "ULTRADE_API_URL": "https://api.ultrade.io",
        "VESTIGE_ACTIVE": "false",
        "VESTIGE_API_URL": "https://api.vestigelabs.org",
        "VESTIGE_API_KEY": "",
        "ITEMS_PER_PAGE": "10"

      }
    }
  }
}

确保您更改路径以匹配您本地系统的路径。

例如,在 MACOS 和 Claud 上,路径可能如下所示:

{
  "mcpServers": {
    "algorand-mcp": {
      "command": "node",
      "args": [
        " /Users/YOUR_USERNAME/Library/Application\ Support/Claude/mcp-servers/algorand-mcp/packages/server/dist/index.js"
     ]
    }
  }
}

可用工具

知识资源

静态 URI 用于访问 Algorand 的全面文档:

  • algorand://knowledge/taxonomy - 全部文档分类法
  • algorand://knowledge/taxonomy/arcs - ARCs 文档
  • algorand://knowledge/taxonomy/sdks - SDKs 文档
  • algorand://knowledge/taxonomy/algokit - AlgoKit 文档
  • algorand://knowledge/taxonomy/algokit-utils - AlgoKit Utils 文档
  • algorand://knowledge/taxonomy/tealscript - TEALScript 文档
  • algorand://knowledge/taxonomy/puya - Puya 文档
  • algorand://knowledge/taxonomy/liquid-auth - Liquid Auth 文档
  • algorand://knowledge/taxonomy/python - Python 开发资源
  • algorand://knowledge/taxonomy/developers - 开发者文档
  • algorand://knowledge/taxonomy/clis - CLI 工具文档
  • algorand://knowledge/taxonomy/nodes - 节点管理文档
  • algorand://knowledge/taxonomy/details - 技术细节文档

每个资源提供对其相应文档类别的直接访问,格式为 Markdown。

API 工具

API 工具设计用于由代理 LLM 执行各种操作,并且可以轻松地被 LLM 代理调用。它们根据其功能分为不同的部分。

Algod API 工具

  • api_algod_get_account_info: 从 algod 获取当前账户余额、资产和授权地址
  • api_algod_get_account_application_info: 从 algod 获取特定账户的应用程序信息
  • api_algod_get_account_asset_info: 从 algod 获取特定账户的资产信息
  • api_algod_get_application_by_id: 获取应用程序信息
  • api_algod_get_application_box: 通过名称获取应用程序箱
  • api_algod_get_application_boxes: 获取所有应用程序箱
  • api_algod_get_asset_by_id: 从 algod 获取当前资产信息
  • 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_transactions: 获取账户交易历史
  • api_indexer_lookup_account_assets: 获取账户资产
  • api_indexer_lookup_account_app_local_states: 获取账户应用程序本地状态
  • api_indexer_lookup_account_created_applications: 获取该账户创建的应用程序
  • api_indexer_lookup_applications: 从索引器获取应用程序信息
  • api_indexer_lookup_application_logs: 获取应用程序日志消息
  • api_indexer_lookup_application_box: 通过名称获取应用程序箱
  • api_indexer_lookup_application_boxes: 获取所有应用程序箱
  • api_indexer_lookup_asset_by_id: 获取资产信息和配置
  • api_indexer_lookup_asset_balances: 获取持有该资产的账户及其余额
  • api_indexer_lookup_asset_transactions: 获取涉及该资产的交易
  • api_indexer_lookup_transaction_by_id: 通过 ID 获取交易信息
  • api_indexer_search_accounts: 使用各种标准搜索账户
  • api_indexer_search_for_applications: 使用各种标准搜索应用程序
  • api_indexer_search_for_assets: 使用各种标准搜索资产
  • api_indexer_search_for_transactions: 使用各种标准搜索交易

NFDomains (NFD) API 工具

  • api_nfd_get_nfd: 通过名称或应用程序 ID 获取特定 NFD
  • api_nfd_get_nfds_for_addresses: 获取特定地址的 NFDs
  • api_nfd_get_nfd_activity: 获取 NFDs 的活动/变更
  • api_nfd_get_nfd_analytics: 获取 NFDs 的分析数据
  • api_nfd_browse_nfds: 使用各种过滤器浏览 NFDs
  • api_nfd_search_nfds: 使用各种过滤器搜索 NFDs

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: 获取资产成交量、交换量、总锁定量、加权平均价格和信心历史
  • 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_v_este_view_currency_prices_simple_30d: 获取过去 30 天的货币价格

Tinyman API 工具

  • api_tinyman_get_pool: 通过资产对获取 Tinyman 池信息

    • 参数:asset1Id, asset2Id, version (v1_1 或 v2)
    • 返回值:池状态、验证器应用 ID、资产和储备
  • api_tinyman_get_pool_analytics: 获取 Tinyman 池的分析

    • 参数:asset1Id, asset2Id, version
    • 返回值:池状态、空闲检查、配对比率和储备
  • api_tinyman_get_pool_creation_quote: 获取创建新池的报价

    • 参数:asset1Id, asset2Id, initiatorAddr, version
    • 返回值:交易计数和估计费用
  • api_tinyman_get_liquidity_quote: 获取添加流动性的报价

    • 参数:asset1Id, asset2Id, asset1Amount, asset2Amount, mode (initial/flexible/singleAsset), version
    • 返回值:带有预期池代币的流动性报价
  • api_tinyman_get_remove_liquidity_quote: 获取移除流动性的报价

    • 参数:asset1Id, asset2Id, poolTokenAmount, initiatorAddr, slippage, singleAssetMode, version
    • 返回值:带有预期资产金额的移除流动性报价
  • api_tinyman_get_swap_quote: 获取交换资产的报价

    • 参数:assetIn, assetOut, amount, mode (fixedInput/fixedOutput), version
    • 返回值:带有预期输出/输入金额的交换报价
  • api_tinyman_get_asset_optin_quote: 获取加入池代币的报价

    • 参数:assetId, initiatorAddr
    • 返回值:交易计数和估计费用
  • api_tinyman_get_validator_optin_quote: 获取加入验证器的报价

    • 参数:initiatorAddr, version
    • 返回值:交易计数和估计费用
  • api_tinyman_get_validator_optout_quote: 获取退出验证器的报价

    • 参数:initiatorAddr, version
    • 返回值:交易计数和估计费用

Ultrade API 工具

  1. 钱包工具:
  • api_ultrade_wallet_signin_message: 从登录数据生成消息

    • 参数:data (address, technology), customMessage (可选)
    • 返回值:需要签名的消息
  • api_ultrade_wallet_signin: 登录交易账户

    • 参数:message, signature, data (address, technology), referralToken (可选)
    • 返回值:会话令牌
  • api_ultrade_wallet_add_key: 添加交易密钥

    • 参数:message, signature, walletAddress, walletToken
    • 返回值:交易密钥详情
  • api_ultrade_wallet_revoke_key: 撤销交易密钥

    • 参数:message, signature, walletAddress, walletToken
    • 返回值:操作状态
  • api_ultrade_wallet_keys: 获取交易密钥

    • 参数:walletAddress, walletToken
    • 返回值:交易密钥列表
  • api_ultrade_wallet_key_message: 从交易密钥数据生成消息

    • 参数:tkAddress, loginAddress, loginChainId, expiredDate (可选), addKey, type
    • 返回值:需要签名的消息
  • api_ultrade_wallet_trades: 获取筛选过的钱包交易

    • 参数:walletAddress, walletToken (可选), tradingKey (可选)
    • 返回值:交易列表
  • api_ultrade_wallet_transactions: 获取筛选过的钱包交易

    • 参数:walletAddress, walletToken (可选), tradingKey (可选)
    • 返回值:交易列表
  • api_ultrade_wallet_withdraw: 提取代币

    • 参数: