区块链智能代理

AMOCA是一个基于Solana区块链的智能代理,提供账户操作、代币交易、投资组合分析和自动化工作流等功能,适用于区块链开发和DeFi应用。

  • by manolaz
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 manolaz/amoca-solana-mcp-server

使用说明

AMOCA(自主价值链代理)

此存储库演示了用于Solana开发的自主价值链代理(AMOCA)的实现,该代理基于模型上下文协议(MCP)构建。

目录

AMOCA是什么?

AMOCA(Autonomous Merit On Chain Agent)是一个智能代理,通过标准化的接口为Solana区块链开发提供增强的功能。该实施展示了:

  1. Solana的全面RPC方法:

    • 基本账户操作(getBalance、getAccountInfo、getTransaction)
    • 链上存储计算(获取最低余额租金豁免)
    • 钱包操作(创建钱包、导入钱包)
  2. DeFi交易能力:

    • 代币余额检查(单个代币和完整投资组合分析)
    • 基于美元直方图的代币价值分布可视化
    • 利用Jupiter API的价格数据进行投资组合价值跟踪
    • 用于代币交换的Jupiter API集成
    • 报价检索和掉期执行
  3. Solana开发的有用自主工作流程:

    • 交易分析提示(故障诊断、成本明细)
    • 存储成本计算
    • Solana安装和集群的文档访问
  4. 基于绩效的链上操作验证

flowchart TB
    %% Main Components
    Claude[Claude LLM]
    MCP[Model Context Protocol Server]
    User[User]
    
    %% External APIs
    SolanaRPC[Solana RPC Endpoints]
    JupiterAPI[Jupiter API]
    HeliusAPI[Helius API]
    
    %% API Categories
    subgraph HeliusServices[Helius API Services]
        DAS[Digital Asset Standard API]
        CollectionMint[Collection & Mint API]
        Webhooks[Webhook Management]
        NetworkTools[Network & Utility Tools]
    end
    
    subgraph SolanaServices[Solana Services]
        AccountOps[Account Operations]
        StorageCalc[Storage Calculations]
        WalletOps[Wallet Operations]
        TxAnalysis[Transaction Analysis]
    end
    
    subgraph JupiterServices[Jupiter Services]
        PriceData[Price Data]
        TokenSwaps[Token Swaps]
        QuoteRetrieval[Quote Retrieval]
    end
    
    %% Core Interactions
    User <---> Claude
    Claude <---> MCP
    
    %% MCP to APIs
    MCP <---> SolanaRPC
    MCP <---> JupiterAPI
    MCP <---> HeliusAPI
    
    %% Helius API Connections
    HeliusAPI --- HeliusServices
    
    %% Solana Service Connections
    SolanaRPC --- SolanaServices
    
    %% Jupiter Service Connections
    JupiterAPI --- JupiterServices
    
    %% AMOCA Features
    MCP --- TokenBalances[Token Balance Checking]
    MCP --- PortfolioAnalysis[Portfolio Analysis]
    MCP --- ValueVisualizations[Value Visualizations]
    MCP --- MeritValidation[Merit-based Validation]
    MCP --- AutoWorkflows[Autonomous Workflows]

特性

  • Solana RPC工具:查询账户信息、检查余额和分析交易
  • 钱包管理:创建和导入Solana钱包
  • 交易工具:执行代币互换、检查代币价格和分析投资组合
  • Helius API集成:利用Helius强大的API增强Solana数据访问

Solana模型上下文协议(MCP)

此存储库演示了用于Solana开发的模型上下文协议(MCP)服务器的简单实现。

什么是MCP?

模型上下文协议(MCP)是人工智能模型与工具和资源交互的标准化接口。此演示展示了一个简单的MCP服务器实现,它提供:

  1. Solana的基本RPC方法(getBalance、getAccountInfo、getTransaction)
  2. Solana开发的一些有用提示

先决条件

  • Node.js(建议使用v16或更高版本)
  • pnpm包管理器(v9.10.0或兼容)
  • Solana CLI(可选但推荐)

安装

克隆此存储库并安装依赖项:

git clone https://github.com/manolaz/amoca-solana-mcp-server.git
cd solana-dev-mcp
pnpm install

要在MCP检查器中运行此服务器,请使用:

npx @modelcontextprotocol/inspector ts-node index.ts

入门指南

  1. 设置环境变量:创建一个 .env 文件基于 .env.example 模板与您的API密钥。
cp .env.example .env
# Edit .env with your API keys
  1. 探索代码:主要执行情况如下 index.ts,它使用简单的获取工具和一些提示来设置MCP服务器。

  2. 修改服务器:您可以通过添加更多工具、资源和提示来扩展服务器。

  3. 测试您的实现:运行测试套件以确保一切正常工作。

pnpm test

示例用法

本节介绍如何在中使用Solana MCP服务器 克劳德. 按照相同的步骤在中使用Solana MCP服务器 帆板运动 和 光标.

生成配置文件

