← همه کانکتورهای MCP تلگرام

opencode · SST

اتصال تلگرام به opencode

اِنترگرام را به‌عنوان یک سرور MCP در opencode، عامل هوش مصنوعی ترمینالی و متن‌باز SST، اضافه کنید و بگذارید روی حساب واقعی تلگرام شما کار کند — پیام‌های از دست رفته را نمایان کند، سرنخ‌های سردشده را پیگیری کند و از خط فرمان روی گفت‌وگوها عمل کند.

آدرس سرور MCP https://mcp.entergram.com/mcp

opencode سرورهای MCP را از فایل پیکربندی خودش بار می‌کند. سرور اِنترگرام را به‌عنوان یک سرور MCP از راه دور ثبت کنید تا عامل متن‌باز SST بتواند در ترمینال روی حساب شخصی واقعی تلگرام شما کار کند — محدودشده با OAuth، بدون حساب ربات و بدون کلید API.

پیکربندی آمادهٔ چسباندن

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "entergram": {
      "type": "remote",
      "url": "https://mcp.entergram.com/mcp",
      "enabled": true
    }
  }
}

چیزهایی از opencode بپرسید که هرگز نمی‌توانستید از تلگرام بپرسید

با اتصال حساب شخصی شما، opencode می‌تواند از ترمینال روی همه گفت‌وگوها عمل کند. این درخواست‌ها را امتحان کنید:

  • «یک کانال حادثه باز کن و هر کسی را که کشیک است داخلش بیاور.»
  • «خلاصه deploy را در کانال به‌روزرسانی مشتری‌ها منتشر کن.»
  • «پیش از اینکه انتشار را ببندم چند تیکت هنوز باز است؟»
  • «گفت‌وگوهایی که به مهاجرت اشاره دارند را پیدا کن و نگرانی‌ها را خلاصه کن.»
  • «یک یادداشت با نقشه بازگشت به آن رشته اضافه کن.»
  • «چه کسی در گروه بتا به اعلان ارتقا جواب نداده؟»

اتصال opencode در ۳ گام

با TUI و CLI در opencode کار می‌کند.

  1. 01

    آدرس MCP خود را در اِنترگرام کپی کنید

    اندپوینت خود را در اِنترگرام از مسیر Settings → Workspace → Connectors → MCP کپی کنید. opencode آن را از دل opencode.json می‌خواند، پس آن را در یک فایل جای‌گذاری می‌کنید نه در یک کادر ورودی.

  2. 02

    افزودن سرور در opencode.json

    در فایل opencode.json خود، اِنترگرام را زیر کلید "mcp" به‌عنوان یک سرور از راه دور اضافه کنید که به آدرس MCP اِنترگرام اشاره می‌کند: https://mcp.entergram.com/mcp.

  3. 03

    تأیید دسترسی و اجرا

    opencode را اجرا کنید، با حساب اِنترگرام خود وارد شوید و روی Allow access کلیک کنید تا دسترسی محدودشده بدهید. از آن پس opencode می‌تواند در نشست‌هایش حساب تلگرام شما را بخواند و روی آن عمل کند.

سراسری، به‌ازای پروژه، یا بدون رابط

سراسری — ~/.config/opencode/opencode.json

یک مدخل که به هر مخزنی که باز می‌کنید دنبالتان می‌آید. این جای درست یک مجوز شخصی است: سرور چه در یک پروژه کاری باشید چه در پروژه آخر هفته در دسترس است، و به‌جای یک‌بار به‌ازای هر checkout، فقط یک‌بار مجوز می‌دهید.

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "entergram": {
      "type": "remote",
      "url": "https://mcp.entergram.com/mcp",
      "enabled": true
    }
  }
}

به‌ازای پروژه — opencode.json در ریشه مخزن

