Lemma Telepath
Connect your own Telegram account: search the whole chat archive, read the documents, photos and transcribed voice messages inside it, and reply as yourself.
What it can do
- Telegram List Chats: List the most recent Telegram Business conversations, newest activity first. Returns chat_id, display name, username, message count and last message time.
- Telegram Recent Messages: Most recent messages across all Telegram Business chats, newest first. Use it for 'what came in today' style questions. Messages include is_forwarded and forward_origin (orig
- Telegram Get Messages: Message history of one conversation, oldest first so it reads as a transcript. Resolve a person's name to chat_id with telegram_find_chat first. Messages include is_forwarded an
What data it sees
Do you need an account
No: the server works without sign-in
Connect your own Telegram account: search the whole chat archive, read the documents, photos and transcribed voice messages inside it, and reply as yourself.
How to connect
How to connect Lemma Telepath to Claude
The server address to paste into Claude settings:
https://telepath--lemmacompanyteam.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Lemma Telepath to ChatGPT
The server address to paste into ChatGPT settings:
https://telepath--lemmacompanyteam.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Lemma Telepath to Cursor
The server address to paste into Cursor settings:
https://telepath--lemmacompanyteam.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (23)
Raw names from tools/list. Only developers need these.
| telegram_list_chats | List the most recent Telegram Business conversations, newest activity first. Returns chat_id, display name, username, message count and last message time. |
| telegram_recent_messages | Most recent messages across all Telegram Business chats, newest first. Use it for 'what came in today' style questions. Messages include is_forwarded and forward_origin (original author/channel and Unix date when available). For forwards, from identifies who forwarded it in this chat, not the original author. Missing origin data does not prove authorship; never infer a hidden author's identity. |
| telegram_get_messages | Message history of one conversation, oldest first so it reads as a transcript. Resolve a person's name to chat_id with telegram_find_chat first. Messages include is_forwarded and forward_origin (original author/channel and Unix date when available). For forwards, from identifies who forwarded it in this chat, not the original author. Missing origin data does not prove authorship; never infer a hidden author's identity. |
| telegram_search_messages | Full-text search over archived message text and captions. The last word is prefix-matched. Optionally restrict to one chat or to a time window. Messages include is_forwarded and forward_origin (original author/channel and Unix date when available). For forwards, from identifies who forwarded it in this chat, not the original author. Missing origin data does not prove authorship; never infer a hidden author's identity. |
| telegram_find_chat | Resolve a person to their chat_id by first name, last name, @username or numeric id. Substring match and case-insensitive in any alphabet, so a partial name works. Call this before telegram_get_messages. |
| telegram_get_photo | Look at a Telegram photo so you can describe it, read text in it or answer questions about it. Use the chat_id and message_id of a message whose message_type is 'photo'. For several photos use telegram_get_photos instead. Include the returned link in your reply so the user can open the picture. To simply display a photo to the user, use telegram_show_photo. |
| telegram_show_photo | Display a Telegram photo to the user as a picture in the conversation. This does not let you see the image — to describe it or read anything in it, use telegram_get_photo. Use the chat_id and message_id of a message whose message_type is 'photo'. Always include the returned link as a clickable link, since not every client renders the picture. |
| telegram_get_photos | Look at several photos from one chat in a single call. Prefer this over calling telegram_get_photo repeatedly: the pictures share one size budget, so six of them cost about what one does, and a client that drops six separate image blocks keeps these. Pass the message_ids of messages whose message_type is 'photo'. Each photo also comes with a link — include the links in your reply. |
| telegram_get_file | Read a file someone sent. For a spreadsheet (.xlsx), Word document (.docx), PDF or any text format this returns the actual contents — cells, paragraphs, rows — so you can answer questions about what is inside it. Spreadsheet rows come back tab-separated, one sheet per '## name' heading. For a video, audio or image there is no text to read and you get the filename, type, size and a link instead. Use the chat_id and message_id of a message whose message_type is not 'text'. Telegram refuses to serve files over 20 MB to a bot, so those cannot be fetched. |
| telegram_send_message | Send a message to a real person from the user's own Telegram account. This is irreversible and visible to the recipient immediately. Confirm the exact wording and the recipient with the user before calling. Only chats already in the archive can be messaged; resolve the person with telegram_find_chat first. |
| telegram_send_media | Send a photo, document, video, audio or voice message to a real person or group from the user's Telegram. Irreversible and immediately visible — confirm the recipient and what is being sent before calling. Give exactly one source: • from_chat_id + from_message_id — forward a file that is already in the archive. Costs no upload and has no size limit, because Telegram already holds the file. Works only for messages the collector saw live; imported history has no file id. • url — a public http(s) link that Telegram fetches itself. In a private chat this is sent as the user. In a group there is no business connection, so it is sent as the bot — say so if that matters. |
| telegram_set_reaction | Put an emoji reaction on a message in a group the bot belongs to. The reaction is the bot's, not yours. The other person sees it and is notified, so confirm the message and the emoji with the user first. Only Telegram's standard reaction emoji are accepted — 👍 👎 ❤ 🔥 🥰 👏 😁 🤔 🎉 🤩 🙏 👌 💯 🤣 ⚡ 🤝 🫡 and similar; anything else is refused by Telegram, not by this server. Omit `emoji` to remove a reaction previously set. The message must already be in the archive. Two kinds of chat are out of scope: your 1:1 business chats, where the Bot API's setMessageReaction takes no business_connection_id and the call is refused here rather than failing obscurely; and the bot's own direct-message inbox, which is stored separately and is covered by telegram_bot_dm_react. |
| telegram_edit_message | Rewrite one of the user's own already-sent messages. The recipient sees it change and Telegram marks it edited. Incoming messages cannot be edited. |
| telegram_mark_read | Clear the unread badge on a conversation by marking a message, and everything before it, as read. Defaults to the newest message. Nothing is sent. |
| kb_search_notes | Full-text search over your personal knowledge base (notes you keep here). The last word is prefix-matched. Optionally restrict to a tag. Nothing leaves the server. With an empty query it lists recent notes. |
| kb_get_note | Read one note in full — its body, tags, the notes it links to via [[Title]], and the notes that link back to it. Address it by id or by exact title. |
| kb_list_notes | List notes, newest first. Optionally only those with a given tag. |
| kb_create_note | Save a new note to your knowledge base. Titles are unique; if one exists, use kb_update_note instead. The body is markdown and may reference other notes with [[Title]]. Tags help you find it later. |
| kb_update_note | Change an existing note. Address it by id or exact title. Pass only what changes. Set append=true to add the given body below what is already there — the natural 'add this to my notes' path — otherwise the body is replaced. |
| kb_delete_note | Permanently delete a note from your knowledge base, by id or exact title. This cannot be undone. |
| telegram_bot_direct_messages | Messages someone sent straight to the bot's account, outside the owner's Business connection — a different chat than the owner's business line, kept separate because it is a different conversation with the same chat_id. Not covered by telegram_get_messages or telegram_search_messages. |
| telegram_bot_dm_reply | Reply to someone in the bot's OWN direct chat — the messages from telegram_bot_direct_messages — sent as the bot. This is a different conversation from that person's business chat with you, even though the chat_id is the same, so it is a separate tool on purpose: use this for the bot's DM line, and telegram_send_message for your business chats. The other person sees it and is notified, so confirm the message with the user first. |
| telegram_bot_dm_react | Put an emoji reaction, as the bot, on a message in the bot's OWN direct chat — one returned by telegram_bot_direct_messages. That inbox is stored separately from the main archive and this tool reaches only it: it does not react in groups, and it cannot react in your 1:1 business chats. Only Telegram's standard reaction emoji are accepted; omit `emoji` to remove one. The other person is notified, so confirm the message and emoji with the user first. |