Soroka
Transcribes voice messages forwarded to the Telegram channel into text for search and indexing.
Automatically backs up the knowledge base database to a private GitHub repository via releases.
Stores and indexes the knowledge base using SQLite with full-text search (FTS5) and vector embeddings (sqlite-vec).
Provides a personal knowledge base bot on Telegram; users forward messages to a private channel and search them via the bot.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sorokasearch my saved messages for the recipe for tiramisu"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Как ставить
👤 Сам, руками — читай этот README по порядку: подготовка VPS → установка → настройка в Telegram.
🤖 Через AI-агента (Claude Code, Cursor и т.п.) — открой AGENTS.md. Там протокол под автоматизацию: какие три значения спросить у пользователя, как запустить установщик через SSH, как проверить успех.
Related MCP server: telegram-notes-mcp
Что нужно
VPS — Ubuntu 22.04+, 1 GB RAM. Заходишь как угодно: пароль, ключ, web-консоль панели хостера — без разницы.
Telegram-бот — создай у @BotFather, сохрани токен.
Свой Telegram-ID — узнай у @userinfobot.
После установки бот сам спросит ключи (бесплатные/дешёвые):
Jina — эмбеддинги (free tier 10M токенов, non-commercial)
Deepgram — голос → текст ($200 free)
OpenRouter — LLM (есть
:freeмодели)GitHub Personal Access Token — для бэкапов
Подготовка VPS (опционально)
Купил VPS, есть только IP + root + пароль? Я опубликовал отдельный скилл для безопасной первичной настройки сервера: создаст non-root юзера, сгенерит SSH-ключ, поднимет firewall и заблокирует root + парольный SSH в самом конце — только после того, как новый ключ проверенно работает с твоего ноута. Lockout-by-typo структурно невозможен.
1. Поставь скилл (один раз, на свой ноут):
curl -fsSL https://raw.githubusercontent.com/AndyShaman/vps-setup-skill/main/install.sh | bash2. Открой Claude Code и опиши задачу человеческими словами:
Купил VPS, вот письмо хостера, защити сервер.
Скилл проведёт через 14 шагов: от welcome-email до hardened production-ready сервера. Подробности — README скилла.
После этого возвращайся сюда и продолжай установкой.
Установка
Зайди на VPS любым удобным способом и выполни прямо там:
git clone https://github.com/AndyShaman/Soroka.git soroka
cd soroka
./bin/installСкрипт спросит две вещи: токен бота и твой Telegram-ID. Поставит Docker
(если ещё нет), запустит контейнер soroka-bot и пропишет soroka-mcp в
/usr/local/bin/. Никакого rsync, --vps, ssh-copy-id — всё работает
прямо там, где ты сейчас сидишь.
После завершения открой Telegram, найди своего бота и отправь /start —
мастер проведёт через 6 шагов настройки в чате.
Команды бота
/start— мастер настройки (запускается один раз; повтор возобновляет с прерванного шага)/help— справка/status— текущие настройки и статистика/setjina,/setdeepgram,/setkey— заменить отдельный ключ/models— выбрать основную/fallback LLM/setgithub— заменить GitHub-токен и репо-зеркало/setvps— задать IP/юзера VPS (используется в/mcp)/setinbox— сменить канал-инбокс/export— выгрузить базу архивом/sync— синхронизировать сообщения канала, пометить удалённые записи/purge_list [дней]— составить список «к удалению» без удаления данных/purge_list_ext [дней]— составить подробный список «к удалению» с фрагментами всех записей/purge [дней]— физически удалить записи, помеченные на удаление не менее указанного числа дней назад/mcp— конфиг для Claude Desktop (MCP-сервер по SSH stdio)/cancel— прервать мастер/диалог
Архитектура
Канал «Избранное 2» ──→ Бот на VPS ──→ SQLite (FTS5 + sqlite-vec)
DM с ботом ──↗ ↑
│
Claude Desktop через MCP-stdio ──SSH──┘Обновление
Зайди на VPS, перейди в папку с репо и выполни:
cd ~/soroka # или туда, куда ты делал git clone
./bin/updateПодтянет последний код через git pull, пересоберёт контейнер, обновит
soroka-mcp. Никаких аргументов.
Резервное копирование
Авто-бэкап (если GitHub-зеркало подключено): раз в сутки бот собирает
lite-архив (только SQLite-база, без вложений) и заливает в один и тот же
тег soroka-daily-latest в приватном репо — старый релиз
перезаписывается, размер репо не растёт.
Ручной /export собирает базу + вложения в zip:
≤ 50 MB — приходит прямо в Telegram.
> 50 MB — без GitHub-зеркала: бот пришлёт «облегчённый» архив (только база) и попросит включить зеркало через
/setgithub. С зеркалом: заливает полный архив GitHub Release в твой приватный репо и пришлёт ссылку плюс облегчённый локально.
Для AI-агентов
См. AGENTS.md — там точный протокол развёртывания через флаги.
Лицензия
MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables users to transform AI conversations into a structured, searchable knowledge base by saving ideas, code snippets, bookmarks, and reminders. It supports persistent storage through Supabase or PostgreSQL and includes webhook integrations for automating workflows with external tools.-
- AlicenseAqualityCmaintenanceA local MCP server that enables full-text and semantic search over your own Telegram chats using your personal MTProto login, with everything running locally.7MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants like Claude to read, search, and send messages through your personal Telegram account via MCP tools.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for sending and receiving Telegram messages via a bot, enabling AI assistants to interact directly through Telegram by sending messages, reading recent messages, and sending photos.23 npmMIT