کنار کد commit می‌شود، پس هر کسی مخزن را clone کند سرور را اعلام‌شده تحویل می‌گیرد بی‌آنکه کسی به او بگوید. هیچ چیز محرمانه‌ای به اشتراک گذاشته نمی‌شود — این فایل یک اندپوینت را نام می‌برد و بس، و هر هم‌تیمی همچنان ورود خودش را با دسترسی‌های خودش کامل می‌کند. پیکربندی پروژه روی فایل سراسری لایه می‌گذارد، پس یک تعریف نگه دارید نه دو تعریف رقیب.

بدون رابط — opencode run

همان دلیلی که این کانکتور از اول به یک عامل ترمینالی می‌آید. یک فراخوانی غیرتعاملی داخل یک اسکریپت deploy، یک هدف Makefile یا یک گام CI جا می‌شود، و این‌طور است که اعلان انتشار دیگر به یادِ کسی برای فرستادنش وابسته نیست.

opencode run "post the release summary for v2.14 in the customer channel"

انتشار، از همان پوسته

یک عامل ترمینالی درست در لحظه‌هایی به کار می‌آید که بازکردن اپ چت تمرکز را می‌شکند: بلافاصله بعد از یک deploy، وسط یک حادثه، یا پایان روزی که می‌خواهید بدانید چه چیزی هنوز باز مانده. این اجراها همان زمینه را فرض می‌گیرند — درخواست‌های کوتاه، فقط صفحه‌کلید، و کانکتوری که همان بخشی را انجام می‌دهد که وگرنه آن‌قدر عقب می‌انداختیدش تا بی‌اهمیت شود. هر کدام به مشتی فراخوانی نام‌دار نگاشت می‌شود که در لاگ نشست چاپ می‌شوند، و همین باعث می‌شود بعد از اینکه یک‌بار دستی کارکردنشان را دیدید، بی‌خطر بشود مستقیم به یک اسکریپت منتقلشان کرد.

شما می‌پرسید

«deploy تمام شد. نسخه و لینک changelog را در کانال انتشار بگذار.»

ابزارهای فراخوانی‌شده

entergram_list_accountsentergram_list_groupsentergram_send_message

دریافت می‌کنید

اعلان از همان پوسته‌ای بیرون می‌رود که deploy را اجرا کرده، چند ثانیه بعد از موفقیتش نه یک ساعت بعد. عامل مشخص می‌کند کدام حساب متصل می‌تواند پست بگذارد، کانال را با نام پیدا می‌کند تا شناسه‌اش هرگز مجبور نباشد در اسکریپت شما زندگی کند، و می‌فرستد. آن را به هدف deploy سیم بکشید تا این گام دیگر اختیاری نباشد.

شما می‌پرسید

«شماره build را در آن اعلان اشتباه زدم — همان‌جا درستش کن.»

ابزارهای فراخوانی‌شده

entergram_list_messagesentergram_get_messageentergram_edit_message

دریافت می‌کنید

اصلاح خود پیام از گذاشتن یک تصحیح زیرش بهتر است. عامل در تاریخچه اخیر عقب می‌رود تا پیام را شناسایی کند، پیش از دست‌زدن محتوایش را تأیید می‌کند و ویرایشش می‌کند، تا هر کسی فردا از کنارش رد شود عدد درست را بخواند نه رشته‌ای از اصلاحیه‌ها.

شما می‌پرسید

«برای این یک اتاق حادثه باز کن و هر کسی را که کشیک است داخلش بیاور.»

ابزارهای فراخوانی‌شده

entergram_create_group_chatentergram_list_membersentergram_invite_chat_members

دریافت می‌کنید

سی ثانیه آماده‌سازی که هیچ‌کس دلش نمی‌خواهد وقتی سامانه پایین است انجامش دهد. یک گروه ساخته می‌شود، فهرست اعضای فضای کاری خوانده می‌شود تا آدم‌هایی که نام برده‌اید مشخص شوند و دعوت‌ها بیرون می‌روند. شما به لاگ‌ها برمی‌گردید در حالی که هماهنگی به‌جای نیمه‌کاره، انجام‌شده است.

