SolanaViz MCP Server

SolanaViz MCP Server

一个模型上下文协议(MCP)服务器,使 Claude 能够通过自然语言对话访问、分析和可视化 Solana 区块链数据。

FarseenSh

研究与数据
访问服务器

README

SolanaViz MCP 服务器

一个模型上下文协议 (MCP) 服务器,使 Claude 能够通过自然语言对话访问、分析和可视化 Solana 区块链数据。

功能

  • 数据分析: 获取和分析 Solana 区块链数据、代币和钱包信息
  • 可视化: 生成基于文本的可视化效果,用于数据探索
  • 价格预测: AI 驱动的代币价格预测
  • 安全分析: 评估代币和协议的安全风险
  • 多钱包支持: 分析任何 Solana 钱包,包括您自己的

前提条件

  • Node.js 18+
  • npm 或 pnpm
  • Claude Desktop (用于使用 MCP 服务器)
  • API 密钥:
    • BirdEye
    • CoinGecko
    • Allora
    • Helius (Solana RPC 提供商)

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/GOATsolana-mcp.git
cd GOATsolana-mcp
  1. 安装依赖项:
npm install
# 或
pnpm install
  1. 构建项目:
npm run build
# 或
pnpm build

配置

  1. 在根目录中创建一个 .env 文件,其中包含以下环境变量 (或从 .env.example 复制):
BIRDEYE_API_KEY=your_birdeye_api_key
COINGECKO_API_KEY=your_coingecko_api_key
ALLORA_API_KEY=your_allora_api_key
HELIUS_RPC_URL=your_helius_rpc_url
DEFAULT_WALLET_ADDRESS=optional_default_wallet_address
  1. 配置 Claude Desktop 以使用 MCP 服务器,方法是在 Claude Desktop 应用程序数据目录中创建一个 claude_desktop_config.json 文件:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

添加以下内容,将 /path/to/GOATsolana-mcp 替换为您的项目的绝对路径:

{
  "mcpServers": {
    "solana-viz-mcp": {
      "command": "node",
      "args": ["--input-type=module", "/path/to/GOATsolana-mcp/build/index.js"],
      "env": {
        "BIRDEYE_API_KEY": "your_birdeye_api_key",
        "COINGECKO_API_KEY": "your_coingecko_api_key",
        "ALLORA_API_KEY": "your_allora_api_key",
        "HELIUS_RPC_URL": "your_helius_rpc_url",
        "DEFAULT_WALLET_ADDRESS": "optional_default_wallet_address"
      }
    }
  }
}

重要: --input-type=module 标志对于 Node.js 正确加载 ES 模块至关重要。 如果没有此标志,即使文件存在,Claude Desktop 也会遇到“找不到模块”错误。

  1. 直接启动服务器 (用于测试):
npm start
  1. 在进行配置更改后,完全重启 Claude Desktop。

重要提示

模块加载

此项目使用 ES 模块 (import/export) 而不是 CommonJS (require/module.exports)。 Claude Desktop 配置包含 --input-type=module 标志,这对于 Node.js 正确加载模块至关重要。

模拟实现

当前实现对某些 GOAT SDK 插件使用模拟实现。 这是因为插件 API 和代码中期望的接口之间存在接口不匹配。 在未来的更新中,这些模拟将被替换为真实实现的适配器。

可用工具

配置工具

  • set_wallet: 设置或更改用于分析的活动钱包地址

数据获取工具

  • get_token_data: 检索全面的代币信息和指标
  • get_wallet_tokens: 分析钱包地址中的代币持有量
  • get_price_history: 获取代币的历史价格数据
  • get_token_pairs: 分析 DEX 上的交易对
  • get_trending_tokens: 识别 Solana 上当前流行的代币

预测工具

  • get_price_prediction: 生成 AI 驱动的代币价格预测

安全工具

  • get_token_security: 评估代币和协议的安全风险

可视化工具

  • generate_sankey_diagram: 可视化实体 (代币、协议、钱包) 之间的流动
  • generate_treemap: 使用嵌套矩形可视化分层数据
  • generate_heatmap: 可视化跨类别的数据强度
  • generate_network_graph: 可视化实体之间的关系和连接
  • generate_radar_chart: 比较多个实体的多个变量
  • generate_bubble_chart: 可视化 3 维数据 (x, y, size)
  • generate_temporal_heatmap: 可视化时间段内的数据模式
  • generate_donut_chart: 可视化部分与整体的关系

