Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SESSION_NAME | No | Name of the session file for Telethon login. | telegram_session |
| TELEGRAM_PHONE | No | Login phone number (e.g., +821012345678). Required for the channel monitor authentication. | |
| TELEGRAM_API_ID | No | Telegram User API App ID from my.telegram.org. Required for the channel monitor functionality. | |
| TELEGRAM_API_HASH | No | Telegram User API App Hash from my.telegram.org. Required for the channel monitor functionality. | |
| TELEGRAM_BOT_TOKEN | Yes | Telegram Bot API token issued by @BotFather. Required for the MCP server tools. |
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| telegram_get_updates | 텔레그램 봇으로 수신된 새 메시지를 가져옵니다. 스케줄 태스크에서 주기적으로 호출하여 새 메시지를 확인합니다. offset을 사용하면 이미 처리한 메시지를 다시 가져오지 않습니다. Args: params (GetUpdatesInput): - offset (int): 마지막으로 처리한 update_id + 1 (선택사항) - limit (int): 가져올 메시지 수 (기본 20) Returns: str: 메시지 목록 JSON. 각 항목에 update_id, chat_id, sender, text 포함. 메시지 없으면 "새 메시지 없음" 반환. |
| telegram_send_message | 텔레그램 채팅에 메시지를 전송합니다. Args: params (SendMessageInput): - chat_id (int): 대상 채팅 ID - text (str): 전송할 메시지 (Markdown 지원) - parse_mode (str): 'Markdown' 또는 'HTML' (기본값: Markdown) Returns: str: 전송 성공 메시지 또는 에러 |
| telegram_edit_message | 이미 전송된 텔레그램 메시지의 내용을 수정합니다. Args: params (EditMessageInput): - chat_id (int): 채팅 ID - message_id (int): 수정할 메시지 ID - text (str): 새 메시지 내용 - parse_mode (str): 'Markdown' 또는 'HTML' (기본값: Markdown) Returns: str: 수정 성공 메시지 또는 에러 |
| telegram_delete_message | 텔레그램 채팅에서 특정 메시지를 삭제합니다. Args: params (DeleteMessageInput): - chat_id (int): 채팅 ID - message_id (int): 삭제할 메시지 ID Returns: str: 삭제 성공 메시지 또는 에러 |
| telegram_delete_messages | 텔레그램 채팅에서 여러 메시지를 한 번에 삭제합니다. |
| telegram_forward_message | 한 채팅에서 다른 채팅으로 메시지를 포워드(전달)합니다. 출처 표시 포함. Args: params (ForwardMessageInput): - from_chat_id (int): 원본 채팅 ID - to_chat_id (int): 전달 대상 채팅 ID - message_id (int): 전달할 메시지 ID Returns: str: 포워드 성공 메시지 또는 에러 |
| telegram_forward_messages | 한 채팅에서 다른 채팅으로 여러 메시지를 한 번에 포워드합니다. |
| telegram_copy_message | 메시지 내용을 포워드 마크 없이 복사하여 다른 채팅에 전송합니다. Args: params (CopyMessageInput): - from_chat_id (int): 원본 채팅 ID - to_chat_id (int): 복사 대상 채팅 ID - message_id (int): 복사할 메시지 ID - caption (str): 미디어 메시지에 추가할 캡션 (선택) Returns: str: 복사 성공 메시지 또는 에러 |
| telegram_copy_messages | 여러 메시지를 포워드 마크 없이 복사하여 다른 채팅에 전송합니다. |
| telegram_send_photo | 텔레그램 채팅에 사진을 전송합니다. URL 또는 file_id 사용 가능. Args: params (SendPhotoInput): - chat_id (int): 채팅 ID - photo (str): 이미지 URL 또는 Telegram file_id - caption (str): 이미지 설명 (선택, 최대 1024자) - parse_mode (str): 'Markdown' 또는 'HTML' (기본값: Markdown) Returns: str: 전송 성공 메시지 또는 에러 |
| telegram_send_document | 텔레그램 채팅에 파일(문서)을 전송합니다. URL 또는 file_id 사용 가능. Args: params (SendDocumentInput): - chat_id (int): 채팅 ID - document (str): 파일 URL 또는 Telegram file_id - caption (str): 파일 설명 (선택, 최대 1024자) - parse_mode (str): 'Markdown' 또는 'HTML' (기본값: Markdown) Returns: str: 전송 성공 메시지 또는 에러 |
| telegram_send_video | 텔레그램 채팅에 동영상을 전송합니다. URL 또는 file_id 사용 가능. |
| telegram_send_audio | 텔레그램 채팅에 오디오 파일을 전송합니다. URL 또는 file_id 사용 가능. |
| telegram_send_voice | 텔레그램 채팅에 음성 메시지를 전송합니다. .ogg OPUS 형식. |
| telegram_send_animation | 텔레그램 채팅에 GIF 또는 무음 MP4 애니메이션을 전송합니다. |
| telegram_send_video_note | 텔레그램 채팅에 둥근 비디오 메시지를 전송합니다. |
| telegram_send_media_group | 텔레그램 채팅에 사진/동영상 앨범(미디어 그룹)을 전송합니다. 2~10개. |
| telegram_send_sticker | 텔레그램 채팅에 스티커를 전송합니다. file_id 또는 URL 사용 가능. |
| telegram_get_chat | 채팅 ID로 채팅/그룹/채널의 상세 정보를 조회합니다. Args: params (GetChatInput): - chat_id (int): 조회할 채팅 ID Returns: str: 채팅 이름, 타입, 멤버 수, 설명 등의 JSON 정보 |
| telegram_get_chat_members_count | 채팅/그룹/채널의 총 멤버(구독자) 수를 조회합니다. Args: params (GetChatInput): - chat_id (int): 조회할 채팅 ID Returns: str: 멤버 수 또는 에러 |
| telegram_get_me | 현재 봇의 기본 정보(이름, username, id 등)를 조회합니다. Returns: str: 봇 정보 JSON 또는 에러 |
| telegram_pin_message | 채팅에서 특정 메시지를 고정합니다. (봇이 관리자 권한 필요) Args: params (PinMessageInput): - chat_id (int): 채팅 ID - message_id (int): 고정할 메시지 ID - disable_notification (bool): 알림 없이 고정 여부 (기본 False) Returns: str: 고정 성공 메시지 또는 에러 |
| telegram_unpin_message | 채팅에서 고정된 메시지를 해제합니다. (봇이 관리자 권한 필요) Args: params (UnpinMessageInput): - chat_id (int): 채팅 ID - message_id (int): 고정 해제할 메시지 ID (None이면 가장 최근 고정 메시지) Returns: str: 고정 해제 성공 메시지 또는 에러 |
| telegram_ban_user | 그룹/채널에서 특정 사용자를 차단합니다. (봇이 관리자 권한 필요) Args: params (BanUserInput): - chat_id (int): 그룹/채널 ID - user_id (int): 차단할 사용자 ID - until_date (int): 차단 해제 Unix 타임스탬프 (None=영구 차단) Returns: str: 차단 성공 메시지 또는 에러 |
| telegram_unban_user | 그룹/채널에서 차단된 사용자를 해제합니다. (봇이 관리자 권한 필요) Args: params (UnbanUserInput): - chat_id (int): 그룹/채널 ID - user_id (int): 차단 해제할 사용자 ID - only_if_banned (bool): 차단된 경우에만 해제 (기본 True) Returns: str: 차단 해제 성공 메시지 또는 에러 |
| telegram_send_chat_action | 채팅에 '입력 중...', '파일 업로드 중...' 등 상태 표시를 전송합니다. |
| telegram_send_poll | 텔레그램 채팅에 투표를 생성합니다. Args: params (SendPollInput): - chat_id (int): 채팅 ID - question (str): 투표 질문 (최대 300자) - options (list[str]): 선택지 목록 (2~10개) - is_anonymous (bool): 익명 투표 여부 (기본 True) - allows_multiple_answers (bool): 복수 선택 허용 (기본 False) Returns: str: 투표 생성 성공 메시지 또는 에러 |
| telegram_send_with_buttons | URL 링크 또는 콜백 버튼이 붙은 텔레그램 메시지를 전송합니다. 버튼 예시 (buttons 파라미터): [[{"text": "공식 사이트", "url": "https://example.com"}], [{"text": "확인", "callback_data": "ok"}, {"text": "취소", "callback_data": "cancel"}]] Args: params (SendInlineKeyboardInput): - chat_id (int): 채팅 ID - text (str): 메시지 내용 - buttons (list[list[dict]]): 버튼 2차원 배열 - parse_mode (str): 'Markdown' 또는 'HTML' (기본값: Markdown) Returns: str: 전송 성공 메시지 또는 에러 |
| telegram_answer_callback_query | 인라인 버튼 클릭(콜백 쿼리)에 대한 응답을 보냅니다. |
| telegram_send_location | 텔레그램 채팅에 지도 핀(위치 정보)을 전송합니다. Args: params (SendLocationInput): - chat_id (int): 채팅 ID - latitude (float): 위도 (예: 37.5665) - longitude (float): 경도 (예: 126.9780) Returns: str: 전송 성공 메시지 또는 에러 |
| telegram_send_venue | 텔레그램 채팅에 장소(위치+이름+주소)를 전송합니다. |
| telegram_send_contact | 텔레그램 채팅에 연락처(전화번호+이름)를 전송합니다. |
| telegram_send_dice | 텔레그램 채팅에 주사위/슬롯 등 랜덤 애니메이션을 전송합니다. |
| telegram_set_message_reaction | 메시지에 이모지 리액션을 설정하거나 제거합니다. |
| telegram_get_file | file_id로 파일 정보와 다운로드 URL을 조회합니다. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |