← All Telegram MCP connectors

Gemini · Google

Gemini Telegram MCP — for Gemini & the CLI

Use Entergram as a Telegram MCP server for Google Gemini and the Gemini CLI — give Gemini secure, OAuth-scoped access to your real Telegram chats so it can surface missed messages, waiting clients and cold leads.

MCP server URL https://mcp.entergram.com/mcp

Both the Gemini CLI and MCP-compatible Gemini clients can register external MCP servers. Add Entergram's URL and Gemini gains scoped, OAuth-secured access to your real personal Telegram account — no bot to maintain, nothing to code, no API keys to store.

Paste-ready configuration

~/.gemini/settings.json
{
  "mcpServers": {
    "entergram": {
      "httpUrl": "https://mcp.entergram.com/mcp"
    }
  }
}

Ask Gemini things you could never ask Telegram

With your personal account connected, Gemini can analyze every chat at once. Try prompts like:

  • “Which chats have unanswered questions from the last three days?”
  • “List contacts in my customer group who aren't in the community group.”
  • “Post the contents of build.log to the release channel.”
  • “Create a channel called Launch Updates and invite the core team.”
  • “Fix the typo in my last message to the Acme thread.”
  • “Export this month's tickets as TSV so I can drop it in a sheet.”

Connect Gemini in 3 steps

Works with the Gemini CLI and MCP-compatible Gemini clients.

  1. 01

    Copy your MCP URL in Entergram

    Start in Entergram — Settings → Workspace → Connectors → MCP holds your server URL. Copy it to the clipboard, since the Gemini CLI reads it from a config file rather than an input box.

  2. 02

    Register the MCP server with Gemini

    Add Entergram to your Gemini CLI MCP configuration with the URL: https://mcp.entergram.com/mcp.

  3. 03

    Authorize and run

    Run the CLI again so it picks up the new server, sign in to Entergram in the browser it opens, and grant scoped access to your workspace.

Where to register the server

Gemini CLI, user scope

The primary path, and what most people mean by Gemini MCP. Add the server to ~/.gemini/settings.json under mcpServers with httpUrl pointing at the hosted endpoint, restart the CLI, and the tools are available in every project on that machine. Because it is remote HTTPS there is no npx wrapper or stdio bridge to keep alive.

{ "mcpServers": { "entergram": { "httpUrl": "https://mcp.entergram.com/mcp" } } }

Gemini CLI, project scope

The same block placed in .gemini/settings.json inside a repository applies to that checkout only. Useful when one repo is the deploy pipeline that announces releases to a Telegram channel and the rest of your work has no business touching chats — and it keeps the configuration in version control where a teammate can read it.

mkdir -p .gemini && $EDITOR .gemini/settings.json

Any client driving a Gemini model

The endpoint is model-agnostic. An IDE agent, a scripted harness or an in-house tool running Gemini underneath registers Entergram however its own MCP config expects and receives the identical tool list. The consent screen belongs to Entergram, so whoever runs the client authorizes as themselves rather than inheriting somebody else's grant.

Terminal jobs worth wiring up

In the CLI these are one-line invocations you can put behind a shell alias or a git hook. Each plain-language request expands into a sequence of tool calls, and the CLI prints which ones it made — so you can watch the mechanics before you trust it with a write. Everything below assumes the server is registered and authorized once; after that it is just typing.

You ask

“Post the release notes from CHANGELOG.md to the beta channel.”

Tools called

entergram_list_accountsentergram_list_groupsentergram_send_message

You get

The post-deploy step nobody remembers. Gemini already has the changelog in context from the repo, picks the account that administers the channel, matches the channel by name, and posts. Hang it off a successful build and the announcement stops depending on somebody's memory.

You ask

“Who is in the beta channel that we have never marked as a paying customer?”

Tools called

entergram_list_group_membersentergram_list_contactsentergram_get_chat_custom_fields

You get

A set difference across two systems that normally live in different browser tabs. It enumerates the channel roster, matches those people against your contact list, then reads the CRM fields to see who carries the customer flag. What comes back is the unconverted half of your community, by name.

You ask

“Send the failing test output to the Acme thread with a short explanation.”

Tools called

entergram_list_chatsentergram_send_media_message

You get

The file is already on disk next to you, which skips the whole upload dance. Gemini attaches the artifact and writes the covering line itself — the difference between a client seeing a wall of stack trace and a client seeing what broke and when it will be fixed.

You ask

“Create a launch channel, name it properly and add the release team.”

Tools called

entergram_create_channelentergram_update_chat_infoentergram_invite_chat_members

You get

