telegram-notes-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TG_API_ID | Yes | Your Telegram API ID from my.telegram.org | |
| TG_API_HASH | Yes | Your Telegram API hash from my.telegram.org | |
| TG_BOT_TOKEN | No | Bot token for the bot-message editor (optional) | |
| TG_OLLAMA_URL | No | URL of your Ollama server for semantic search (optional) | http://localhost:11434 |
| TG_EMBED_MODEL | No | Embedding model name for semantic search (optional) | nomic-embed-text |
| TG_OLLAMA_AUTH | No | Authentication token for Ollama if required (optional) | |
| TG_CHAT_WHITELIST | Yes | Comma-separated usernames (e.g., @someone) and/or numeric chat IDs (e.g., -1001234567890); use 'me' for Saved Messages | |
| TG_OWN_BOT_USERNAME | No | Your bot username for analytics noise-filter (optional) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_messagesC | Full-text search over indexed Telegram messages. |
| list_chatsA | List whitelisted chats with message counts and last activity date. |
| get_chat_contextB | Return messages surrounding a specific message in a chat. |
| semantic_searchA | Поиск сообщений по СМЫСЛУ (эмбеддинги), а не по точным словам. Требует предварительной индексации (embed_index / scripts/embed_backfill.py). Если обучен whitening-индекс (scripts/build_white_index.py) — использует retrieve-more + bge-rerank; иначе честный fallback на сырой nomic. |
| embed_indexA | Проиндексировать (сгенерировать эмбеддинги) одну пачку сообщений без вектора. Вызывать повторно, пока has_more=true. Для полной переиндексации удобнее scripts/embed_backfill.py. |
| sync_nowA | Force an incremental re-sync of all whitelisted chats. |
| transcribe_voicesA | Transcribe pending voice/video-note messages via Telegram's built-in transcription (requires the logged-in account to have Premium). Transcripts are written into messages.text so they flow into search, embeddings, bursts and topics. Returns {total, transcribed, failed}. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a distinct function: indexing, context retrieval, listing chats, full-text search, semantic search, syncing, and transcription. No two tools overlap in purpose.
Naming is a mix of English and Russian, and patterns vary: verb_noun (list_chats), verb_adverb (sync_now), adjective_noun (semantic_search). All use snake_case, but the inconsistency reduces predictability.
Seven tools is appropriate for the server's purpose of searching and analyzing Telegram messages. Each tool provides necessary functionality without excess.
Core workflows (indexing, searching, syncing, transcription) are covered. Missing explicit get/export message operations, but the set is largely complete for its intended use.