返回市场
远程算法链-MCP

远程算法链-MCP

作者:GoPlausible14 星标更新:2025-09-21

项目介绍

Algorand 远程 MCP

这是一个实现模型上下文协议(MCP)服务器,提供工具和资源供AI代理与Algorand区块链交互。

概述

Algorand 远程 MCP 桥接了AI代理与Algorand区块链生态系统之间的差距。它作为一个中间件层,使AI系统能够通过标准化接口与区块链技术进行交互,而无需深入了解区块链技术。

该服务器设计运行在Cloudflare Workers上,并提供了全面的区块链操作工具和资源,包括钱包管理、交易创建和提交、API集成以及知识访问。这仅是一个远程MCP实现,专注于为AI代理提供与Algorand区块链交互的服务器端功能。

特性

  • 安全的钱包管理:创建、访问和管理Algorand钱包,为新用户自动创建钱包
  • HashiCorp Vault 集成
    • 使用HashiCorp Vault安全存储敏感的钱包凭证
    • Ed25519密钥对操作用于加密功能
    • 所有新账户使用Ed25519安全密钥引擎的策略。
  • 全面的交易支持:创建、签名并提交各种类型的交易(支付、资产、应用)
  • API 集成:通过标准化接口访问Algorand节点、索引器和NFD API
  • 知识资源:访问Algorand开发文档和指南
  • 多提供商OAuth认证
    • 通过多个提供商(Google、GitHub、Twitter、LinkedIn)进行安全用户认证
    • 完整的认证生命周期,包括登录、会话管理和登出
  • 分页支持:处理大型数据集时内置分页
  • 标准化响应格式化:一致的响应格式化以供AI代理消费
  • 钱包重置能力:用户可以重置他们的钱包并生成一个新的钱包

安装

确保您已安装以下内容:

  • Node.js v16+版本
  • 一个Google账号用于OAuth认证

添加以下内容到您的MCP服务器:

{
  "mcpServers": {
    "algorand-remote-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://algorand-remote-mcp.your-account.workers.dev/sse"  // 或者 http://localhost:8787/sse 用于本地开发
      ]
    }
  }
}

然后重启您的LLM代理并提示其:

阅读Algorand远程MCP指南。

架构

Algorand远程MCP基于模型上下文协议(MCP),提供了一种标准化的方式让AI代理与外部系统交互。服务器作为Cloudflare Worker实现,包含以下组件:

  • AlgorandRemoteMCP类:主要的MCP代理实现,扩展自McpAgent
  • 工具管理器:针对不同操作类型的专用管理器
  • 资源提供者:基于URI的数据和文档访问
  • 响应处理器:具有分页支持的标准化响应格式化
  • OAuth集成:安全的用户认证和授权
  • HashiCorp Vault集成
    • 安全存储敏感的钱包凭证
    • Ed25519密钥对操作用于加密功能
    • 在不暴露私钥的情况下安全地管理密钥
    • 所有新账户使用安全的Ed25519密钥引擎的策略
  • 服务绑定:跨工作者通信以执行安全的金库操作

可用工具

账户管理

  • create_account:创建新的Algorand账户
  • mnemonic_to_address:查看与助记词关联的地址(不存储私钥)
  • check_account_balance:检查Algorand账户余额

钱包管理

  • get_wallet_address:获取配置的钱包地址
  • get_wallet_info:获取配置的钱包账户信息
  • get_wallet_assets:获取配置的钱包拥有的资产
  • get_wallet_publickey:获取配置的钱包公钥
  • reset_wallet_account:重置配置用户的钱包账户
  • logout:从OAuth提供商注销并清除认证cookie

交易管理

  • create_payment_transaction:创建支付交易
  • sign_transaction:使用钱包凭证签名交易
  • submit_transaction:向网络提交已签名的交易
  • create_atomic_group:从多个交易创建原子交易组
  • sign_atomic_group:签名原子交易组
  • submit_atomic_group:向网络提交已签名的原子交易组
  • asset_optin:创建资产加入交易
  • transfer_asset:创建资产转移交易
  • create_asset:创建新的Algorand标准资产
  • create_application:创建新的智能合约应用
  • call_application:调用智能合约应用

API集成

  • algod_get_account_info:从Algorand节点获取账户详情
  • algod_get_transaction_info:从Algorand节点获取交易详情
  • indexer_lookup_account_by_id:从索引器获取账户详情
  • api_nfd_get_nfd:获取NFD地址信息

实用工具

  • validate_address:验证Algorand地址
  • compile_teal:编译TEAL源代码
  • algorand_mcp_guide:访问使用Algorand远程MCP的综合指南

加密工具

  • create_keypair:在HashiCorp Vault中创建新的Ed25519密钥对
  • get_public_key:从HashiCorp Vault获取密钥对的公钥
  • sign_bytes:使用秘密密钥签名字节
  • verify_signature:使用HashiCorp Vault中的密钥对验证签名

可用资源

