Algorand MCP 实现
概述
模型上下文协议(MCP)是一种开放协议,它规范了应用程序如何向LLM提供上下文。MCP提供了规范标准,为LLM提供工具、资源和指令,使其更加实用和高效。
MCP Github包含更多信息和不同的工具和规范以及 MCP 的文档。
此代码库是 Algorand 区块链交互的模型上下文协议 (MCP) 实现。该实现包括:
- (生产)用于区块链交互的服务器包(仅限 Node.js)
- (WIP)用于钱包管理和交易签名的客户端包(支持浏览器和 Node.js)
📦此存储库中的软件包:
- Algorand MCP 服务器- Algorand MCP 服务器的完整实现。
- Algorand MCP 客户端- Algorand MCP 客户端用于客户端钱包管理和交易签名,以及其他代理主机的集成。
📦NPM:
- Algorand MCP 服务器 NPM 包- 通过 NPM 包安装实现 Algorand MCP 服务器。
📦锻造:
- Smithery 上的 Algorand MCP 服务器- 通过 smithery 实现 Algorand MCP 服务器。
特征
- 完成 Algorand 文档集成
- 完整的 Algorand 知识分类
- 全面的开发人员文档
- ARC、SDK 和工具文档
- 通过知识工具直接访问文档
- 完整的 Algorand 区块链交互功能
- 广泛的钱包管理系统
- 全面的交易处理
- 丰富的区块链状态查询
- 内置安全功能
- 支持 Claude Desktop 和 Cursor 集成
要求
- Node.js v23.6.1 或更高版本
- npm v10.2.4 或更高版本
安装
要安装或更新 Algorand MCP 实现,请克隆存储库、安装依赖项并构建项目”:
首先检查节点版本是否为23.6.1或更高版本:
如果需要,请升级到 23.6.1 或更高版本!
然后检查 Claude 或 Cursor 容器文件夹是否有 mcp-servers 文件夹(如果没有,请创建一个):
然后将这个存储库克隆到 mcp-servers 文件夹下并安装依赖项:
大功告成!现在您可以打开 MCP 配置,并将服务器添加为:
确保更改路径以匹配本地系统的路径。
例如在 MACOS 和 Claud 上,路径将是这样的:
项目架构
该项目采用模块化架构,包含两个主要包:
- 服务器包(
@algorand-mcp/server
)- 提供 MCP 工具和资源
- 管理区块链交互
- 处理交易创建和提交
- 提供全面的区块链查询
- 客户端包(
@algorand-mcp/client
)- 处理钱包连接和交易签名
- 支持本地和外部钱包
- 通用兼容性(浏览器/Node.js)
- 安全凭证管理
- 仍在进行中(服务器工作与客户端状态无关)
项目结构
核心功能
服务器功能
- 帐户管理
- 资产运营
- 应用程序交互
- 交易创建和提交
- 区块链状态查询
- 全面的实用功能
- 标准化响应格式
- 内置分页支持
- 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 模块支持
响应格式
所有回复均遵循标准化格式:
错误以标准格式返回:
可用的工具和资源
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 工具
- 查看工具:
- 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:获取掉期
- 交换工具:
- 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:获取聚合器统计数据
- 货币工具:
- 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 工具
- 钱包工具:
- 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:从提现数据生成消息
- 市场工具:
- 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:取消多个未结订单
- 系统工具:
- 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 钱包连接器
执照
麻省理工学院
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
一个全面的 MCP 服务器,用于 Algorand 区块链上的工具交互(100+)和资源可访问性(Algorand 知识、嵌入式钱包等),以及许多有用的提示。
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityAn MCP server that connects Claude to BrianKnows' blockchain knowledge base, allowing users to search for blockchain/DeFi information and interact with a specialized agent across multiple knowledge bases.Last updated -3JavaScript
- AsecurityFlicenseAqualityAn MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.Last updated -3928
- AsecurityAlicenseAqualityA MCP server offering tools for cryptocurrency research and Ethereum-based automation.Last updated -113637TypeScriptAGPL 3.0
- -securityFlicense-qualityAn MCP server that connects Claude for Desktop with blockchain functionality, allowing users to check balances and send tokens on EVM and Solana chains through natural language interactions.Last updated -TypeScript