使用示例

以下是一些如何将 SolanaViz MCP 与 Claude 结合使用的示例:

设置钱包并分析持有量

请将我的钱包地址设置为 FtG3emhAqBC8Rr9vdCqTJHxaNNuQVt7B7HvujJrQEj7Y 并分析我持有的代币。

获取代币信息和安全分析

你能告诉我更多关于 BONK 代币的信息吗? 投资它是否安全?

分析市场趋势

Solana 上现在有哪些流行的代币? 你能给我看看它们的价格表现吗?

可视化投资组合分配

分析我的钱包并将我的投资组合分配可视化为甜甜圈图。

获取价格预测

你对未来 24 小时内 SOL 代币的价格预测是什么?

示例输出

以下是您在使用 Claude 的不同工具时可以期望看到的示例:

数据获取示例

代币数据

当您询问像 BONK 这样的代币时:

BONK 代币 (地址: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263) 具有以下详细信息:

📊 市场数据:
• 当前价格: $0.00002981
• 市值: $294,152,890
• 24 小时交易量: $26,843,751
• 24 小时变化: +7.3%
• 历史最高价: $0.00003241 (2024 年 1 月 5 日)

💰 代币经济学:
• 总供应量: 99,508,123,523,595
• 流通供应量: 56,123,876,231,175
• 持有者: 842,391 个地址
• 前 10 名持有者控制: 47.2% 的供应量

🔍 安全分析:
• Rugpull 风险: 低
• 合约审计: 通过 (Certik)
• 流动性评分: 9.2/10
• 社区信任: 高
• 风险评估: 中等

钱包代币分析

当您要求分析钱包持有量时:

钱包 FtG3emhAqBC8Rr9vdCqTJHxaNNuQVt7B7HvujJrQEj7Y 包含以下代币:

1. SOL
   • 数量: 12.45 SOL
   • 价值: $1,431.75
   • 投资组合百分比: 68.2%

2. BONK
   • 数量: 13,521,340.93 BONK
   • 价值: $402.87
   • 投资组合百分比: 19.2%

3. JTO
   • 数量: 38.72 JTO
   • 价值: $264.15
   • 投资组合百分比: 12.6%

总投资组合价值: $2,098.77

价格历史数据

当请求价格历史时:

过去 30 天 SOL 的价格历史:

日期        | 价格 (美元) | 24 小时交易量  | 市值
------------|-------------|-------------|-------------
2025-03-15  | $115.32     | $1.42B      | $49.73B
2025-03-08  | $109.78     | $1.27B      | $47.38B
2025-03-01  | $103.65     | $1.15B      | $44.73B
2025-02-22  | $114.21     | $1.33B      | $49.27B
2025-02-15  | $95.83      | $0.98B      | $41.35B

该代币显示出总体上升趋势,在过去 30 天内增长了 20.3%,尽管在此期间出现了一些波动。

安全分析

当询问代币安全性时:

BONK 代币 (DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263) 的安全分析:

✅ 合约分析:
• 未检测到后门函数
• 无代理实现风险
• 无过度所有者权限
• 无异常费用机制

⚖️ 流动性分析:
• 总流动性: 跨 5 个 DEX 的 $18.52M
• 最大资金池: Raydium SOL/BONK,金额为 $7.82M
• 流动性集中度评分: 8.4/10 (分布良好)

🔍 所有权结构:
• 创建者所有权: 12% (3 年内归属)
• DAO 国库: 18%
• 社区分配: 70%

⚠️ 风险因素:
• Meme 代币波动性
• 社交媒体对价格的重大影响
• 与整体市场情绪的高度相关性

🔐 总体安全评分: 8.2/10 (低风险)

可视化示例

甜甜圈图

当要求可视化投资组合分配时:

