使用说明
AMOCA(自主价值链代理)
此存储库演示了用于Solana开发的自主价值链代理(AMOCA)的实现,该代理基于模型上下文协议(MCP)构建。
目录
AMOCA是什么?
AMOCA(Autonomous Merit On Chain Agent)是一个智能代理,通过标准化的接口为Solana区块链开发提供增强的功能。该实施展示了:
-
Solana的全面RPC方法:
- 基本账户操作(getBalance、getAccountInfo、getTransaction)
- 链上存储计算(获取最低余额租金豁免)
- 钱包操作(创建钱包、导入钱包)
-
DeFi交易能力:
- 代币余额检查(单个代币和完整投资组合分析)
- 基于美元直方图的代币价值分布可视化
- 利用Jupiter API的价格数据进行投资组合价值跟踪
- 用于代币交换的Jupiter API集成
- 报价检索和掉期执行
-
Solana开发的有用自主工作流程:
- 交易分析提示(故障诊断、成本明细)
- 存储成本计算
- Solana安装和集群的文档访问
-
基于绩效的链上操作验证
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服务器实现,它提供:
- Solana的基本RPC方法(getBalance、getAccountInfo、getTransaction)
- 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
入门指南
- 设置环境变量:创建一个
.env文件基于.env.example模板与您的API密钥。
cp .env.example .env
# Edit .env with your API keys
-
探索代码:主要执行情况如下
index.ts,它使用简单的获取工具和一些提示来设置MCP服务器。 -
修改服务器:您可以通过添加更多工具、资源和提示来扩展服务器。
-
测试您的实现:运行测试套件以确保一切正常工作。
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开发需求进行扩展或分叉。以下是一些让你开始的想法:
扩展思路
-
优先费估算师:添加一个工具,根据最近的网络活动估算Solana交易的最佳优先级费用。这可以帮助用户优化交易成本,同时确保及时处理。
-
Solana验证调试器:创建一个帮助调试问题的工具
solana-verify通过提供关于验证过程的更详细的信息。 -
Solana Security.txt检查器:构建一个工具,提取并显示给定Solana程序的security.txt文件信息,以便更容易与程序的维护人员联系,解决安全问题。
-
项目部署小队助手:创建一个工具,自动化部署和升级Solana程序的过程,使跨多个环境管理程序状态变得更加容易。
-
锚点错误解释器:开发一个工具,该工具接收错误代码并从Anchor错误代码数据库中查找相应的人类可读错误消息。
-
增强提示:扩展服务器的提示功能,为Solana开发任务提供更多上下文感知建议。例如,添加常见交易模式、帐户创建或令牌操作的提示。
-
交易生成器:创建工具,帮助构建具有多条指令的复杂事务,使其更容易与各种Solana程序交互。
-
自定义RPC端点:允许配置自定义RPC终结点,包括支持私有RPC提供程序或本地验证器。
-
程序部署助手:创建简化Solana程序部署和升级过程的工具。
-
帐户和交易浏览器:添加一个工具,该工具接受帐户或交易ID,并以人类可读的格式显示内容,类似于资源管理器视图。这可能有助于检查交易数据或账户状态,而无需手动解码数据。
-
Solana、锚点和协议文档:添加资源,将Solana、Anchor和Protocol文档直接加载到MCP编辑器中,无需离开编辑器即可轻松访问相关信息。这可以通过从相应的存储库中获取文档并将其作为MCP服务器的资源来实现。
如何做出贡献
如果您构建了一个可能对其他人有用的扩展,请考虑向此存储库提交拉取请求。请务必遵循以下指南:
- 保持你的代码记录良好
- 包括新功能的测试
- 遵循现有代码样式
- 用您添加的信息更新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"]({});
许可证
麻省理工学院