Solana区块链智能服务器

一个结合Solana区块链术语库和实时链上数据的综合服务器,提供16种工具,包括术语查询、模糊/语义搜索、概念图谱探索、实时钱包余额、代币价格、交易分析、地址分类和交换模拟等功能,支持多语言(英语、葡萄牙语、西班牙语)。

  • by lamericano
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 lamericano/Solana-Glossary-MCP-Server

使用说明

Solana智能MCP服务器

一个综合的MCP服务器,将1001个Solana术语表术语与实时区块链数据相结合。16种工具,涵盖术语查找、模糊/语义搜索、基于图的概念探索、实时钱包余额、代币价格、交易分析、地址分类和掉期模拟。完全支持i18n(🇺🇸 🇧🇷 🇪🇸).

建于 @stbr/solana-glossary, @solana/web3.js,以及 Jupiter Lite API.


里面有什么

特性 描述
16工具 9个术语表+7个实时Solana(见下面的完整列表)
模糊搜索 Levenshtein+Dice系数用于拼写错误容忍匹配
语义搜索 自然语言查询的TF-IDF+余弦相似度
实时区块链 SOL/代币余额、交易历史、通过Helius RPC的地址分类
DeFi集成 通过Jupiter实时代币价格和掉期模拟
知识图谱 1200多个交叉引用上的BFS/DFS遍历
代码示例 实用的Solana关键术语代码片段
24个已知程序 系统、SPL、DeFi、NFT和基础设施程序标识
国际化 每个术语表工具都支持 en, pt,以及 es

快速开始

安装并运行

git clone https://github.com/lamericano/Solana-Glossary-MCP-Server.git
cd Solana-Glossary-MCP-Server
npm install
npm run build

添加到您的MCP客户端

克劳德(claude_desktop_config.json 或 .claude/mcp.json)

{
  "mcpServers": {
    "solana-glossary": {
      "command": "node",
      "args": ["/absolute/path/to/Solana-Glossary-MCP-Server/dist/server.js"]
    }
  }
}

反重力(.gemini/settings.json)

{
  "mcpServers": {
    "solana-glossary": {
      "command": "node",
      "args": ["/absolute/path/to/Solana-Glossary-MCP-Server/dist/server.js"]
    }
  }
}

开发(带自动重新加载)

npm run dev

MCP检查员(目视调试)

npm run inspector

全部16个工具

术语表工具(9)

工具 说明
lookup_term 按ID、姓名或别名查找。包括代码示例、标签和模糊回退建议
search_glossary 对1001个术语进行全文搜索,并对结果进行排名
suggest_terms 拼写错误或部分查询的模糊建议(Levenshtein+Dice)
semantic_search 基于TF-IDF余弦相似度的自然语言搜索
list_category 按类别浏览术语(14个可用)
explain_concept 深度概念探索的DFS图遍历
get_learning_path BFS两个概念之间的最短路径
compare_terms 2-5个术语的并排比较
random_term 随机术语发现和测验生成

Solana实时工具(7)

工具 说明
get_wallet_balance SOL余额+通过Jupiter兑换美元
get_token_balance 持有美元价值的SPL代币
get_token_price 实时代币价格(14个已知代币+任何造币厂地址)
get_recent_transactions 带有状态和时间戳的交易历史记录
explain_transaction 使用程序标识解析和解码事务
what_is_this_address 对任何地址进行分类(钱包、程序、代币制造、赌注、投票)
simulate_swap 木星交换模拟,包括路线细节和价格影响

工具示例

lookup_term --通过代码示例增强

Input:  { term: "pda" }
📖 **Program Derived Address (PDA)**

An account address derived deterministically from a program ID...

🏷️ Category: programming-model
🔤 Aliases: PDA
🏷️ Tags: accounts, security, anchor, seeds

💡 **Use case:** Deterministic account addresses derived from seeds — no private key needed

📝 **Code Example:**
const [pda, bump] = PublicKey.findProgramAddressSync(
  [Buffer.from("user"), wallet.toBuffer()],
  programId
);

🔗 Related Terms:
  • Seeds: Byte arrays used as inputs to derive a PDA...

使用i18n(locale: "pt"):

Input:  { term: "pda", locale: "pt" }
📖 **Endereço Derivado de Programa (PDA)**

Um endereço de conta derivado deterministicamente de um ID de programa
e um conjunto de seeds, sem necessidade de uma chave privada correspondente.

🏷️ Categoria: programming-model
🌐 Idioma: Português

suggest_terms --模糊匹配

Input:  { query: "valdator" }
💡 **Suggestions for "valdator"** (3 matches):