شما می‌پرسید

«اطلاعیه تعمیرات جمعه را به هر گروه مشتری که ندیده‌اش فوروارد کن.»

ابزارهای فراخوانی‌شده

entergram_list_groupsentergram_list_messagesentergram_forward_messages

دریافت می‌کنید

فوروارد‌کردن اصل پیام باعث می‌شود همه گروه‌ها دقیقاً یک متن بخوانند، و برای یک پنجره تعمیرات دقیقاً همین را می‌خواهید و تایپ دوباره دقیقاً همین را خراب می‌کند. عامل پیش از پخش بررسی می‌کند کدام گروه‌ها قبلاً گرفته‌اندش، تا کسی یک اطلاعیه را دوبار نگیرد.

شما می‌پرسید

«این گزارش‌دهنده در بعضی از انجمن‌های ماست — کدام‌ها، و چه کسان دیگری از فهرست ما در آن‌ها هستند؟»

ابزارهای فراخوانی‌شده

entergram_list_contactsentergram_get_contactentergram_list_contact_shared_groups

دریافت می‌کنید

جست‌وجوی گروه‌های مشترک به پرسشی جواب می‌دهد که خود تلگرام نمی‌دهد: هم‌پوشانی شما با یک نفر دقیقاً کجاست. وقتی یک گزارش باگ به زمینه‌ای درباره اینکه گزارش‌دهنده احتمالاً چقدر پرصدا خواهد بود نیاز دارد به کار می‌آید، و باز هم وقتی دارید تصمیم می‌گیرید یک راه‌حل موقت را یک‌بار در یک انجمن مشترک بگذارید یا ده بار دستی در رشته‌های خصوصی تکرارش کنید.

شما می‌پرسید

«پیش از اینکه انتشار را ببندم، چند تیکت باز به این milestone برچسب خورده؟»

ابزارهای فراخوانی‌شده

entergram_list_ticket_custom_columnsentergram_list_ticketsentergram_get_ticket

دریافت می‌کنید

یک بررسی آمادگی انتشار که یک خط می‌گیرد و هیچ داشبوردی نمی‌خواهد. عامل شمای تیکت شما را می‌خواند تا ستون milestone را پیدا کند، تیکت‌های باز را بر اساس آن فیلتر می‌کند و تعداد را همراه با عنوان‌ها گزارش می‌دهد. آن را اولین گام اسکریپت انتشارتان کنید تا یک تیکت مسدودکننده جلوی tag را بگیرد، نه اینکه بعد از آن سر و کله‌اش پیدا شود.

opencode با تلگرام شما چه کارهایی می‌تواند بکند

  • راندن کامل تلگرام از روی صفحه‌کلید
  • اعلام یک deploy در کانال مشتری‌ها بلافاصله بعد از انتشار
  • بازکردن کانال حادثه و دعوت افراد پاسخ‌گو
  • شمردن تیکت‌های باز پیش از بستن یک انتشار
  • پیکربندی سراسری یا به‌ازای هر پروژه از طریق opencode.json
  • اجرای غیرتعاملی برای کارهای اسکریپتی

هفتاد ابزار، بدون نصب هیچ چیز به‌صورت محلی

میزبانی سرور با اِنترگرام است، پس opencode نُه گروه ابزار را بدون اضافه‌شدن حتی یک وابستگی به ماشین یا ایمیج CI شما تحویل می‌گیرد — نه پروسه پل، نه محیط پایتون، نه اعتبارنامه‌ای در مخزن. هرچه پایین می‌بینید، همان لحظه‌ای که مجوز وجود داشته باشد و در همان سطح دسترسی‌ای که انتخاب کرده‌اید در دسترس است، و همین فهرست برای یک نشست تعاملی و یک اجرای یک‌باره یکسان است.

حساب‌ها و فضای کاری

5 ابزار

