Dual-plane Telegram MCP server providing read-only analytics and guarded write actions with built-in rate limiting, anti-spam protection, and session management.
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.
Install from
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
process.env. You'll be asked to provide them before it can run.TG_MCP_SERVER_NAMETG_ALLOW_SESSION_SWITCHTG_ACTIONS_ENABLEDTG_ACTIONS_REQUIRE_ALLOWLISTTG_ACTIONS_UNSAFE_OVERRIDE— ActionMCP is fail-closed by default: weakening core safe flags auto-disables actions unless =1.TG_ACTIONS_MAX_MESSAGE_LEN— "": "2000",TG_ACTIONS_MAX_FILE_MBTG_ACTIONS_MIN_CONFIRM_TEXT_LENTG_ACTIONS_IDEMPOTENCY_WINDOW_SEC— "": "86400",TG_ACTIONS_REQUIRE_CONFIRMATION_TEXTTG_ACTIONS_CONFIRMATION_PHRASE— Non-dry-run write actions require confirm=true and exact confirmation_text ().TG_ACTIONS_REQUIRE_APPROVAL_CODE— Non-dry-run write actions also require one-time approval_code from the matching dry_run preview (=1).TG_ACTIONS_IDEMPOTENCY_ENABLEDTG_ACTIONS_APPROVAL_TTL_SEC— "": "1800",TG_ACTIONS_APPROVAL_MIN_AGE_SEC— approval_code has minimum age (, default 30s): immediate execute right after dry_run is blocked.TG_ACTIONS_APPROVAL_FILE— "": "data/anti_spam/action_approvals.json",TG_ACTIONS_BATCH_TTL_HOURS— "": "168",TG_ACTIONS_BATCH_APPROVAL_LEASE_SEC— "": "86400",TG_ACTIONS_BATCH_RUN_LEASE_SEC— "": "1800",TG_ACTIONS_BATCH_FILE— "": "data/anti_spam/action_batches.json",TG_ACTIONS_ALLOWED_GROUPS— env ="-1001234567890" \TG_WRITE_CONTEXT— env =read_mcp \TG_ENFORCE_ACTION_PROCESS— In strict mode (=1), write is allowed only when process entrypoint is mcp_server_actions.py.TG_EXPECTED_USERNAME— env ="my_main_account" \TG_SESSION_CONFLICT_REGISTRY_FILE— env ="$REPO/data/anti_spam/session_registry.json" \TG_READ_SESSION_PATH— env ="$REPO/data/sessions/my_account_ro.session" \TG_ACTIONS_SESSION_PATH— env ="$REPO/data/sessions/my_account.session" \TG_SESSIONS_DIR— env ="$REPO/data/sessions" \TG_SESSION_PATH_CONFLICT_MODE— env =warn \TG_SESSION_PATH— env ="$REPO/data/sessions/my_account_ro.session" \SESSION_NAMETG_DISABLE_RATE_LIMIT_FOR_TESTSPYTEST_CURRENT_TESTRATE_RPSMAX_DM_PER_DAYMAX_JOINS_PER_DAYMAX_GROUP_MSGS_PER_DAYMAX_GROUPSTG_GLOBAL_RPS_MODE— env =shared \TG_FLOOD_CIRCUIT_THRESHOLD_SEC— "": "300",TG_FLOOD_CIRCUIT_COOLDOWN_SEC— "": "900",SESSION_DIRTG_SESSION_LOCK_MODE— env =shared \TG_RECEIVE_UPDATES— 0 (default) disables Telethon updates loop to reduce sqlite session lock contention.TG_BLOCK_DIRECT_TELETHON_WRITETG_ALLOW_DIRECT_TELETHON_WRITETG_AUTH_BOOTSTRAPTG_ACTION_PROCESSTG_DIRECT_TELETHON_WRITE_ALLOWED_CONTEXTS— env =actions_mcp \TG_SESSION_RUNTIME_MODE— env =copy \TG_SESSION_RUNTIME_PROFILETG_SECRET_PROVIDER— env (default): read plain env valuesTG_USE_KEYCHAINTG_API_ID— Edit .env with your , TG_API_HASHTG_API_HASH— Edit .env with your TG_API_ID,TG_KEYCHAIN_SERVICETG_KEYCHAIN_ACCOUNT_API_IDTG_KEYCHAIN_ACCOUNT_API_HASH— TG_API_HASH[](https://m8ven.ai/mcp/matskevich-tg-mcp-guarded-ell9ts)