要使用此Solana MCP服务器,您需要生成一个配置文件,Claude可以使用该文件连接到服务器。运行以下命令之一以生成配置文件:

  • pnpm generate-config 如果你有 ts-node 全球安装
  • pnpm build && pnpm generate-config:js 如果你没有 ts-node 全球安装

这将打印一个包含以下内容的JSON配置:

如果你有 ts-node:

{
  "mcpServers": {
    "solana-dev": {
      "command": "ts-node",
      "args": ["<full-path-to-repo>/index.ts"]
    }
  }
}

如果你没有 ts-node 全局安装:

{
  "mcpServers": {
    "solana-dev": {
      "command": "node",
      "args": ["<full-path-to-repo>/dist/index.js"]
    }
  }
}

与Claude一起使用AMOCA

项目结构

  • index.ts -主服务器实现
  • package.json -项目依赖关系和元数据
  • tsconfig.json -TypeScript配置

拓展MCP发展索拉纳的思路

此MCP服务器实现提供了一个基础,您可以根据自己的Solana开发需求进行扩展或分叉。以下是一些让你开始的想法:

扩展思路

  1. 优先费估算师:添加一个工具,根据最近的网络活动估算Solana交易的最佳优先级费用。这可以帮助用户优化交易成本,同时确保及时处理。

  2. Solana验证调试器:创建一个帮助调试问题的工具 solana-verify 通过提供关于验证过程的更详细的信息。

  3. Solana Security.txt检查器:构建一个工具,提取并显示给定Solana程序的security.txt文件信息,以便更容易与程序的维护人员联系,解决安全问题。

  4. 项目部署小队助手:创建一个工具,自动化部署和升级Solana程序的过程,使跨多个环境管理程序状态变得更加容易。

  5. 锚点错误解释器:开发一个工具,该工具接收错误代码并从Anchor错误代码数据库中查找相应的人类可读错误消息。

  6. 增强提示:扩展服务器的提示功能,为Solana开发任务提供更多上下文感知建议。例如,添加常见交易模式、帐户创建或令牌操作的提示。

  7. 交易生成器:创建工具,帮助构建具有多条指令的复杂事务,使其更容易与各种Solana程序交互。

  8. 自定义RPC端点:允许配置自定义RPC终结点,包括支持私有RPC提供程序或本地验证器。

  9. 程序部署助手:创建简化Solana程序部署和升级过程的工具。

  10. 帐户和交易浏览器:添加一个工具,该工具接受帐户或交易ID,并以人类可读的格式显示内容,类似于资源管理器视图。这可能有助于检查交易数据或账户状态,而无需手动解码数据。

  11. Solana、锚点和协议文档:添加资源,将Solana、Anchor和Protocol文档直接加载到MCP编辑器中,无需离开编辑器即可轻松访问相关信息。这可以通过从相应的存储库中获取文档并将其作为MCP服务器的资源来实现。

如何做出贡献

如果您构建了一个可能对其他人有用的扩展,请考虑向此存储库提交拉取请求。请务必遵循以下指南:

  1. 保持你的代码记录良好
  2. 包括新功能的测试
  3. 遵循现有代码样式
  4. 用您添加的信息更新README

Helius API工具

该项目集成了各种Helius API端点,用于强大的索拉纳数据访问:

数字资产标准(DAS)API

工具 说明
getAssetsByOwner 获取特定地址拥有的NFT
getAsset 通过ID获取特定NFT的详细信息
getAssetsByGroup 获取属于特定组(如集合)的资产
searchAssets 使用复杂的查询参数搜索资产
getAssetProof 获取压缩NFT的merkle证明
getAssetsByCreator 获取由特定创建者地址创建的资产
getAssetsByAuthority 通过更新授权地址获取资产
getNftEditions 获取主版NFT的所有版本

收藏和薄荷API

工具 说明
getMintlist 获取收藏的mintlist

网钩 管理

工具 说明
getAllWebhooks 获取Helius API密钥的所有webhook
getWebhookByID 按 Webhook ID 获取 Webhook 详细信息
createWebhook 创建新的webhook用于地址活动监控
createCollectionWebhook 创建一个webhook来监控NFT集合
deleteWebhook 按ID删除webhook

网络和实用工具

工具 说明
getCurrentTPS 获取Solana上每秒的当前交易量
getTokenHolders 通过造币厂地址获取特定代币的持有者
getPriorityFeeEstimate 获取交易的预估优先级费用
getStakeAccounts 按所有者地址获取股份账户
getComputeUnits 模拟事务以获得消耗的总计算单位

增强提示

服务器包括用于常见Helius相关任务的专用提示:

提示 描述
collection-analysis 获取NFT集合的详细分析
monitor-nft-collection 设置一个webhook来监控NFT收集活动
network-status 获取Solana网络状态信息

使用示例

获取地址所属的NFT

const response = await server.tools.getAssetsByOwner({
  ownerAddress: "GoodboiNft5iFNhbgKkf1RX2VdMqKvt5xYxyVh3zf9okx",
});

分析NFT集合

const response = await server.prompts["collection-analysis"]({
  collectionAddress: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w",
});

监控网络状态

const response = await server.prompts["network-status"]({});

许可证

麻省理工学院