Three steps in Telegram's own UI collapse into one sentence. The channel is created, title and description are set from what you described, and the invite list is resolved from your contacts. This one needs a workspace connector — group administration is not in the personal agent scope set.

You ask

“I typoed the version number in that announcement, fix it.”

Tools called

entergram_list_messagesentergram_edit_message

You get

It reads back recent history to identify the message you mean, then edits in place instead of posting a correction underneath. Telegram keeps the message where it was, so nobody who already read it gets pinged again and the channel history stays clean.

You ask

“Give me this week's ticket counts by assignee as TSV.”

Tools called

entergram_list_ticketsentergram_list_ticket_custom_columnsentergram_list_members

You get

Output formatting is where a terminal client earns its keep. It pulls the queue, resolves the category and severity columns to their real option values, maps assignee IDs to human names, and prints tab-separated rows you can pipe straight into a spreadsheet or a chart script. Ad-hoc reporting, with nobody having to build a report first.

What Gemini can do with your Telegram

  • Query your chats without leaving the terminal
  • Diff a customer list against a community roster
  • Post build output or a file straight into a chat
  • Spin up a channel and seed it with the right members
  • Correct a message in place instead of re-sending
  • Export ticket data as tab-separated text for a spreadsheet

The tool surface in the CLI

List the registered MCP servers after connecting and all 70 tools appear under entergram, grouped the way they are below. Tool names are literal identifiers, which counts for more in a terminal than in a chat window: you can name a call directly in a prompt when you want deterministic behaviour instead of letting the model pick its own route. The CLI prints each call and its arguments as it goes, which makes an unfamiliar tool list quick to learn.

Accounts & workspace

5 tools

Identity and scope discovery. Every message call needs an account_id from list_accounts first — an AI client that skips this step will address the wrong Telegram account.

  • entergram_get_me
  • entergram_list_accounts
  • entergram_get_workspace
  • entergram_get_member
  • entergram_list_members

Chats & discovery

8 tools

Finding conversations. The workspace views carry CRM state (tickets, comments, custom fields); the live views carry current Telegram transport state and unread counts.

  • entergram_list_chats
  • entergram_get_chat
  • entergram_list_live_chats
  • entergram_get_live_chat
  • entergram_list_workspace_chats
  • entergram_get_workspace_chat
  • entergram_update_workspace_chat
  • entergram_get_chat_management

Messages

9 tools

Reading and writing message history, including edits, forwards and reactions. Sending is scoped per account, so nothing is global across your connected accounts.

  • entergram_list_messages
  • entergram_get_message
  • entergram_send_message
  • entergram_send_media_message
  • entergram_edit_message
  • entergram_delete_message
  • entergram_forward_messages
  • entergram_get_message_reactions
  • entergram_set_message_reactions

Contacts

3 tools

Who you are talking to, and where else you overlap with them. Shared-groups lookup is what makes questions like “which of my leads are in the same community?” answerable.

  • entergram_list_contacts
  • entergram_get_contact
  • entergram_list_contact_shared_groups

Tickets

10 tools

Full support-desk control: open, assign, prioritise, comment and close. Tickets link back to the chat they came from, so an AI client can move from conversation to queue in one step.

  • entergram_list_tickets
  • entergram_get_ticket
  • entergram_create_ticket
  • entergram_update_ticket
  • entergram_delete_ticket
  • entergram_list_chat_tickets
  • entergram_list_ticket_comments
  • entergram_create_ticket_comment
  • entergram_update_ticket_comment
  • entergram_delete_ticket_comment

CRM custom fields

11 tools

Your pipeline schema. Read the columns before writing values — checkboxes take booleans, multiselects take arrays of option values, dates take ISO 8601 strings.

  • entergram_list_custom_columns
  • entergram_get_custom_column
  • entergram_create_custom_column
  • entergram_update_custom_column
  • entergram_delete_custom_column
  • entergram_list_custom_column_options
  • entergram_create_custom_column_option
  • entergram_update_custom_column_option
  • entergram_delete_custom_column_option
  • entergram_get_chat_custom_fields
  • entergram_patch_chat_custom_fields

Ticket custom fields

9 tools

The same schema control for the ticket side — categories, severities, SLA tiers and anything else your desk tracks beyond status and priority.

  • entergram_list_ticket_custom_columns
  • entergram_get_ticket_custom_column
  • entergram_create_ticket_custom_column
  • entergram_update_ticket_custom_column
  • entergram_delete_ticket_custom_column
  • entergram_list_ticket_custom_column_options
  • entergram_create_ticket_custom_column_option
  • entergram_update_ticket_custom_column_option
  • entergram_delete_ticket_custom_column_option

Internal notes

4 tools

