Skip to main content
Glama
Leevandr

Solana Divers MCP Server

by Leevandr

Solana Divers MCP Server

MCP-сервер для поиска по архиву Telegram-чатов Solana-разработчиков. Работает с 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) + cross-encoder reranking (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 с паролем (вводится один раз при подключении)

  • Access token действует 24 часа, refresh token — 30 дней

  • Токены хранятся в зашифрованном виде на сервере

  • Все соединения через HTTPS (TLS 1.2+)

Подключение

Claude Web (claude.ai)

Settings → MCP Servers → Add MCP Server → вставить URL сервера → Connect → ввести пароль.

Claude Code

{
  "mcpServers": {
    "solana-divers": {
      "type": "url",
      "url": "<server-url>/mcp"
    }
  }
}

Tools

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 (reverse proxy, SSL)
    │
    ▼  HTTP :8430
Docker: divers-mcp
    │
    ├── search tool → hybrid_search() → SQLite (read-only)
    ├── stats tool  → direct SQL queries → SQLite (read-only)
    └── history tool → mcp_logs.db (read-write)
  • База сообщений — read-only, shared volume с основным приложением

  • База логов — отдельная SQLite для search_log + OAuth токенов

  • Embedding cache — 26K векторов (~120MB) загружаются в RAM при старте

Self-hosting

cp docker-compose.example.yml docker-compose.yml
# Заполнить переменные окружения
docker-compose up -d --build

Требуется:

  • Заполненная база данных ragtg (SQLite с сообщениями и embeddings)

  • Voyage API ключ для семантического поиска

  • Nginx с SSL для HTTPS

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Leevandr/mcp-divers'

If you have feedback or need assistance with the MCP directory API, please join our Discord server