Skip to main content
Glama

Algorand MCP 实现

铁匠徽章 npm 下载 npm 版本 许可证:MIT

概述

模型上下文协议(MCP)是一种开放协议,它规范了应用程序如何向LLM提供上下文。MCP提供了规范标准,为LLM提供工具、资源和指令,使其更加实用和高效。

截图于 2025-03-15 17:47:54

MCP Github包含更多信息和不同的工具和规范以及 MCP 的文档。

此代码库是 Algorand 区块链交互的模型上下文协议 (MCP) 实现。该实现包括:

  • (生产)用于区块链交互的服务器包(仅限 Node.js)

  • (WIP)用于钱包管理和交易签名的客户端包(支持浏览器和 Node.js)

📦此存储库中的软件包:

📦NPM:

📦锻造:

Related MCP server: Armor Crypto MCP

特征

  • 完成 Algorand 文档集成

    • 完整的 Algorand 知识分类

    • 全面的开发人员文档

    • ARC、SDK 和工具文档

    • 通过知识工具直接访问文档

  • 完整的 Algorand 区块链交互功能

  • 广泛的钱包管理系统

  • 全面的交易处理

  • 丰富的区块链状态查询

  • 内置安全功能

  • 支持 Claude Desktop 和 Cursor 集成

要求

  • Node.js v23.6.1 或更高版本

  • npm v10.2.4 或更高版本

安装

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

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

node -v

如果需要,请升级到 23.6.1 或更高版本!

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

mkdir PATH_ON_YOUR_MACHINE/Claude/mcp-servers # or for Cursor mkdir PATH_ON_YOUR_MACHINE/Cursor/mcp-servers

然后将这个存储库克隆到 mcp-servers 文件夹下并安装依赖项:

cd PATH_ON_YOUR_MACHINE/Claude/mcp-servers # or for Cursor cd PATH_ON_YOUR_MACHINE/Cursor/mcp-servers # Clone the repository git clone https://github.com/GoPlausible/algorand-mcp.git cd algorand-mcp # Install dependencies npm install # Build the project npm run build # Edit the .env file to set your configurations

大功告成!现在您可以打开 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" ] } } }

项目架构

该项目采用模块化架构,包含两个主要包:

  1. 服务器包(

    • 提供 MCP 工具和资源

    • 管理区块链交互

    • 处理交易创建和提交

    • 提供全面的区块链查询

  2. 客户端包(

    • 处理钱包连接和交易签名

    • 支持本地和外部钱包

    • 通用兼容性(浏览器/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 (algorand://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 工具(算法和索引器)

  • 6 个用于名称服务的 NFDomains (NFD) 工具

  • 28 个用于 DeFi 分析的 Vestige 工具

  • 9 个用于 AMM 交互的 Tinyman 工具

  • 12 个用于 DEX 功能的 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:将帐户重新密钥到新地址

  • 验证地址:检查 Algorand 地址是否有效

  • encode_address:将公钥编码为 Algorand 地址

  • 解码地址:将 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:向网络提交已签名的交易

  • 模拟原始交易

  • 模拟交易:详细配置模拟交易

  • make_payment_txn:创建支付交易

  • 分配组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 编码为字节

  • decoder_uint64:将字节解码为uint64

  • generate_algorand_uri:根据 ARC-26 规范生成 Algorand URI 和二维码

依赖项

  • algosdk:Algorand JavaScript SDK

  • @perawallet/connect:Pera Wallet 连接器

  • @blockshake/defly-connect:Defly 钱包连接器

  • @daffiwallet/connect:Daffi 钱包连接器

执照

麻省理工学院

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GoPlausible/algorand-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server