Commit graph

39 commits

Author SHA1 Message Date
vp
e7b92cd89b docs: restore GIF tools removal note in README 2026-02-24 22:21:08 +03:00
vp
fd9c90e53c feat: secure file-path tools with allowlisted roots
- implement server-side allowlist via CLI positional roots (fallback)\n- implement client MCP Roots override semantics (replace server roots when available)\n- add realpath + in-root validation, traversal/glob rejection, extension and size checks\n- make write path default to <first_root>/downloads when file_path is omitted\n- reintroduce upload_file tool with the same path security model\n- update README with security model and usage\n- add tests for root resolution, replacement semantics, traversal checks, and default write path\n- add pytest and pytest-asyncio to dev dependencies
2026-02-24 22:12:56 +03:00
Eugene Evstafev
0b66911b54
docs: update README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-29 14:02:31 +00:00
Eugene Evstafev
86595353f7
docs: add header image to README 2025-12-29 13:57:40 +00:00
Bayram Annakov
37269e11ea feat: add draft management tools (save_draft, get_drafts, clear_draft)
Add three new tools for managing Telegram drafts:
- save_draft: Save a draft message to any chat/channel
- get_drafts: List all drafts across all chats
- clear_draft: Clear a draft from a specific chat

Uses Telethon's SaveDraftRequest and GetAllDraftsRequest APIs.
Drafts appear in Telegram's input field for review before sending.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 19:04:32 -08:00
Eugene Evstafev
4b077c708e
Merge pull request #44 from l1v0n1/docs/add-invite-to-group-to-readme
docs: add invite_to_group function to README
2025-12-25 19:41:41 +00:00
anonim
2ac8b93650 docs: add invite_to_group function to README
Add invite_to_group function to the Chat & Group Management section
of the README. This function exists in main.py with @mcp.tool() decorator
but was missing from the documentation.
2025-12-25 22:39:16 +03:00
Kamil
a7baa31ab6
docs: add message reaction tools to README
Add documentation for three new message reaction tools from PR #41:

- send_reaction(chat_id, message_id, emoji, big=False): Add a reaction to a message
- remove_reaction(chat_id, message_id): Remove a reaction from a message
- get_message_reactions(chat_id, message_id, limit=50): Get all reactions on a message

These tools are now part of the Messaging section in the features list.
2025-12-25 22:23:26 +03:00
latand
c3594795cd Add inline button helpers and channel subscription tool 2025-11-04 20:56:04 +02:00
Korzhavin Ivan
cbe429b474 Merge branch 'main' of https://github.com/chigwell/telegram-mcp into feature/id-validation-decorator
Resolved conflict in log_and_format_error function by:
- Combining ErrorCategory enum (from main) with user_message parameter (from feature branch)
- Supporting both ErrorCategory and string prefixes (for validation errors)
- Keeping validation decorator functionality intact

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 15:23:15 +02:00
Mathias L. Baumann
7f078dd1e7 feat: add poll creation functionality
- Implement create_poll tool using Telethon's native poll API
- Support for multiple choice, quiz mode, public votes, and close dates
2025-10-17 17:32:14 +02:00
Valeriy Pavlovich
aa6d2761ce feat: Add forum topics support with list_topics tool
Add new list_topics() MCP tool to retrieve forum topics from Telegram
supergroups with forum feature enabled.

Features:
- Validates chat is a supergroup with forum enabled
- Supports pagination via offset_topic parameter
- Supports search filtering via search_query parameter
- Returns comprehensive topic metadata:
  * Topic ID and title
  * Total messages and unread count
  * Status flags (closed, hidden)
  * Last activity timestamp
- Proper error handling and logging

Documentation:
- Added list_topics to README Messaging tools list
- Added complete code example with implementation
- Added example output showing typical usage

Uses Telethon's GetForumTopicsRequest API for reliable forum topic
retrieval from supergroups.
2025-10-14 15:39:00 +03:00
google-labs-jules[bot]
34bdd58905 feat: Implement input validation decorator for chat/user IDs
Adds a new `@validate_id` decorator to validate `chat_id` and `user_id` parameters in `main.py`.

This decorator ensures that all IDs passed to functions are in a valid format before making RPC calls to the Telegram API. It handles:
- Integer IDs (positive and negative)
- String representations of integer IDs
- Usernames (e.g., "@username")
- Lists of IDs

Key changes:
- Created a `validate_id` decorator in `main.py`.
- Applied the decorator to all functions that accept `chat_id`, `user_id`, or similar parameters.
- Updated the central `log_and_format_error` function to handle custom validation error messages and a specific `VALIDATION-001` error code for logging.
- Added a new test suite (`test_validation.py`) with comprehensive tests for the decorator.
- Updated `README.md` and `session_string_generator.py` with documentation about the new validation.
2025-08-29 23:16:13 +02:00
Korzhavin Ivan
016fd31603 Fix run how-to to use uv for consistency with production case 2025-08-28 22:18:58 +02:00
Eugene Evstafev
3f59865361 docs: update README.md 2025-04-26 08:17:23 +01:00
anonim
b1f0e79b6b chore: update references to the renamed container in documentation and workflows
Renamed all instances of 'telegram-mcp-server' to 'telegram-mcp' in docker-compose.yml, README.md, and the Docker build workflow to ensure consistency and clarity across the project.
2025-04-24 15:09:38 +03:00
anonim
461f267822 docs: add CI badges to README.md
Added badges for Python linting and Docker build validation to the README.md, enhancing visibility of the project's continuous integration status and encouraging best practices in code quality and deployment.
2025-04-24 15:04:05 +03:00
anonim
3d3aef8360 docs: add Docker setup instructions to README.md
Introduced a new section in the README.md detailing how to run the server using Docker, including steps for building the image and running the container with both Docker Compose and the `docker run` command. This enhances the documentation for users looking to simplify dependency management.
2025-04-24 15:03:11 +03:00
anonim
b46f9a4e34 Merge branch 'main' of https://github.com/l1v0n1/telegram-mcp-server 2025-04-22 18:35:06 +03:00
anonim
d562cf61fb refactor: Remove file handling functions from main.py and update README.md
Removed several functions that required direct file path access, including `send_file`, `download_media`, `set_profile_photo`, `edit_chat_photo`, `send_voice`, `send_sticker`, and `upload_file`, due to limitations in the current MCP environment. Updated the README to reflect these changes and added a section on removed functionality.
2025-04-22 18:24:46 +03:00
Eugene Evstafev
74b39d4164
docs: add "Star History" section 2025-04-19 11:09:22 +01:00
Eugene Evstafev
cd35b7b893 docs: update credentials in README.md 2025-04-18 14:27:55 +01:00
anonim
3faa4a006e docs: Update Python command naming to maintain consistency 2025-04-18 15:02:56 +03:00
Eugene Evstafev
03c927bc9d
Merge branch 'main' into main 2025-04-17 17:41:21 +01:00
anonim
b2c4c655be
Update README.md
Co-authored-by: Eugene Evstafev <36392751+chigwell@users.noreply.github.com>
2025-04-17 19:39:07 +03:00
anonim
756ab3b449
Update README.md
Co-authored-by: Eugene Evstafev <36392751+chigwell@users.noreply.github.com>
2025-04-17 19:37:50 +03:00
anonim
68fe40e912
Update README.md
Co-authored-by: Eugene Evstafev <36392751+chigwell@users.noreply.github.com>
2025-04-17 19:37:43 +03:00
anonim
beb5ace28d
Update README.md
Co-authored-by: Eugene Evstafev <36392751+chigwell@users.noreply.github.com>
2025-04-17 19:37:33 +03:00
Eugene Evstafev
412067c952
docs: update README.md 2025-04-17 17:26:36 +01:00
anonim
94b21c2f32 docs: update README.md to clarify usage example for Telegram MCP
- Added a "Basic usage example" section to enhance clarity on how to utilize the Telegram MCP capabilities.
- Improved the structure of the README for better readability and user guidance.
2025-04-17 18:20:57 +03:00
anonim
95b34d67f1 docs: expand README.md with demonstration of Telegram MCP capabilities
- Added a new section showcasing the Telegram MCP in action with screenshots.
- Included examples of interactions with Claude for analyzing chat history and sending messages.
- Enhanced overall documentation to improve user understanding of the Telegram integration.
2025-04-17 18:09:05 +03:00
anonim
e297416e54 feat: refine logging and error handling in main.py, update .env.example and README
- Enhanced logging setup in main.py for better error tracking and console output.
- Improved error handling in group and user management functions.
- Updated .env.example to include a sample session string and removed outdated test configurations.
- Expanded README.md with new tool examples and usage instructions for better clarity.
- Removed the test.py file as it is no longer needed for testing.
2025-04-17 17:56:42 +03:00
anonim
fec185075b feat: update .env.example and README for enhanced testing configuration
- Expanded .env.example to include detailed test configuration options for chat and user IDs.
- Updated README.md to reflect new testing instructions and configuration details.
- Improved documentation on error handling and robustness of the Telegram MCP server.
2025-04-17 16:52:31 +03:00
anonim
6f25a900f5 docs: add screenshot to README for enhanced visual representation
- Included a screenshot demonstrating the Telegram MCP in action to improve user understanding and engagement.
2025-04-15 16:32:15 +03:00
anonim
84de77230b feat: major update to Telegram MCP server with new features and enhancements
- Bumped version to 2.0.0 in pyproject.toml and updated dependencies.
- Expanded README.md to reflect new features, including comprehensive tools for chat, group, and contact management.
- Added new functionalities for managing contacts, messages, and user profiles.
- Updated .gitignore to include .DS_Store files.
- Improved error handling and messaging in main.py.
- Enhanced overall documentation and usage examples for better user guidance.
2025-04-15 16:30:32 +03:00
anonim
c7c5cee0cf docs: update README to reflect changes in session string generation and installation steps
- Renamed section "Set Up Your Environment" to "Generate Session String" and moved it up in the order.
- Added detailed instructions for generating a session string using Telethon's StringSession.
- Updated the environment setup instructions to include the new session string variable.
2025-03-31 18:48:20 +03:00
anonim
726fef23f3 feat: enhance Telegram MCP server with new features and configuration updates
- Updated .env.example with new Telegram API credentials and session string options.
- Expanded .gitignore to exclude session files and configuration.
- Refactored main.py to support string session authentication and added new functions for contact and message management.
- Updated README.md to reflect new features, installation instructions, and usage examples.
- Added python-dotenv as a dependency in pyproject.toml for environment variable management.
2025-03-31 18:45:36 +03:00
Eugene Evstafev
1f7474aa5c feat: init commit 2025-03-20 15:49:27 +00:00
Eugene Evstafev
544c0b6477
Create README.md 2025-03-20 14:06:52 +00:00