通道MCP
](VERSION)   
独立的MCP服务,用于从电报频道收集帖子,规范元数据, 标签和语义搜索(Dual-Backend)llm-mcp 默认情况下,Ollama回退)。
  
✨ 机会
📥 Ingest频道
- 通过公共渠道收集帖子
https://t.me/s/. - 计划加载周期+管理的Backfill历史记录。
- 规范文本、引用、响应和实用元数据。
🧠 LLM-Ready层
- 英文名称:Canonization and Alias(
TAG_ALIASES_JSON). emoji_line和code_json用于紧凑的信号结构。- 基于消息的向量搜索
pgvector+后端策略(llm_mcp|ollama).
🤖 与Telegram集成
- Progress–在Worker循环期间通知Telegram。
- 通过路由模式
telegram-mcp(TELEGRAM_USE_MCP=1). - 直接 Telegram 的 回归
TELEGRAM_MCP_FALLBACK_DIRECT=1.
🧱 建筑
┌─────────────────────┐ ┌──────────────────────┐
│ Telegram Channels │─────▶│ chmcp (Node.js MCP) │
│ public t.me/s │ │ :3334 │
└─────────────────────┘ └──────────┬───────────┘
│
┌───────▼────────┐
│ worker (Python) │
│ ingest/tags/vec │
└───────┬────────┘
│
┌─────────▼─────────┐
│ chdb (PostgreSQL) │
│ :5434 + pgvector │
└────────────────────┘–组件–端口–目的地。 |---|---|---| | chmcp | 3334 MCP HTTP/STDIO工具 | chdb | 5434 ≫频道、帖子、标签、Embeddings›
🚀 快速启动
cd channel-mcp
cp .env.example .env
docker compose -f compose.yml up -d --build检查:
curl -fsS http://127.0.0.1:3334/health
curl -fsS http://127.0.0.1:3334/tools🧰 MCP工具(基本)
channels.list-频道和状态列表。messages.fetch-按周期/通道/标签选择消息。tags.top-期间标记聚合。messages.searchEmbeddings的语义搜索
🔧 关键环境变量
CHANNEL_USERNAMES-分号通道(无)@).BACKFILL_ON_START,BACKFILL_DAYS,BACKFILL_MAX_PAGES历史性的下载OLLAMA_TAG_MODEL,OLLAMA_EMBED_MODEL-标签/标签模型。MCP_HTTP_TOKEN-HTTP工具保护令牌。TELEGRAM_USE_MCP,TELEGRAM_MCP_BASE_URL,TELEGRAM_MCP_BOT_ID,TELEGRAM_MCP_CHAT_ID.LLM_BACKEND=llm_mcp|ollama,LLM_MCP_BASE_URL,LLM_MCP_PROVIDER,LLM_BACKEND_FALLBACK_OLLAMA.
如果 TELEGRAM_MCP_BASE_URL незадан,默认路由: http://tgapi:8000. 1 版本包含 legacy retry http://telegram-api:8000 日志中的警告
📁 结构
channel-mcp/
├── server/ # MCP server (Node.js)
├── worker/ # ingest/tagging/embeddings (Python)
├── db/init/ # SQL init
├── compose.yml
└── Dockerfile🧭 公共Git标准
- 版本B
VERSION严格格式YYYY.MM.x. - 任何更改都将在
CHANGELOG.md. - 秘密不说:只有
.env.example,本地工作值.env. - 发布前必备
docker compose configSmoke检查健康/工具。
🔐 限制
- 目前的实施侧重于通过公共渠道
t.me/s. - 私人频道需要单独的MTProto回路。