شناسایی هویت و دامنه دسترسی. هر فراخوانی مربوط به پیام‌ها ابتدا به یک account_id از list_accounts نیاز دارد — کلاینت هوش مصنوعی که این گام را رد کند، سراغ حساب تلگرام اشتباهی می‌رود.

  • entergram_get_me
  • entergram_list_accounts
  • entergram_get_workspace
  • entergram_get_member
  • entergram_list_members

گفت‌وگوها و یافتن آن‌ها

8 ابزار

برای پیدا کردن گفت‌وگوها. نماهای فضای کاری وضعیت CRM را می‌آورند (تیکت‌ها، کامنت‌ها، فیلدهای سفارشی) و نماهای زنده وضعیت جاری انتقال در تلگرام و شمار پیام‌های خوانده‌نشده را.

  • 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

پیام‌ها

9 ابزار

خواندن و نوشتن تاریخچه پیام‌ها، شامل ویرایش، فوروارد و ری‌اکشن. ارسال به هر حساب محدود است، بنابراین هیچ چیزی به‌طور سراسری میان حساب‌های متصل شما اعمال نمی‌شود.

  • 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

مخاطبین

3 ابزار

اینکه با چه کسی حرف می‌زنید و کجای دیگر با او هم‌پوشانی دارید. جست‌وجوی گروه‌های مشترک همان چیزی است که پرسش‌هایی مانند «کدام سرنخ‌های من در یک انجمن مشترک‌اند؟» را پاسخ‌پذیر می‌کند.

  • entergram_list_contacts
  • entergram_get_contact
  • entergram_list_contact_shared_groups

تیکت‌ها

10 ابزار

کنترل کامل میز پشتیبانی: باز کردن، ارجاع، اولویت‌بندی، کامنت‌گذاری و بستن. هر تیکت به گفت‌وگویی که از آن آمده پیوند می‌خورد، پس یک کلاینت هوش مصنوعی در یک گام از گفت‌وگو به صف پشتیبانی می‌رسد.

  • 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

11 ابزار

ساختار قیف فروش شما. پیش از نوشتن مقادیر، ستون‌ها را بخوانید — چک‌باکس‌ها مقدار boolean می‌گیرند، چندانتخابی‌ها آرایه‌ای از مقادیر گزینه‌ها، و تاریخ‌ها رشته‌های ISO 8601.

  • 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

فیلدهای سفارشی تیکت

9 ابزار

همان کنترل ساختار در سمت تیکت — دسته‌بندی‌ها، سطوح شدت، پله‌های SLA و هر چیز دیگری که میز پشتیبانی شما فراتر از وضعیت و اولویت دنبال می‌کند.

  • 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

یادداشت‌های داخلی

4 ابزار

کامنت‌هایی روی یک گفت‌وگو که مشتری شما هرگز آن‌ها را نمی‌بیند. کاربردی برای اینکه یک کلاینت هوش مصنوعی استدلالش را جا بگذارد و همکار انسانی آن را ادامه دهد.

  • entergram_list_chat_comments
  • entergram_create_chat_comment
  • entergram_update_chat_comment
  • entergram_delete_chat_comment

گروه‌ها و کانال‌ها

11 ابزار

ساخت و مدیریت گروه‌ها و کانال‌های تلگرام — عضویت، دسترسی‌ها، حریم خصوصی و اطلاعات — به‌علاوه یک راه گریز برای اجرای دستور خام برای باقی موارد.

  • 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

امنیت سمت ترمینال، در یک پاراگراف

هیچ چیز حساسی سر از dotfiles شما درنمی‌آورد. فایل opencode.json یک آدرس و یک پرچم دارد؛ خود اعتبارنامه پس از یک ورود مرورگری در فضای ذخیره‌سازی احراز هویت خود opencode نگه داشته می‌شود، و نشست تلگرام شما درون اِنترگرام می‌ماند جایی که نه SST می‌بیندش و نه ارائه‌دهنده مدل. اگر ماشینی گم شد یا یک runner در CI از رده خارج شد، مجوز را از اِنترگرام در مسیر Settings → Workspace → Connectors → MCP بکشید و هر نشستی روی آن دستگاه در فراخوانی بعدی‌اش دسترسی را از دست می‌دهد.

