Telegram for AI agents -- messages, chats, media, and contacts across both bot and full user-account modes.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 5a630fe · analyzer v28 · 13h ago
skills & prompt files 4
danger signals8
- suspicious endpoint t.me n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/backends/bot_backend.py :76
"https://t.me/BotFather" - suspicious endpoint t.me n24q02m-better-telegram-mcp-5a630fe/tests/integration/test_bot_live.py :130
await bot.join_chat("https://t.me/+abc") - suspicious endpoint t.me n24q02m-better-telegram-mcp-5a630fe/tests/test_backends/test_bot_backend.py :172
await bot.join_chat("https://t.me/+abc") - suspicious endpoint 169.254.169.254 (cloud metadata) n24q02m-better-telegram-mcp-5a630fe/tests/test_backends/test_security.py :62
validate_url("http://169.254.169.254/latest/meta-data/") - suspicious endpoint 93.184.216.34 n24q02m-better-telegram-mcp-5a630fe/tests/test_backends/test_security.py :107
validate_url("https://93.184.216.34/image.jpg") - suspicious endpoint t.me n24q02m-better-telegram-mcp-5a630fe/tests/test_backends/test_user_backend.py :565
result = await backend.join_chat("https://t.me/joinchat/abc123") - suspicious endpoint api.telegram.org n24q02m-better-telegram-mcp-5a630fe/tests/test_full_live.py :66
resp = await client.get(f"https://api.telegram.org/bot{BOT_TOKEN}/getMe") - suspicious endpoint api.telegram.org n24q02m-better-telegram-mcp-5a630fe/tests/test_relay_setup.py :23
text = f"error posting https://api.telegram.org/bot{_FAKE_TOKEN}/getMe"
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 102
filesystem 8
- fs n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/auth/telegram_auth_provider.py :22
from pathlib import Path - fs n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/backends/bot_backend.py :5
from pathlib import Path - fs n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/backends/security.py :7
from pathlib import Path - fs n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/backends/user_backend.py :5
from pathlib import Path - fs n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/config.py :6
from pathlib import Path - fs n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/relay_setup.py :18
from pathlib import Path - fs n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/tools/help_tool.py :5
from pathlib import Path - fs n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/transports/credential_store.py :10
from pathlib import Path
network 2
- net n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/backends/bot_backend.py :8
import httpx - net n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/backends/security.py :6
import socket
secrets 4
- secrets n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/cli.py :15
import getpass - secrets n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/config.py :143
os.environ.get("CREDENTIAL_SECRET") - secrets n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/credential_state.py :202
if os.environ.get("TELEGRAM_BOT_TOKEN"): - secrets n24q02m-better-telegram-mcp-5a630fe/src/better_telegram_mcp/transports/http.py :78
return os.environ.get("MCP_DCR_SERVER_SECRET") or os.environ.get(