钱包资源

  • algorand://wallet/address:钱包账户地址
  • algorand://wallet/account:钱包账户信息
  • algorand://wallet/assets:钱包账户资产
  • algorand://wallet/publickey:钱包账户公钥

知识资源

  • algorand://knowledge/taxonomy:知识资源的完整分类
  • algorand://knowledge/taxonomy/{category}:特定类别的知识资源

指南资源

  • algorand://remote-mcp-guide:使用Algorand远程MCP的综合指南

安装和设置

开发先决条件

  • Node.js v16+
  • Cloudflare Workers账户
  • Algorand节点访问(或使用如Nodely.io(即AlgoNode)的服务)
  • Google OAuth凭证
  • HashiCorp Vault工作者用于安全凭证存储

环境变量

ALGORAND_NETWORK=mainnet
ALGORAND_ALGOD=https://your-algod-node.com
ALGORAND_INDEXER=https://your-indexer-node.com
NFD_API_URL=https://api.nf.domains
ALGORAND_TOKEN=your-api-token
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
HCV_WORKER_URL=https://your-hashicorp-vault-worker.workers.dev

部署

  1. 克隆仓库
  2. 安装依赖项:npm install
  3. wrangler.toml中配置环境变量
  4. 部署到Cloudflare Workers:wrangler deploy

使用

用户认证流程

  1. 用户通过他们首选的OAuth提供商(Google、GitHub、Twitter、LinkedIn)进行认证
  2. 服务器从HashiCorp Vault创建或检索钱包凭证
  3. 用户现在可以通过MCP接口访问工具和资源
  4. 完成后,用户可以使用logout工具注销,清除认证cookie

代理交易流程

