
Summarix
io.github.AndreySukhanov由 GitHub 帳號 AndreySukhanov 發布v1.2.1更新於 Nov 6, 2026
Your Telegram channels as MCP tools: posts with a link to each, search, live new channels.
概覽
Summarix 把你自己的 Telegram 頻道變成 MCP 工具,讓助理抓取近期貼文、搜尋內容並發掘新頻道。
- 可以做什麼
- 依指定風格抓取頻道清單中最近 N 小時的貼文,內容過長時分成多段
- 讀取上一次抓取或搜尋的下一段,不必重新收集
- 搜尋你的頻道針對某個主題寫過什麼
- 找出該主題下仍活躍的新公開頻道,附訂閱數與發文統計
- 列出、新增與移除頻道,並與 Telegram 資料夾保持同步
- 列出可用的摘要風格
- 適用情境
- 適合追蹤大量 Telegram 頻道(含私密頻道)、並希望在 Claude Desktop、Cursor 或 Claude Code 中請助理依需求摘要、搜尋或回顧這些頻道的人。摘要由用戶端自己的模型撰寫,不需要額外的模型金鑰。
- 執行需求
- 以 stdio 在本機執行,通常透過 uvx 或 Python 安裝。需要把 SUMMARIX_HOME 指向含 .env(內有 TG_API_ID 與 TG_API_HASH)與 data 資料夾的目錄,並在 MCP 之外完成一次互動式 Telegram 登入(手機號碼、驗證碼、兩步驟驗證)。與 Claude Code 技能共用工作階段與頻道清單,同一時間只能執行一個程序。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Summarix,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
📰 Summarix
Your Telegram channels, read for you — one short digest a day, every point linked to its post.
English | Русский
Summarix is a self-hosted Telegram channel summarizer: a Telegram bot, a Claude Code plugin and an MCP server that summarize the Telegram channels you follow with AI — private channels included — into one short digest, with a link to every post.
Not "another summary bot." Summarix reads the channels you follow through your own account — private channels and albums included — captions the images, summarizes each channel in a few cited bullets, picks the day's highlights, and sends you one message. Every point links back to the post it came from, and a model-invented URL cannot appear.
Your channels → new posts → image captions → 2-6 cited bullets per channel → top highlights → one message. Self-hosted. A few cents a day.
[CI] [Python] [PyPI] [aiogram] [Telethon] [LLM] [PRs Welcome] [License]
Quick Start · Three ways · What you get · How It Works · Features · Commands · Claude Code plugin · MCP server · FAQ · Privacy
💡 The Problem
You follow thirty channels because each of them is sometimes worth it. In practice that means unread counters in the hundreds, the one post that mattered buried between ads and cross-promotion, and an hour a day of scrolling to find out that most of it was not news.
Summary bots promise to fix this and run into the same walls: they cannot read private channels, they skip images and charts, they lose posts when something fails, and their summaries come with no way to check what they are based on.
Summarix reads everything you follow and hands you the part worth your time — with the receipts.
🔥 Why it wins
🎬 What you get
An illustrative digest (channels and news are made up):
Numbers in brackets are links to the posts. The model only cites post numbers; the bot turns them into links. You can check every line in one tap.
⚙️ How It Works
One run, step by step
- Nothing is lost on failure. Read marks move after the digest is delivered. A crash, an API error or a failed send means the same posts come next time.
- One broken channel does not break the digest. It is listed at the bottom as "could not read".
- Ads and cross-promotion are skipped by the summary prompt.
Built to be trusted on a bad day, not just on a demo.
✨ Features
🧭 Three ways to use it
One engine underneath — Summarix reads your channels through your own account with Telethon. The three ways differ in who writes the retelling and where you read it.
Under the skill and the MCP server sits scripts/tgdigest.py — a CLI you can also run yourself. The bot has its own session and channel list; the skill and the MCP server share one, one process at a time, guarded by an OS file lock.
Run all three: the bot sends the morning digest, and Claude answers "what did my channels say about smart glasses this month".
🚀 Quick Start
You need four things:
Docker pulls the ready image ghcr.io/andreysukhanov/summarix-telegram (amd64 and arm64: a VPS, a Raspberry Pi, a Mac) — nothing to build. docker compose build builds it from source instead.
Without Docker, as one command: pipx install summarix-telegram, then in a folder with your .env run summarix-login once and summarix-bot (or point SUMMARIX_HOME at that folder). From a clone: pip install -r requirements.txt, then python -m scripts.login and python run_bot.py. On Windows, start_bot.bat starts it and refuses to start a second copy.
Then open your bot, press Start, and add channels.
💬 Commands
The bot menu has buttons for all of it — a digest per group, a style switch, the channel list.
🔧 Configuration
All optional, in .env. Time, timezone and languages are starting values — change them any time in /settings.
🤖 Claude Code plugin
Read your channels without leaving the terminal. Summarix ships as a Claude Code plugin with a summarix-telegram skill: ask in plain words — "digest of my channels for 3 days", "roast style, last week", "what did my channels say about smart glasses", "find channels about AI agents" — and Claude collects the posts, retells them with a link to every post and answers follow-ups.
Prefer a plain skill without the plugin? Copy skills/summarix-telegram into ~/.claude/skills/ - it is the same file.
The skill works on your clone of this repo: set SUMMARIX_HOME to it (or tell Claude once where it is), put TG_API_ID / TG_API_HASH in .env, and run the one-time login in your own terminal — python scripts/tgdigest.py login. No model key needed: Claude writes the digest itself, in any of the 13 styles.
It has its own Telegram session and its own channel list, and it only reads a recent window — it never moves the bot's read marks. Run the bot and the plugin side by side; nothing collides.
🪟 The digest beside the chat (optional mod)
On Claude Code 2.1.287 or later, one more install gives the digest a pane of its own:
When the skill finishes a digest, Claude also puts it in the pane - every point still linked to its post. < Older / Newer > page through the last 10 digests, kept across sessions; 24 h / 3 days / Week ask for a new one in one press; /summarix-panel opens the pane at any time. The mod needs no keys and reads nothing from Telegram itself. Details: mods/summarix-panel.
Script commands behind the skill
🔌 MCP server
Not on Claude Code? The same collector runs as an MCP server, so any MCP client — Claude Desktop, Cursor, Claude Code — gets your channels as tools. The client's model writes the digest; the server needs no model key.
Claude Desktop, in claude_desktop_config.json:
On Windows the interpreter is .venv\Scripts\python.exe.
Installed with pipx install summarix-telegram? Then the server is one command, and SUMMARIX_HOME is the folder with your .env and data/:
From the MCP Registry (io.github.AndreySukhanov/summarix-telegram): a client that runs local stdio servers starts it with uvx — install uv once, the rest is fetched on first run. Log in once with uvx --from summarix-telegram tgdigest login and the same SUMMARIX_HOME:
It shares the session and the channel list with the skill - one process at a time, guarded by an OS file lock. Log in once in your own terminal with python scripts/tgdigest.py login — the login never goes through MCP. Every result with posts is marked as untrusted content: a post is data, not instructions.
One server, any MCP client, your channels.
💸 Cost
Per digest: one call per image (sent at low detail), one call per channel with news, one call for highlights. Twenty channels with a few posts each and the image cap at 20 means about 40 calls a day; on a small model that is usually a few cents a day — /status shows the real token count.
The cheapest hour you will save today.
🔐 Privacy and security
- The session file (
data/owner.session) is full access to your Telegram account. It stays on your machine, is git- and docker-ignored, and should never be shared or committed. - The bot answers only
OWNER_ID; every other update is dropped before any handler runs. - The account is used read-only: it never posts, joins or leaves anything. Channels behind an invite link must be joined by you first.
- Post texts and images are sent to the model provider you configure. Pick one whose data policy you accept, or point
LLM_BASE_URLat a local model. - Storage is a local SQLite file with channel names, groups and read marks only; post contents are not stored.
Your feed stays yours: nothing leaves your machine except what you send to the model you chose.
📁 Project layout
🧪 Tests
140 tests, no network: link and folder parsing, album grouping, citation linking and HTML escaping, message splitting, schedule in local time, read marks only after commit, recap windows, image cost cap, broken channels, groups, search and discovery, settings, the tgdigest companion, the MCP server (schemas and bounds, parts that fit, no stale results, locks that survive cancellation, safe errors, an isolated protocol stream), owner-only access. CI runs them with a flake8 pass on every push to main.
❓ FAQ
How do I summarize Telegram channels with AI?
Run Summarix: add the channels you follow (/add, or a Telegram folder link) and the bot sends one digest a day — 2-6 bullets per channel, the day's highlights first, every bullet linked to its post. /digest gives one on demand.
Can it merge the same news from several channels?
Yes. In /settings choose Layout → By topic: a story told by three channels becomes one point with links to all three posts. The code checks the grouping — every cited fact must stay and no post may be added — and sends the digest by channel if the check fails twice.
Can it summarize private Telegram channels?
Yes. It reads through your own Telegram account (Telethon), so any channel you have joined works, private ones included. A regular bot cannot do that on its own.
Is there an MCP server for Telegram channels?
Yes — scripts/mcp_server.py gives any MCP client (Claude Desktop, Cursor, Claude Code) your channels as eight tools: fetch posts, read further parts, search, find new channels, manage the list. See MCP server.
Can I use it in Claude Code?
Yes — install the summarix-telegram plugin with two /plugin commands and ask in plain words: "digest of my channels for 3 days". See Claude Code plugin.
Do I need an OpenAI API key?
For the bot, yes — any OpenAI-compatible API works: OpenAI, OpenRouter, DeepSeek, Qwen, or a local model behind LLM_BASE_URL. The Claude Code skill and the MCP server need no model key: the client's model writes the digest.
Does it post, join or leave channels on my behalf?
No. The account is used read-only, and the bot answers only its owner (OWNER_ID).
What does it cost?
Running it for yourself costs only model tokens — about 40 calls a day for twenty channels, usually a few cents on a small model. The code is Source-Available: free to read, run and learn from.
Which languages does it support?
Summaries in Russian, English, Spanish, French and Kazakh, whatever language the channels write in; the bot interface speaks the same five.
What does it store?
A local SQLite file with channel names, groups and read marks. Post contents are not stored.
🤝 Contributing
The bot is built from small, replaceable parts. Great first contributions:
- A new digest style — one entry in
summarix_telegram/services/styles.py - A new language — interface strings in
summarix_telegram/bot/texts.py, a prompt per style - A reader feature, tested against the fake Telegram client in
tests/fakes.py
See CONTRIBUTING.md. Open an issue first for bigger changes — happy to discuss the design.
⭐ Support the project
If this project saved you time or showed you something new — star it. It genuinely helps others discover it.
💜 Sponsor development
This is a self-funded project — every digest, caption and search runs on paid model APIs, and every new style is tested on real channels before it ships. A donation goes straight into model credits and new features.
Thank you — even a small contribution keeps the digests coming. 🙏
📄 License
Source-Available — free to read, run and learn from. Commercial or derivative use requires written permission. See LICENSE.
Licensing contact: [email protected]
來源:README.md,提交 819befd
工具
0版本歷史
1- v1.2.1最新Nov 6, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。