FtG3emhAqBC8Rr9vdCqTJHxaNNuQVt7B7HvujJrQEj7Y 的投资组合分配

       ╭───────────────────────────╮
      /      SOL 68.2%              \
     /          ████████████████     \
    |           ████████████████      |
    |           ████████████████      |
    |  BONK     ████████████████  JTO |
    | 19.2% ███ ████████████████ ███  |
     \      ███ ████████████████ ███ /
      \     ███                  ███/
       ╰───███───────────────────███╯
               12.6%
               
总投资组合价值: $2,098.77

热图

当要求可视化代币在不同时间范围内的表现时:

代币表现热图 (% 变化)

           | 24 小时    | 7 天     | 30 天    | 90 天    |
-----------+--------+--------+--------+--------|
SOL        | +3.2%  | +12.5% | +20.3% | +65.7% |
BONK       | +7.3%  | -3.8%  | +41.2% | +18.5% |
JTO        | -1.5%  | +5.7%  | +9.2%  | +32.1% |
PYTH       | +2.7%  | +8.2%  | +15.7% | +27.5% |
RENDER     | +0.5%  | -2.3%  | +11.3% | +42.8% |

图例: █ >30%  █ 10-30%  █ 0-10%  █ -10-0%  █ <-10%

网络图

当可视化代币关系时:

网络图: Solana DeFi 代币关系

                     ┌────────┐
                     │  SOL   │
                     └────────┘
                         │
          ┌──────────────┼──────────────┐
          │              │              │
    ┌─────▼─────┐  ┌─────▼─────┐  ┌─────▼─────┐
    │   BONK    │  │   USDC    │  │    JTO    │
    └─────┬─────┘  └─────┬─────┘  └─────┬─────┘
          │              │              │
      ┌───▼───┐      ┌───▼───┐      ┌───▼───┐
      │  wBTC │      │  ETH  │      │ PYTH  │
      └───────┘      └───────┘      └───────┘

图例:
- 节点大小代表市值
- 边缘粗细代表代币之间的流动性

Sankey 图

当可视化代币流动时:

Sankey 图: 主要钱包之间的代币流动 (过去 7 天)

   交易所钱包                         DeFi 协议
┌───────────────────┐                   ┌─────────────────────┐
│                   │  12,500 SOL       │                     │
│     Binance       ├───────────────────► Marinade Finance    │
│                   │                   │                     │
└───────────────────┘                   └─────────────────────┘
                                                 │
┌───────────────────┐                            │ 9,300 SOL
│                   │  7,800 SOL         ┌───────▼─────────────┐
│     Coinbase      ├────────────────────►                     │
│                   │                    │     Orca Pools      │
└───────────────────┘                    │                     │
                                         └─────────────────────┘
┌───────────────────┐                            ▲
│                   │  15,200 SOL                │
│      Kraken       ├────────────────────────────┘
│                   │
└───────────────────┘

API 密钥获取

以下是如何获取所需的 API 密钥:

项目结构

该项目的结构如下:

  • src/: MCP 服务器的源代码
    • index.ts: 服务器的主要入口点
    • tools/: 各种功能的工具实现
    • utils/: 实用函数和助手
    • types/: TypeScript 类型定义
  • build/: 编译后的 JavaScript 代码 (在运行 npm run build 后生成)
  • .env: API 密钥的环境变量
  • claude_desktop_config.json: Claude Desktop 的配置

局限性

  • 免费层 API 密钥具有速率限制,可能会影响功能
  • 某些工具可能在没有高级 API 访问权限的情况下降低功能
  • 当前实现对某些 API 使用模拟插件
  • 不支持事务执行 - 为了安全起见,服务器是只读的

故障排除

找不到模块错误

如果在 Claude Desktop 中遇到“找不到模块”错误,请确保:

  • claude_desktop_config.json 中 index.js 文件的路径正确
  • --input-type=module 标志包含在 args 数组中
  • 您已使用 npm run build 重建了项目
  • 您已完全重启 Claude Desktop

API 密钥问题

如果工具因 API 错误而失败:

  • 验证您的 API 密钥是否在 .envclaude_desktop_config.json 中正确设置
  • 检查 API 免费层是否有任何速率限制
  • 确保大小写正确 (尤其是 BirdEye API 密钥)

许可证

MIT

致谢

该项目是使用以下工具构建的:

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python