عامل شخصی
پیش‌فرض ترمینال یک توسعه‌دهنده، و بدون هیچ گام تأییدی در دسترس هر عضو. خواندن شامل رکورد فضای کاری، حساب‌های متصل شما، مخاطبین، گفت‌وگوها، تاریخچه پیام‌ها و صف تیکت‌هاست؛ نوشتن محدود است به فیلدهای سفارشی گفت‌وگوهایی که حساب‌های خودتان مالکشان‌اند. برای غربال، خلاصه روزانه و بررسی آمادگی انتشار کافی است و عمداً کوتاه‌تر از هر چیزی که با مشتری حرف بزند.
connector فضای کاری
ساختش با owner یا admin است و هر دسترسی‌ای را که سرور تعریف می‌کند در خود دارد: ارسال، ویرایش، فوروارد، نوشتن روی تیکت‌ها، نوشتن فیلد سفارشی در هر جای فضای کاری، و مدیریت گروه. اگر قرار است یک اسکریپت deploy بدون حضور یک آدم در حلقه در کانال مشتری پست بگذارد، همین سطح را لازم دارد.
لغو دسترسی
فوری، و عمداً یک‌طرفه. برای قطع دسترسی لازم نیست به ماشینی که opencode را اجرا می‌کند دسترسی داشته باشید — لغو در اِنترگرام مجوز را هر جا که ذخیره شده باشد باطل می‌کند، و وقتی runner یک ماشین CI است نه لپ‌تاپ روی میزتان، تمام نکته همین است.

محدودیت‌های یک کانکتور بومیِ ترمینال

بیشترشان درباره فاصله میان یک نشست تعاملی و یک نشست خودکارند، همان فاصله‌ای که یک عامل ترمینالی تمام عمرش را روی مرزش می‌گذراند. هیچ‌کدام مانع نیستند؛ همه‌شان یادگرفتنشان اینجا ارزان‌تر از داخل یک pipeline است.

  • اولین مجوزدهی به مرورگر نیاز دارد. یک فراخوانی اسکریپتی نمی‌تواند صفحه رضایت را کامل کند، پس یک‌بار در یک نشست تعاملی مجوز بدهید و بگذارید مجوز ذخیره‌شده اجراهای بعدی را حمل کند.
  • یک opencode.json که commit شده آدرس را به اشتراک می‌گذارد، نه دسترسی را. هم‌تیمی‌هایی که مخزن را pull می‌کنند هر کدام ورود خودشان را انجام می‌دهند و توکنشان دسترسی‌های خودشان را حمل می‌کند نه دسترسی‌های شما.
  • سمت ما هیچ زمان‌بندی وجود ندارد. opencode با پایان اجرا خارج می‌شود، پس هر چیز تکرارشونده — خلاصه شبانه، اعلان بعد از deploy — مدخل cron یا گام pipeline شماست، نه چیزی که اِنترگرام خودش راه بیندازد.
  • MCP بخشی از پلن Pro است. روی هر چیز پایین‌تر، سرور همچنان به دست‌دادن پاسخ می‌دهد و همین باعث می‌شود خرابی شبیه یک باگ پیکربندی به نظر برسد، در حالی که مسئله صورت‌حساب است.
  • نوشتن‌ها به وجود قبلی ستون نیاز دارند. عامل می‌تواند یک فیلد رهگیری انتشار را روی یک گفت‌وگو پر کند، اما ساختن آن فیلد اقدامی در سطح connector فضای کاری است و از یک مجوز شخصی برنمی‌آید.
  • آدرس‌دهی به‌ازای هر حساب اجباری است. عادت‌های ترمینالی انتظار یک پیش‌فرض معقول دارند و چنین چیزی وجود ندارد، پس نام حساب را در درخواست بیاورید وگرنه عامل خودش آن را از فهرست حساب‌ها حل می‌کند.

