内容
# Solana Divers MCP 服务器
MCP服务器,用于搜索Solana开发者Telegram聊天记录的存档。适用于Claude Web、Claude Code等MCP客户端。
## 这是什么
一个搜索引擎,索引了约94K条消息,来自两个聊天:
- **Divers** (`on_chain_divers_chat`) — 约50K条消息,MEV、交易、机器人、基础设施
- **Solana Dev RU** (`solana_dev_ru`) — 约43K条消息,开发、Anchor、SPL、RPC
混合搜索:语义搜索(Voyage embeddings)+ 全文搜索(BM25)+ 交叉编码器重排序(FlashRank)。
## 安全性和隐私
### 服务器看到和看不到的内容
**服务器只接收tool调用的参数:**
```
search(query="jito bundles", top_k=5, chat_ids=None)
```
就这样。只有三个字段:搜索查询、结果数量和聊天筛选。
**服务器看不到也不访问:**
* 您与Claude的对话(输入、回答、对话历史)
* 您会话中的其他tool调用
* 您的文件、项目、上下文
* 您的账户信息
### 工作原理(MCP协议)
```
您在Claude中输入: "查找关于jito bundles的讨论"
│
▼
Claude决定调用tool并发送到MCP服务器:
POST /mcp { "method": "tools/call", "params": {"name": "search", "arguments": {"query": "jito bundles"}} }
│
▼
服务器在SQLite数据库中执行搜索并返回结果
│
▼
Claude接收结果并为您形成回答
```
MCP服务器只是一个搜索API。它像普通搜索引擎一样工作:接收查询、返回结果。您的对话上下文不会发送到服务器。
### 日志记录
服务器保存到本地SQLite数据库:
* 搜索查询(`query`)
* 参数(`top_k`、`chat_ids`)
* 找到的结果数量
* 查询执行时间
这用于监控搜索质量。不会保存发送查询的用户信息(MCP协议不传输用户标识符)。
### 授权
- OAuth 2.1,密码方式(连接时一次性输入)
- 访问令牌有效期24小时,刷新令牌有效期30天
- 服务器以加密方式存储令牌
- 所有连接均通过HTTPS(TLS 1.2+)
## 连接
### Claude Web(claude.ai)
设置 → MCP服务器 → 添加MCP服务器 → 粘贴服务器URL → 连接 → 输入密码。
### Claude Code
```json
{
"mcpServers": {
"solana-divers": {
"type": "url",
"url": "<server-url>/mcp"
}
}
}
```
## 工具
### `search(query, top_k?, chat_ids?)`
搜索聊天记录存档。返回带有上下文的对话片段(±5条消息)。
* `query` — 搜索查询(俄语或英语)
* `top_k` — 结果数量(1-10,默认为5)
* `chat_ids` — 聊天筛选(`["on_chain_divers_chat"]`、`["solana_dev_ru"]`或`null`表示所有聊天)
### `stats(chat_ids?)`
数据库统计:消息数量、作者数量、日期范围、作者排名。
### `history(limit?)`
最近的搜索查询历史(用于监控)。
## 架构
```
MCP客户端(Claude Web / Claude Code)
│
▼ HTTPS
Nginx(反向代理,SSL)
│
▼ HTTP :8430
Docker:divers-mcp
│
├── search tool → hybrid_search() → SQLite(只读)
├── stats tool → 直接SQL查询 → SQLite(只读)
└── history tool → mcp_logs.db(读写)
```
* **消息数据库** — 只读,与主应用程序共享卷
* **日志数据库** — 单独的SQLite,用于search_log + OAuth令牌
* **嵌入式缓存** — 26K个向量(约120MB)在启动时加载到RAM中
## 自托管
```bash
cp docker-compose.example.yml docker-compose.yml
# 填写环境变量
docker-compose up -d --build
```
要求:
* 填写的ragt数据库(包含消息和嵌入式的SQLite)
* 用于语义搜索的Voyage API密钥
* 带有SSL的Nginx,用于HTTPS