使用说明
电报摘要MCP服务器
独立的Go-MCP服务器,连接到Telegram MTProto,并公开用于摘要工作流的工具。
目录
main.go-MCP服务器+电报客户端auth.go-OAuth/OIDC中间件和元数据/代理端点logging.go-日志级助手(MCP_LOG_LEVEL=info|debug)auth_test.go-auth中间件测试Makefile-构建/运行/测试/隧道帮助程序Dockerfile-多阶段Linux容器构建docker-compose.yml-本地Docker编写模板
先决条件
- 转到1.23+
- 电报API凭证(
api_id,api_hash)从https://my.telegram.org/apps cloudflared(可选,适用于临时公共隧道)- Docker+Compose插件(可选,用于容器化运行)
快速开始
cp .env.example .env
# edit .env with your real values
make tidy
make build
make run
首次交互式运行可能会要求提供Telegram身份验证码。
Docker(推荐用于部署)
cp .env.example .env
# edit .env with real values
docker compose build
第一次运行应该是交互式的,以完成Telegram登录并持久会话:
make docker-auth
登录成功后,正常启动:
make docker-up
make docker-logs
笔记:
- Compose将Telegram会话数据存储在Docker卷中
telegram_mcp_data. - 集装箱套装
SESSION_DIR=/data,因此gotd会话在重新启动时保持不变。 docker-compose.yml绑定到127.0.0.1:8765默认情况下,仅适用于本地曝光。- 仅适用于反向代理,请删除
ports并将该服务连接到您的代理网络。
快速MCP检查(无验证)
在无身份验证模式下启动服务器:
make docker-up-noauth
使用FastMCP检查MCP连接:
fastmcp list http://127.0.0.1:8765/mcp
预期结果:FastMCP打印可用工具(此服务器中有3个工具)。
发出命令
make tidy # go mod tidy
make test # go test ./...
make build # go build -o telegram-digest-mcp .
make run # run with current env
make run-debug # run with MCP_LOG_LEVEL=debug
make run-noauth # run with MCP_AUTH_MODE=off (local testing only)
make tunnel # cloudflared temporary tunnel to http://localhost:${PORT}
make docker-up # docker compose up -d --build
make docker-up-noauth # docker compose up -d --build with MCP_AUTH_MODE=off
make docker-down # docker compose down
make docker-logs # follow container logs
make docker-auth # interactive first run for Telegram OTP/2FA
默认值:
BIN_NAME=telegram-digest-mcpPORT=8765
覆盖示例:
make PORT=9000 tunnel
OAuth/OIDC
安全模式为默认模式:
MCP_AUTH_MODE=oauthMCP_OAUTH_ISSUER=https://<tenant>.auth0.com/MCP_OAUTH_AUDIENCE=https://<your-public-host>/mcp(必须与Auth0 API标识符完全匹配)MCP_OAUTH_REQUIRED_SCOPES=mcp.readMCP_PUBLIC_BASE_URL=https://<public-host>
详细的Auth0设置指南: AUTH0_MCP配置.md
服务器公开:
GET /.well-known/oauth-protected-resourceGET /.well-known/oauth-authorization-serverGET /authorize(代理)POST /token(代理)
MCP工具
此服务器公开了3个MCP工具:
-
get_messages(channels, hours_back=24)从一个或多个公共Telegram频道获取最近的帖子,并返回文本、时间戳、视图、转发和消息链接。 -
get_similar_channels(channels)使用Telegram推荐为所提供的种子查找相邻/相似的频道。 -
expand_and_collect(seed_channels, depth=2, hours_back=24)运行完整的管道:从种子频道扩展到附近的频道,然后从完整的发现集中收集最近的帖子。
为什么这对社交媒体泡沫分析有用:
- 您可以从已知的频道开始,自动绘制附近社区的地图。
- 你可以比较相邻泡沫中的叙述,而不是孤立地看待一个渠道。
- 您可以将结构化的跨渠道数据馈送到人工智能,以便随着时间的推移进行聚类、总结、趋势检测和叙事漂移分析。
安全说明
- 保持
.envTelegram会话文件为私有。 - 不要跑步
MCP_AUTH_MODE=off在公共互联网上。 - 日志转到
stderr(MCP协议使用stdout).