رفع اشکال connector opencode

opencode بالا می‌آید اما هیچ ابزار اِنترگرامی فهرست نمی‌کند
بررسی کنید مدخل زیر بلوک mcp نشسته باشد، type روی remote و enabled روی true تنظیم شده باشد — مدخلی که یکی از این‌ها را نداشته باشد بی‌هیچ توضیحی تجزیه و رد می‌شود. پیکربندی موقع راه‌اندازی خوانده می‌شود، پس بعد از ویرایش نشست را دوباره اجرا کنید.
opencode بعد از ویرایش اصلاً بالا نمی‌آید
خط $schema را نگه دارید و فایل را از یک تجزیه‌گر JSON رد کنید. ویرگول اضافه در انتها علت معمول است و خطای راه‌اندازی معمولاً نام فایل را می‌گوید نه خط ایراددار.
یک اجرای اسکریپتی روی مجوزدهی معلق می‌ماند
اجراهای غیرتعاملی نمی‌توانند صفحه رضایت باز کنند. یک‌بار opencode را تعاملی اجرا کنید، ورود به اِنترگرام را کامل کنید و از آن پس مجوز ذخیره‌شده اجراهای اسکریپتی را حمل می‌کند.
پیکربندی اشتباهی فعال است
یک opencode.json در سطح پروژه روی فایل سراسری در ~/.config/opencode/ لایه می‌گذارد. اگر هم‌تیمی‌ای مدخلی commit کرده باشد، همان است که استفاده می‌شود — به‌جای اضافه‌کردن یک سرور دوم با نامی دیگر، این دو را با هم آشتی بدهید.
پیام‌ها جای اشتباهی می‌نشینند
هم حساب و هم گفت‌وگوی مقصد را در درخواست نام ببرید. entergram_list_accounts اولی را حل می‌کند، اما هیچ چیز در یک نشست ترمینالی دلالت بر یک پیش‌فرض ندارد و یک اجرای یک‌باره نمی‌ایستد از شما بپرسد.
فراخوانی‌ها بعد از چند روز شکست خوردند
توکن‌ها منقضی می‌شوند. opencode را تعاملی اجرا کنید و دسترسی را دوباره تأیید کنید — فایل پیکربندی تغییری نمی‌کند، فقط مجوزی که پشتش نشسته.

پرسش‌های متداول opencode و تلگرام

opencode چطور به سرورهای MCP وصل می‌شود؟
opencode سرورهای MCP را از فایل پیکربندی‌اش می‌خواند. اِنترگرام را به‌عنوان یک سرور از راه دور با آدرس MCP اضافه کنید و از طریق OAuth دسترسی بدهید.
آیا این یک ربات تلگرام است؟
نه. در این راه‌اندازی هیچ توکن رباتی وجود ندارد — سرور MCP میزبانی‌شده به‌جای حساب تلگرام خودتان عمل می‌کند، و برای همین می‌تواند تاریخچه‌ای را بخواند که یک ربات هرگز نمی‌توانست.
آیا امن است؟
بله. OAuth 2.0 با دسترسی‌های محدودشده؛ شما تصمیم می‌گیرید opencode به چه چیزی دسترسی داشته باشد و هر زمان می‌توانید آن را لغو کنید.
آیا opencode می‌تواند اقدامات چندمرحله‌ای تلگرام را اجرا کند؟
بله. opencode به‌عنوان یک عامل ترمینالی خودگردان می‌تواند در یک اجرا مراحل را زنجیر کند — خواندن گفت‌وگوهای بی‌پاسخ، پیش‌نویس پاسخ‌ها و بازکردن تیکت — و پیش از ارسال هر چیزی برای تأیید شما می‌ایستد.