Comments on a chat that your customer never sees. Useful for letting an AI client leave its reasoning behind for a human teammate to pick up.

  • entergram_list_chat_comments
  • entergram_create_chat_comment
  • entergram_update_chat_comment
  • entergram_delete_chat_comment

Groups & channels

11 tools

Creating and administering Telegram groups and channels — membership, permissions, privacy and info — plus a raw command escape hatch for the rest.

  • entergram_list_groups
  • entergram_get_group
  • entergram_list_group_members
  • entergram_create_group_chat
  • entergram_create_channel
  • entergram_invite_chat_members
  • entergram_remove_chat_member
  • entergram_update_chat_info
  • entergram_update_chat_permissions
  • entergram_update_chat_privacy
  • entergram_run_chat_command

Consent, per machine

Nothing in settings.json is a credential. The file only tells the CLI where the server lives; access comes from an OAuth login you complete in a browser, and the resulting token belongs to you rather than to the checkout. Google receives no Telegram credentials at any point — the phone number and session stay inside Entergram. Two scope sets exist, and which one you need depends on whether the CLI is expected to write.

Personal agent scope set
Any member can mint one without asking an admin. It covers reading the workspace, connected accounts, contacts, chats, messages and tickets, plus writing custom-field values on your own chats. Enough for every analysis and export job on this page; not enough to send a message.
Workspace connector scope set
Restricted to owners and admins, and the one an automation actually needs. It adds sending, media, edits, ticket writes, custom-field writes across the workspace, and Telegram group administration. Because it is shared rather than personal, treat the machine you authorize it on with matching care.
Killing the connection
Deleting the mcpServers entry stops the CLI calling the server, but it invalidates nothing. To actually cut access, revoke the client from the Entergram side under Settings → Workspace → Connectors → MCP — that lands immediately, on every machine that was using it.

Constraints to design around

Most of these only bite once you try to run the CLI unattended.

  • Registering the server is not the same as authorizing it. Every machine goes through the consent screen on its own the first time, so a fresh laptop or a rebuilt container needs a browser at least once.
  • The Entergram workspace has to be on Pro. The CLI will happily list the server and then collect refusals from every call if the tier is lower, which reads like a broken config but is not one.
  • There is no implicit account. Message tools require an explicit account_id, so any script has to resolve the account list first — barely noticeable in a chat, one more thing to remember in a pipeline. Resolve it once at the top of the script and pass it down.
  • A personal agent cannot send and cannot administer groups. Automations that post release notes or create channels need a workspace connector authorized by an owner or an admin.
  • The protocol is request and response, not a subscription. Nothing arrives in your terminal unprompted; Gemini learns about a new message only when something tells it to look. Anything resembling monitoring has to be a scheduled job you own.
  • The CLI elevates nothing. It sees exactly the chats your own Telegram account sees, and a group you left is a group it cannot read.

CLI problems and their causes

The server never appears in the MCP list
Almost always malformed JSON — one trailing comma makes the CLI drop the whole settings file quietly. Validate it, confirm the key is httpUrl for a remote HTTPS server rather than a command-and-args stdio entry, and check the entry really sits inside mcpServers.
Edits to settings.json seem to do nothing
Configuration is read at startup. Exit the session completely and relaunch; a running process keeps serving the tool list it built when it launched, so the file can be correct and still look ignored.
OAuth cannot complete on a headless machine
The consent screen needs a browser. Authorize on a workstation you can see, or forward the callback port over SSH — a build agent with no display cannot finish the handshake by itself.
It works in one directory and not another
You have two settings files. The one under ~/.gemini applies everywhere, the one under .gemini inside a repository applies only there. Check which of them actually holds the entergram entry before editing anything else.
Every call returns 403
Check the plan first, then the role. MCP access requires Pro, and anything past the personal agent scope set requires owner or admin rights on the Entergram workspace.
Reads work but sends are refused
That is the personal agent boundary showing, not a transient error. Sending is absent from its scope set entirely, so retrying will not help — an owner or admin has to authorize a workspace connector and you re-run the consent flow against that.

Gemini + Telegram FAQ

Does this work with the Gemini CLI?
Yes. The Gemini CLI supports MCP servers — register the Entergram MCP URL in your MCP config and authorize via OAuth.
Is this a Telegram bot?
No. Entergram connects your real personal Telegram account through a hosted MCP server, so Gemini works with your actual chats.
Can Gemini tell me what I missed?
Yes. It can read across all your connected chats, count unanswered and unread messages, and highlight the ones from clients and leads.
Is it secure?
Yes. The connection uses OAuth 2.0 with scoped permissions; you decide what Gemini can access and can revoke it at any time.

Gemini Telegram MCP — for Gemini & the CLI