单个交易

  1. 使用适当的工具创建交易(例如,create_payment_transaction
  2. 使用sign_transaction工具使用钱包凭证签名交易
  3. 使用submit_transaction工具将交易提交到网络
  4. 验证交易成功

原子交易组

  1. 使用create_atomic_group工具创建多个交易作为原子组
  2. 使用sign_atomic_group工具签名交易组
  3. 使用submit_atomic_group工具将签名的组提交到网络
  4. 验证交易成功

项目结构

├── src/                          # 源代码目录
│   ├── index.ts                  # 主入口点
│   ├── types.ts                  # 类型定义
│   ├── oauth-handler.ts          # OAuth认证处理器
│   ├── workers-oauth-utils.ts    # OAuth实用工具
│   ├── resources/                # 资源提供者
│   │   ├── guide/                # 指南资源
│   │   ├── knowledge/            # 知识资源
│   │   └── wallet/               # 钱包资源
│   ├── tools/                    # 工具管理器
│   │   ├── accountManager.ts     # 账户管理工具
│   │   ├── algodManager.ts       # Algorand节点工具
│   │   ├── arc26Manager.ts       # ARC-26工具
│   │   ├── knowledgeManager.ts   # 知识工具
│   │   ├── utilityManager.ts     # 实用工具
│   │   ├── walletManager.ts      # 钱包管理工具
│   │   ├── apiManager/           # API集成工具
│   │   └── transactionManager/   # 交易工具
│   └── utils/                    # 实用工具
│       ├── Guide.js              # 指导内容
│       ├── vaultManager.ts       # HashiCorp Vault实用工具,用于密钥存储和加密操作
│       └── responseProcessor.ts  # 响应格式化

贡献

欢迎贡献!请随时提交拉取请求。

  1. 分叉仓库
  2. 创建您的功能分支:git checkout -b feature/my-new-feature
  3. 提交更改:git commit -am '添加某些功能'
  4. 推送到分支:git push origin feature/my-new-feature
  5. 提交拉取请求

许可证

本项目采用MIT许可证——请参阅LICENSE文件了解详细信息。

Algorand 远程 MCP 工具和资源

MCP服务器信息

  • 服务器名称:algorand-remote-mcp
  • 连接:npx mcp-remote https://algorand-remote-mcp.emg110.workers.dev/sse

工具完整索引

加密和编码工具

  1. validate_address - 检查Algorand地址是否有效
  2. encode_address - 将公钥编码为Algorand地址
  3. decode_address - 将Algorand地址解码为公钥
  4. get_application_address - 获取给定应用ID的地址
  5. bytes_to_bigint - 将字节转换为BigInt
  6. bigint_to_bytes - 将BigInt转换为字节
  7. encode_uint64 - 将uint64编码为字节
  8. decode_uint64 - 将字节解码为uint64
  9. verify_bytes - 使用Algorand地址验证签名与字节
  10. sign_bytes - 使用秘密密钥签名字节
  11. encode_obj - 将对象编码为msgpack格式
  12. decode_obj - 将msgpack字节解码为对象

账户管理

  1. create_account - 创建新的Algorand账户
  2. mnemonic_to_address - 查看与助记词关联的地址(不存储私钥)
  3. check_account_balance - 检查Algorand账户余额

钱包管理

  1. get_wallet_publickey - 获取配置的钱包公钥
  2. get_wallet_address - 获取配置的钱包地址
  3. get_wallet_info - 获取配置的钱包账户信息
  4. get_wallet_assets - 获取配置的钱包资产
  5. reset_wallet_account - 重置配置用户的钱包账户
  6. logout - 从OAuth提供商注销并清除认证cookie

交易操作

  1. create_payment_transaction - 在Algorand上创建支付交易
  2. sign_transaction - 使用您的代理账户签名Algorand交易
  3. submit_transaction - 向Algorand网络提交已签名的交易
  4. create_key_registration_transaction - 创建密钥注册交易
  5. assign_group_id - 为一组交易分配一个组ID以进行原子执行
  6. create_atomic_group - 从多种类型的交易(pay, axfer, acfg, appl, afrz 或 keyreg)创建原子交易组
  7. sign_atomic_group - 签名原子交易组
  8. submit_atomic_group - 向Algorand网络提交已签名的原子交易组
  9. send_raw_transaction - 向Algorand网络提交已签名的交易
  10. simulate_raw_transactions - 模拟原始交易
  11. simulate_transactions - 模拟编码交易

资产操作

  1. create_asset - 创建新的Algorand标准资产(ASA)
  2. asset_optin - 加入Algorand标准资产(ASA)
  3. transfer_asset - 转移Algorand标准资产(ASA)

应用(智能合约)操作

  1. create_application - 在Algorand上创建新的智能合约应用
  2. update_application - 更新现有的智能合约应用
  3. delete_application - 删除现有的智能合约应用
  4. closeout_application - 从Algorand应用退出
  5. clear_application - 清除Algorand应用的状态
  6. call_application - 调用Algorand上的智能合约应用
  7. optin_application - 加入Algorand应用

TEAL操作

  1. compile_teal - 编译TEAL源代码
  2. disassemble_teal - 将TEAL字节码反汇编为源代码

URI生成

  1. generate_algorand_uri - 根据ARC-26规范生成URI

API访问

  1. algod_get_account_info - 从algod获取当前账户余额、资产和认证地址
  2. algod_get_account_application_info - 获取账户特定的应用程序信息
  3. algod_get_account_asset_info - 获取账户特定的资产信息
  4. algod_get_application_info - 从algod获取应用程序详情
  5. algod_get_application_box_value - 获取应用程序盒子的内容
  6. algod_get_application_boxes - 获取所有应用程序盒子
  7. algod_get_application_state - 获取应用程序全局状态
  8. algod_get_asset_info - 从algod获取资产详情
  9. algod_get_asset_holding - 获取账户持有的资产信息
  10. asset_verification_status - 从Pera Wallet获取Algorand资产的验证状态
  11. verified_asset_details_info - 从Pera Wallet获取Algorand资产的详细信息
  12. algod_get_transaction_info - 根据交易ID获取交易详情
  13. algod_get_pending_transactions - 从algod内存池获取待处理交易

索引器API访问

  1. indexer_lookup_account_by_id - 从索引器获取账户信息
  2. indexer_lookup_account_assets - 获取账户资产
  3. indexer_lookup_account_app_local_states - 获取账户应用程序本地状态
  4. indexer_lookup_account_created_apps - 获取账户创建的应用程序
  5. indexer_search_for_accounts - 使用各种标准搜索账户
  6. indexer_lookup_applications - 从索引器获取应用程序信息
  7. indexer_lookup_application_logs - 获取应用程序日志消息
  8. indexer_search_for_applications - 使用各种标准搜索应用程序
  9. indexer_lookup_application_box - 根据名称获取应用程序盒子
  10. indexer_lookup_application_boxes - 获取所有应用程序盒子
  11. indexer_lookup_asset_by_id - 从索引器获取资产信息
  12. indexer_lookup_asset_balances - 获取持有特定资产的账户
  13. indexer_search_for_assets - 使用各种标准搜索资产
  14. indexer_lookup_transaction_by_id - 从索引器获取交易详情
  15. indexer_lookup_account_transactions - 获取与账户相关的交易
  16. indexer_search_for_transactions - 使用各种标准搜索交易
  17. indexer_search - 搜索Algorand索引器中的账户、交易、资产或应用程序

NFD(Algorand域名服务)操作

  1. api_nfd_get_nfd - 根据名称获取NFD域名信息
  2. api_nfd_get_nfds_for_address - 获取地址拥有的所有NFD域名
  3. api_nfd_get_nfd_activity - 获取NFD域名的活动
  4. api_nfd_get_nfd_analytics - 获取NFD域名的分析
  5. api_nfd_browse_nfds - 使用过滤选项浏览NFD域名
  6. api_nfd_search_nfds - 搜索NFD域名

通用API和文档

  1. api_request - 向外部API发出请求
  2. algorand_mcp_guide - 访问使用Algorand远程MCP的综合指南
  3. get_knowledge_doc - 获取指定知识文档的markdown内容
  4. list_knowledge_docs - 按类别列出可用的知识文档

资源完整索引

Algorand钱包资源

  1. algorand://wallet/publickey - 钱包账户公钥
  2. `al