1. **Validator** (89% match)
   A node that validates transactions and produces blocks...

2. **Validator Client** (62% match)
   Software that runs on validator hardware...

semantic_search --自然语言

Input:  { query: "how does staking work on solana?" }
🧠 **Semantic Search Results** (5 matches):

1. **Staking** [core-protocol] — 82% relevance
2. **Stake Account** [core-protocol] — 71% relevance
3. **Delegation** [core-protocol] — 65% relevance

get_wallet_balance --实时SOL余额

Input:  { address: "FhVd...2G8R" }
💰 **Wallet Balance**
  • Address: FhVd...2G8R
  • SOL: 12.5000 ($2,125.00 @ $170.00/SOL)
  • Lamports: 12,500,000,000

simulate_swap --木星交换模拟

Input:  { inputToken: "SOL", outputToken: "USDC", amount: 1 }
🔄 **Swap Simulation** (read-only, no execution)
  • Input: 1 SOL
  • Output: ~170.25 USDC
  • Minimum received: 169.40 USDC
  • Rate: 1 SOL = 170.25 USDC
  • Price impact: 0.0012%
  • Slippage: 0.50%

🗺️ **Route** (1 step):
  100% → Raydium AMM

⚠️ This is a simulation only. No tokens were swapped.

建筑

src/
├── server.ts                  # MCP server — wires 16 tools, resources, prompts
├── graph.ts                   # BFS/DFS graph engine on term cross-references
├── i18n-resolver.ts           # Locale resolution with caching
├── utils/
│   ├── config.ts              # RPC + Jupiter API config
│   ├── format.ts              # SOL/USD formatters, address shortener
│   └── fuzzy.ts               # Levenshtein + Dice coefficient engine
├── services/
│   ├── solana-rpc.ts          # @solana/web3.js wrapper (balance, tokens, TX)
│   ├── jupiter.ts             # Jupiter Lite API (prices, swap quotes)
│   └── embeddings.ts          # TF-IDF semantic search engine
├── data/
│   ├── known-programs.ts      # 24 known Solana program IDs
│   └── glossary-index.ts      # Code examples + tag system
├── tools/
│   ├── lookup.ts              # lookup_term (enhanced)
│   ├── search.ts              # search_glossary
│   ├── category.ts            # list_category
│   ├── explain.ts             # explain_concept (DFS)
│   ├── learning-path.ts       # get_learning_path (BFS)
│   ├── compare.ts             # compare_terms
│   ├── random.ts              # random_term
│   ├── glossary/
│   │   ├── suggest.ts         # suggest_terms (fuzzy)
│   │   └── semantic-search.ts # semantic_search (TF-IDF)
│   └── solana/
│       ├── wallet.ts          # get_wallet_balance
│       ├── tokens.ts          # get_token_balance + get_token_price
│       ├── transactions.ts    # get_recent_transactions + explain_transaction
│       ├── address-info.ts    # what_is_this_address
│       └── swap.ts            # simulate_swap
└── resources/
    └── index.ts               # URI-based resource handlers

测试

npm test

108项测试涵盖:

  • 所有16个工具(有效输入、错误处理、i18n、边缘情况)
  • 模糊搜索引擎(Levenshtein、Dice、组合评分)
  • TF-IDF语义搜索(索引、余弦相似度、排名)
  • 图形引擎(BFS、DFS、统计、中心检测)
  • i18n解析器(区域设置验证、缓存、回退)
  • 资源(所有URI模式、本地化变体)
  • 格式实用程序、已知程序、术语表索引、Jupiter服务、RPC服务
  • SDK集成(术语计数、类别计数、模式验证)

环境变量

所有服务都使用默认值(不需要配置),但您可以覆盖:

变量 默认值 描述
SOLANA_RPC_URL Helius主网 Solana RPC端点
JUPITER_API_KEY 包含 Jupiter API密钥,用于已验证的端点
REQUEST_TIMEOUT_MS 10000 HTTP请求超时

发展

# Type-check
npm run lint

# Build
npm run build

# Run in dev mode (auto-reload)
npm run dev

# Visual debugging with MCP Inspector
npm run inspector

# Run tests
npm test

技术栈

技术 角色
TypeScript 主要语言
@modelcontextprotocol/sdk MCP官方sdk(v1.12+)
@stbr/solana术语表 术语表数据层(1001个术语)
@solana/web3.js solana区块链交互
Jupiter Lite API 代币价格和掉期模拟
Zod 输入验证
tsup Bundler(ESM)
Vitest 测试框架(108个测试)
Node.js 20+ 运行时

许可证

MIT。建造于 拉梅里卡诺 为了 巴西超级队 Solana词汇表赏金。