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
Personal knowledge MCP: capture bookmarks, notes & todos by chat; archive pages; search memory.
Your saved videos, articles and notes as one knowledge base for Claude, ChatGPT and any MCP client.
Hosted Telegram MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Related MCP Servers
- AlicenseNot 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.MIT
- AlicenseAqualityDmaintenanceA 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 gradedqualityDmaintenanceEnables 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.98 npmMIT