tgcloud — Telegram serverless bots
MCP server for Telegram serverless bots: lifecycle, deploys, migrations, webhooks via tgcloud CLI
Connector by sdamarketing · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/sdamarketing-tgcloud-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 3 read · 10 write · 1 delete · 2 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 16
Read from the source code; the running server may list different tools.
Read 3 · Look things up without changing anything.
diffstatuswebhook_status
Write 10 · Create, change, send or run things.
add_modulecreate_projectdeploylogin_botmigratepullpushrun_handlerupgradewebhook_sync
Delete 1 · Delete, drop, revoke or wipe things.
reset
Not yet classified 2 · We could not tell from the name and description.
fetchinit_project
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
TGCLOUD_TOKEN
Other settings (environment variables or headers).
TGCLOUD_CLITGCLOUD_CLI_ARGSTGCLOUD_TIMEOUT_MS
Files it touches
- Any path the agent passes to its tools
Tools (16)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_moduleAdd a moduleScaffolds a module with `tgcloud add <target>` (tgcloud/ layout). handlers/<type> is one flat update handler (message, edited_message, callback_query, inline_query, chosen_inline_result, shipping_query, pre_checkout_query, poll, poll_answer, my_chat_member, chat_member, chat_join_request, message_reaction, channel_post, …). endpoints/<name> is a Mini App function (POST /api/<name>; identifier, not starting with a digit). lib/<path> is shared code and may be nested. Existing files are never overwritten.
create_projectCreate a bot projectScaffolds a serverless bot with `npm create @tgcloud/bot <name>` inside parent_dir. Needs Node.js 18+ and the npm registry. Does not overwrite existing files.
deployBuild the Mini App and pushRuns `npm run build` when package.json has a build script, then `tgcloud push`. Use this after front-end edits: a plain push uploads static.source as it sits on disk and never runs the bundler, so it would publish a stale dist. Does not migrate the database and never passes --force. skip_build=true pushes without building. If there is no build script, only push runs.
diffLine diffLine-by-line diff of the local project against the deployed snapshot (tgcloud diff). Offline.
fetchRefresh the cloud snapshotUpdates the local snapshot of what is deployed without touching working files (tgcloud fetch). Use it before resolving a revision conflict.
init_projectInitialize a project in placeScaffolds tgcloud into an existing directory (tgcloud init, offline): tgcloud/schema.js, handlers/, endpoints/, lib/, tgcloud.jsonc, AGENTS.md, docs/tgcloud-sdk.md. In a front-end project it detects the bundler, sets static.source, and adds an npm run deploy script (build, then push) without overwriting files you already have.
login_botLink a bot to the projectRuns `tgcloud login` with a CLI access token (app<id>:<secret> from @BotFather → your bot → Serverless → CLI Access → Access token). This is NOT the Bot API token (123456:AA…). The CLI wants a TTY, so the token is written to stdin with TGCLOUD_ASSUME_TTY=1 and masked in every tool result. NEVER show the token to the user after this call. In CI, set TGCLOUD_TOKEN and skip login.
migrateDatabase migrationsApplies schema.js changes to the database (tgcloud migrate). push never does this. dry_run defaults to true (--dry-run): preview only. Applying (dry_run: false) requires confirm: true. apply "safe" passes --safe (auto-apply safe changes, skip warnings and manual steps). apply "yes" or omitting apply passes --yes (safe changes plus every warning, including .deprecated drops that delete data; manual type changes are still skipped). local: true diffs against the local schema.js instead of the deployed one (--local) and can be combined with either mode. Show the user the preview before applying. W…
pullPull from the cloudMakes the local project match the cloud: updates the snapshot and working files (tgcloud pull). Does not write the Mini App build folder.
pushDeploy to the cloudUploads changed modules in one atomic batch (tgcloud push). Without files, mirrors the whole local module set (deletions included) and, when tgcloud.jsonc names static.source, uploads that build folder exactly as it is on disk. push never runs the bundler — after front-end edits call deploy, or the previous build goes live. A targeted push never deletes other modules and leaves static files untouched unless the target is the build folder. push does not migrate the database; it only prints pending schema changes. Adding or removing a handler can leave the webhook out of sync — follow with webho…
resetDiscard local changesDESTRUCTIVE: discards local module edits and restores the working tree from the last known cloud snapshot (tgcloud reset). Does not touch the Mini App build folder. Requires confirm: true.
run_handlerRun a module without deployingRuns a handler or an endpoint on the platform using local files, without publishing them (tgcloud run). args is the payload (a Message for handlers/message, or the endpoint input) as a JSON5 object. ctx is the second argument (--ctx): the raw update for a handler, or initData for an endpoint, for example { initData: { user: { id: 1, first_name: "Ann" } } }. Returns the value, captured console logs, and elapsed time.
statusProject statusShows local changes against the deployed snapshot (tgcloud status). Offline. Also reports stray .js files inside tgcloud/ that will not deploy, Mini App static diffs, and a webhook that is out of sync with the deployed handlers.
upgradeUpgrade a pre-0.2.0 project layoutOne-time move of schema.js, handlers/, and lib/ from the project root into tgcloud/ (tgcloud upgrade). Required before other commands on projects created before CLI 0.2.0. Keeps the bot link; nothing needs to be redeployed. dry_run defaults to true and only prints the planned moves. Applying (dry_run: false) requires confirm: true.
webhook_statusWebhook statusShows the platform-managed webhook (tgcloud webhook): URL, allowed_updates, pending update count, the last delivery error, and whether it is in sync with the deployed handlers. First step when a bot is silent. Deploying or removing a handler can leave it out of sync.
Show 1 more tools
webhook_syncRe-sync the webhookPoints the webhook at the platform and rebuilds allowed_updates from deployed handlers (tgcloud webhook sync). Call it after adding or removing a handler. drop_pending=true discards updates Telegram already queued — destructive, requires confirm: true.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit
- Oct 24, 2026 (5 days ago)
- Last release
- Oct 15, 2026 (14 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.sdamarketing/tgcloud-mcp- Version
- 0.3.3
- Auth
- API key
- Packages
- npm tgcloud-mcpoci
ghcr.io/sdamarketing/tgcloud-mcp:0.3.3 - License
- MIT
- Repository
- github.com/sdamarketing/tgcloud_mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from sdamarketing
Cite this page
tgcloud — Telegram serverless bots MCP server. Agent Mart. https://agentmart.dev/connectors/sdamarketing-tgcloud-mcp (last updated 2026-10-24)