AMOCA Solana MCP Server

by manolaz
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Integrates Mermaid diagram support for visualizing system architecture and workflow components, as shown in the README flowchart of the AMOCA system.

  • Utilizes Shields.io badges in the documentation to display project status and compatibility information.

  • Provides comprehensive RPC tools for Solana blockchain development, including account operations, wallet management, transaction analysis, storage calculations, and on-chain validations.

AMOCA(自主价值链上代理)

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

目录

AMOCA 是什么?

AMOCA(自主链上代理)是一种智能代理,它通过标准化接口为 Solana 区块链开发提供增强功能。此实现展示了:

  1. Solana 的综合 RPC 方法:
    • 基本账户操作(getBalance、getAccountInfo、getTransaction)
    • 链上存储计算(getMinimumBalanceForRentExemption)
    • 钱包操作(createWallet、importWallet)
  2. DeFi 交易功能:
    • 代币余额检查(单个代币和完整投资组合分析)
    • 使用基于 USD 的直方图可视化代币价值分布
    • 使用 Jupiter API 的价格数据跟踪投资组合价值
    • 用于代币交换的 Jupiter API 集成
    • 报价检索和掉期执行
  3. 有助于 Solana 开发的自主工作流程:
    • 交易分析提示(故障诊断、成本分解)
    • 存储成本计算
    • Solana 安装和集群的文档访问
  4. 基于绩效的链上操作验证

特征

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

Solana 模型上下文协议 (MCP)

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

什么是 MCP?

模型上下文协议 (MCP) 是 AI 模型与工具和资源交互的标准化接口。此演示展示了一个简单的 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. 设置环境变量:使用您的 API 密钥根据.env.example模板创建.env文件。
cp .env.example .env # Edit .env with your API keys
  1. 探索代码:主要实现在index.ts中,它设置了一个 MCP 服务器,其中包含简单的获取工具和一些提示。
  2. 修改服务器:您可以通过添加更多工具、资源和提示来扩展服务器。
  3. 测试您的实施:运行测试套件以确保一切正常运行。
pnpm test

示例用法

本节介绍如何在Claude中使用 Solana MCP 服务器。请按照相同的步骤在WindsurfCursor中使用 Solana MCP 服务器。

生成配置文件

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

  • 如果你全局安装了ts-nodepnpm generate-config
  • 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 以用于 Solana 开发的想法

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

扩展思路

  1. 优先费用估算器:新增一个工具,可根据近期网络活动估算 Solana 交易的最佳优先费用。这可以帮助用户优化交易成本,同时确保及时处理。
  2. Solana Verify Debugger :创建一个工具,通过提供有关验证过程的更多详细信息来帮助调试solana-verify问题。
  3. Solana Security.txt Inspector :构建一个工具,提取并显示给定 Solana 程序的 security.txt 文件信息,从而更容易地联系有安全问题的程序维护者。
  4. 程序部署的小队助手:创建一个工具,自动执行部署和升级 Solana 程序的过程,从而更容易跨多个环境管理程序状态。
  5. Anchor-Error Explainer :开发一个工具,获取错误代码并从 Anchor 错误代码数据库中查找相应的人类可读的错误消息。
  6. 增强提示:扩展服务器的提示功能,为 Solana 开发任务提供更多上下文感知的建议。例如,添加常见交易模式、账户创建或代币操作的提示。
  7. 交易构建器:创建帮助构建具有多条指令的复杂交易的工具,从而更容易与各种 Solana 程序进行交互。
  8. 自定义 RPC 端点:允许配置自定义 RPC 端点,包括对私有 RPC 提供程序或本地验证器的支持。
  9. 程序部署助手:创建简化部署和升级 Solana 程序过程的工具。
  10. 账户和交易浏览器:添加一个工具,该工具接收账户或交易 ID,并以类似于浏览器视图的易读格式显示内容。此功能有助于检查交易数据或账户状态,而无需手动解码数据。
  11. Solana、Anchor 和协议文档:添加资源,将 Solana、Anchor 和协议文档直接加载到 MCP 编辑器中,无需离开编辑器即可轻松访问相关信息。这可以通过从相应的存储库中获取文档并将其作为 MCP 服务器的资源提供来实现。

如何贡献

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

  1. 保持代码的良好记录
  2. 包括新功能的测试
  3. 遵循现有的代码风格
  4. 使用有关您添加的内容的信息来更新 README

Helius API 工具

该项目集成了各种 Helius API 端点,以实现强大的 Solana 数据访问:

数字资产标准 (DAS) API

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

收藏与铸币 API

工具描述
getMintlist获取收藏品的 mintlist

Webhook 管理

工具描述
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"]({});

执照

麻省理工学院

ID: 45zdw9yqs7