telegram-mcp@r1
VERIFIED· install onlyPublisher claims: "Enables Claude or other MCP clients to exchange files and notes through a personal Telegram bot and to read, search, and download from chats using read-only account access without sending, editing, deleting, or marking messages as read." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Install scripts ran; no agent task scenario for this bundle.- Tested
- install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
What this means for the label: Verified here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
- no credential variables read in the code
- Where it talks to
- telegram.org (its own)
- What the honeypot saw
- no credential files read · no network
- What we could not test
- use of the skill by an agent
Connect it under the guard. Install scripts ran; no agent task scenario for this bundle. The code names no credential variable and talks to telegram.org, its own; the guard pins the network to what the honeypot saw and logs every call.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is telegram-mcp@r1 safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; install scripts ran; no agent task scenario for this bundle) on 2026-11-12 and scored it 80/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 2 scenarios · 0 deviationsStatic findings
r = httpx.post(f"https://api.telegram.org/bot{token}/{method}", timeout=60, **kw)Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.ups = httpx.get(f"https://api.telegram.org/bot{token}/getUpdates").json().get("result", [])Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.r = httpx.get(f"https://api.telegram.org/bot{token}/getMe").json()Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.on the last one). Only to chats in config.json "send_allowed_chats"; chat = exact id or @username.Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.subprocess.run(["icacls", str(p), "/inheritance:r", "/grant:r", f"{os.environ['USERNAME']}:F"],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.tg_send_files) works only for chats listed in config.json "send_allowed_chats", and every send isFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.httpx.get(f"https://api.telegram.org/bot{token}/getUpdates",Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls."""Send a text message FROM THE OWNER'S ACCOUNT. Only to chats in config.json "send_allowed_chats";Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.res = subprocess.run(copilot_argv(settings, prompt), cwd=WORKDIR, stdin=subprocess.DEVNULL,Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.and it must be in config.json "send_allowed_chats"."""Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.text = subprocess.run(["powershell", "-NoProfile", "-Command", "Get-Clipboard"],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.httpx.post(f"https://api.telegram.org/bot{token}/sendMessage",Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.