DevOps & ChatOps

سلیک MCP سرور: ٹیم ایجنٹ ورک فلوز اور ChatOps گائیڈ

فوری جواب: Slack MCP سرور Anthropic کے Model Context Protocol کے ذریعے AI کوڈنگ ایجنٹس (Claude Code، Cursor، Windsurf) اور خود مختار بوٹس کو سلیک ورک اسپیس کے ساتھ مربوط کرتا ہے۔ یہ چینل میسجنگ، تھریڈ ہسٹری کے تجزیے، اور Block Kit پر مبنی انسانی منظوری (Human-in-the-Loop) کے ٹولز فراہم کر کے سلیک کو سخت OAuth2 حدود میں ایک محفوظ ChatOps کنٹرول سینٹر میں تبدیل کرتا ہے۔


1۔ تعارف: روایتی چیٹ بوٹس سے 2026 کے خود مختار ChatOps کا سفر

جدید سافٹ ویئر انجینئرنگ ٹیموں میں سلیک روزمرہ کے کام کا مرکزی اعصابی نظام ہے: پل ریکوئسٹ کے الرٹس، CI/CD پائپ لائن کی ناکامیاں، PagerDuty کے حادثاتی انتباہات اور آرکیٹیکچرل مباحثے سب مخصوص چینلز میں اکٹھے ہوتے ہیں۔ تاہم ماضی میں آٹومیشن کے ذریعے سلیک کا انتظام خاصا تکلیف دہ رہا ہے۔

پرانے سلیک بوٹس سخت قواعد اور غیر مستحکم ویب ہکس پر منحصر تھے۔ جب بھی کوئی الرٹ آتا تھا، انجینئرز کو:

  • اپنے IDE سے سلیک میں بار بار سیاق و سباق بدلنا پڑتا تھا۔
  • حادثے کی ٹائم لائن سمجھنے کے لیے سیکڑوں غیر منظم تھریڈ پیغامات کو چھاننا پڑتا تھا۔
  • ایرر لاگز کا Git کمٹس اور Kubernetes میٹرکس کے ساتھ دستی موازنہ کرنا پڑتا تھا۔
  • پروڈکشن میں ڈیپلائمنٹ کی منظوری دینے کے لیے ٹرمینل میں طویل CLI کمانڈز درج کرنی پڑتی تھیں۔

Model Context Protocol (MCP) کی آمد نے لارج لینگویج ماڈلز (LLMs) کے سافٹ ویئر ٹولز اور APIs کے ساتھ رابطے کو باقاعدہ اور معیاری بنا دیا ہے۔ علیحدہ سرورز یا نازک ویب ہکس بنانے کے بجائے، ٹیمیں اب معیاری Slack MCP سرور تعینات کر سکتی ہیں۔

سلیک کو Claude Code، Cursor IDE، Windsurf یا خود مختار ایجنٹس کے لیے بطور mcp tool پیش کر کے ٹیمیں حقیقی ChatOps MCP پائپ لائنز بنا سکتی ہیں۔ خود مختار slack bot ai agent درج ذیل کام کر سکتے ہیں:

  1. انتظامی رپورٹس تیار کرنے کے لیے متعدد چینلز کے تھریڈز کا فوری خلاصہ نکالنا۔
  2. ہنگامی حادثاتی رسپانس کو خودکار بنانا: بحرانی چینل (War Room) بنانا، آن کال انجینئرز کو شامل کرنا، ٹیلی میٹری حاصل کرنا اور رن بک تیار کرنا۔
  3. پرخطر ڈیٹا بیس مائیگریشنز سے قبل Slack Block Kit UI کے ذریعے انسانی منظوری (Human-in-the-Loop, HITL) کو یقینی بنانا۔
  4. سلیک سیاق و سباق کو GitHub PRs، Sentry کی خرابیوں اور ڈیٹا بیس لاگز کے ساتھ ملا کر جامع تحقیقات کرنا۔
+----------------------------------------------------------------------------------------------------+
|                         جدید خود مختار CHATOPS آرکیٹیکچر (SLACK MCP)                                |
+----------------------------------------------------------------------------------------------------+
                                                 |
             +-----------------------------------+-----------------------------------+
             |                                                                       |
             v                                                                       v
+-------------------------------+                                   +-------------------------------+
|         انجینئرنگ ٹیم         |                                   |     مانیٹرنگ اور مشاہداتی نظام|
| - سلیک چینلز اور تھریڈ بحثیں  |                                   | - Datadog / Sentry / CloudWatch|
| - انٹرایکٹو بٹن پر کلک منظوری |                                   | - CI/CD الرٹس (GitHub/GitLab) |
+---------------+---------------+                                   +---------------+---------------+
                |                                                                   |
                | پیغامات اور منظوریوں کا تبادلہ                                    | الرٹ ویب ہکس بھیجتا ہے
                v                                                                   v
+----------------------------------------------------------------------------------------------------+
|                                    SLACK API اور ورک اسپیس انفراسٹرکچر                             |
|             (Web API, Socket Mode, Block Kit انجن, ایونٹ سبسکرپشنز, OAuth2 اسکوپس)               |
+-------------------------------------------------+--------------------------------------------------+
                                                 |
                                                 | ماڈل کنٹیکسٹ پروٹوکول (stdio / SSE JSON-RPC 2.0)
                                                 v
+----------------------------------------------------------------------------------------------------+
|                                         SLACK MCP سرور                                             |
|                               (@modelcontextprotocol/server-slack)                                 |
|                                                                                                    |
|  دستیاب MCP ٹولز:                                                                                  |
|  - slack_post_message           - slack_get_channel_history       - slack_list_channels            |
|  - slack_post_reply             - slack_get_thread_replies        - slack_add_reaction             |
|  - slack_post_block_approval    - slack_get_user_profile          - slack_search_messages          |
+-------------------------------------------------+--------------------------------------------------+
                                                 |
             +-----------------------------------+-----------------------------------+
             |                                                                       |
             v                                                                       v
+-------------------------------+                                   +-------------------------------+
|     ڈویلپر ڈیسک ٹاپ کلائنٹس   |                                   |        خود مختار بیک گراؤنڈ ڈیمنز|
| - Claude Code CLI             |                                   | - حادثاتی ٹرائیج ایجنٹ سوارمز |
| - Cursor IDE / Windsurf       |                                   | - ریلیز گیٹ کیپر ایجنٹس       |
| - Roo Code / Cline ایکسٹینشنز |                                   | - OpenClaw / LangGraph بوٹس    |
+-------------------------------+                                   +-------------------------------+

2۔ آرکیٹیکچر: Slack Model Context Protocol سرور کیسے کام کرتا ہے

Slack MCP سرور مقامی CLI اور IDEs کے لیے معیاری ان پٹ/آؤٹ پٹ (stdio) اور کلاؤڈ مائیکرو سروسز کے لیے Server-Sent Events (SSE) پر کام کرتا ہے۔

ایگزیکیوشن لائف سائیکل

  1. ہینڈ شیک اور ٹول کی دریافت (Handshake):
  2. سیمنٹک ریزننگ اور ٹول کال:
  3. ویب API ترجمانی اور ریٹ لمیٹ ہینڈلنگ:
  4. سیاق و سباق کی اصلاح:
  5. کارروائی اور رپورٹ پوسٹ کرنا:

3۔ اہم ٹولز کی فہرست

ٹول کا نام Slack API طریقہ تفصیل پیرامیٹرز ٹوکن اوورہیڈ
slack_list_channels conversations.list بوٹ کے لیے دستیاب چینلز کی فہرست لاتا ہے types, limit, cursor ~210 tokens
slack_post_message chat.postMessage چینل میں فارمیٹ شدہ پیغام یا Block Kit بھیجتا ہے channel_id, text, blocks ~260 tokens
slack_post_reply chat.postMessage کسی مخصوص تھریڈ کے اندر جواب دیتا ہے channel_id, thread_ts, text ~240 tokens
slack_get_channel_history conversations.history چینل کے حالیہ پیغامات حاصل کرتا ہے channel_id, limit, oldest ~290 tokens
slack_get_thread_replies conversations.replies تھریڈ کے تمام پیغامات حاصل کرتا ہے channel_id, thread_ts, limit ~275 tokens
slack_add_reaction reactions.add اسٹیٹس ایموجی کا اضافہ کرتا ہے (:eyes:, :white_check_mark:) channel_id, timestamp, name ~180 tokens
slack_get_user_profile users.profile.get یوزر آئی ڈی کو اصل نام اور ای میل میں بدلتا ہے user_id ~190 tokens
slack_search_messages search.messages ورک اسپیس میں سیمنٹک سرچ (User Token درکار ہے) query, sort, count ~310 tokens

4۔ مرحلہ وار انسٹالیشن گائیڈ

  1. سلیک ایپ کی تیاری: api.slack.com/apps پر جائیں، مینی فیسٹ کی مدد سے ایپ بنائیں، مطلوبہ بوٹ اسکوپس منتخب کریں اور ورک اسپیس میں انسٹال کر کے xoxb- ٹوکن حاصل کریں۔
  2. Claude Code میں شمولیت:
  3. Cursor IDE اور Windsurf: ~/.cursor/mcp.json فائل میں سرور تشکیل دیں۔

5۔ خودکار حادثاتی ٹرائیج اسکرپٹ

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

interface IncidentPayload {
  service: string;
  severity: "P1" | "P2" | "P3";
  errorRate: number;
  triggerTimestamp: string;
}

export class IncidentCommanderAgent {
  private slackClient!: Client;

  async initialize() {
    const transport = new StdioClientTransport({
      command: "npx",
      args: ["-y", "@modelcontextprotocol/server-slack"],
      env: {
        SLACK_BOT_TOKEN: process.env.SLACK_BOT_TOKEN || "",
      },
    });

    this.slackClient = new Client(
      { name: "incident-commander", version: "1.0.0" },
      { capabilities: {} }
    );
    await this.slackClient.connect(transport);
  }

  async handleIncident(incident: IncidentPayload, onCallUserId: string) {
    const channelId = "C08_INCIDENTS";
    
    // 1. ابتدائی ہنگامی الرٹ پوسٹ کریں
    const alertResult = await this.slackClient.callTool({
      name: "slack_post_message",
      arguments: {
        channel_id: channelId,
        text: `<!here> :rotating_light: *ہنگامی واقعہ کا پتہ چلا*: سروس \`${incident.service}\` میں خرابی کی شرح ${incident.errorRate}% تک پہنچ گئی ہے!`,
      },
    });

    const threadTs = (alertResult.content as any)[0].text.ts;

    // 2. تحقیقات کا اسٹیٹس ری ایکشن
    await this.slackClient.callTool({
      name: "slack_add_reaction",
      arguments: {
        channel_id: channelId,
        timestamp: threadTs,
        name: "eyes",
      },
    });

    // 3. تشخیصی رپورٹ تھریڈ میں پوسٹ کریں
    const diagnosticReport = [
      `*خودکار تجزیاتی رپورٹ* برائے \`${incident.service}\`:`,
      `• *وقت*: ${incident.triggerTimestamp}`,
      `• *بنیادی وجہ*: \`checkout-pg-pool\` ڈیٹا بیس کنکشنز کی شدید قلت۔`,
      `• *آن کال ذمہ دار*: <@${onCallUserId}>`,
      `• *تجویز کردہ اقدام*: بیکار سیشنز ختم کریں اور پول سائز 50 سے بڑھا کر 120 کریں۔`,
    ].join("\n");

    await this.slackClient.callTool({
      name: "slack_post_reply",
      arguments: {
        channel_id: channelId,
        thread_ts: threadTs,
        text: diagnosticReport,
      },
    });
  }
}

6۔ Block Kit کے ذریعے انسانی منظوری (Human-in-the-Loop)

{
  "channel": "C08_PROD_APPROVALS",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "🚨 خود مختار ایجنٹ: پروڈکشن مائیگریشن منظوری کی درخواست",
        "emoji": true
      }
    },
    {
      "type": "section",
      "fields": [
        {
          "type": "mrkdwn",
          "text": "*ہدف ماحول:*\n`production-us-east-1`"
        },
        {
          "type": "mrkdwn",
          "text": "*درخواست گزار ایجنٹ:*\n`claude-code-migration-runner`"
        },
        {
          "type": "mrkdwn",
          "text": "*تبدیلی کی کمانڈ:*\n`ALTER TABLE users ADD COLUMN passkey_hash VARCHAR(255);`"
        },
        {
          "type": "mrkdwn",
          "text": "*متوقع لاک کا وقت:*\n`< 120ms`"
        }
      ]
    },
    {
      "type": "actions",
      "elements": [
        {
          "type": "button",
          "text": {
            "type": "plain_text",
            "text": "منظور اور لاگو کریں",
            "emoji": true
          },
          "style": "primary",
          "value": "approved_migration_49182",
          "action_id": "approve_migration"
        },
        {
          "type": "button",
          "text": {
            "type": "plain_text",
            "text": "مسترد کریں",
            "emoji": true
          },
          "style": "danger",
          "value": "rejected_migration_49182",
          "action_id": "reject_migration"
        }
      ]
    }
  ]
}

7۔ سیکیورٹی اور معاشی فوائد (ROI)

  • Bot Token (xoxb-) کا استعمال: محدود دائرہ اختیار اور شفاف آڈٹ ٹریل فراہم کرتا ہے۔
  • مالی بچت: 10 رکنی انجینئرنگ ٹیم کے لیے ماہانہ ماڈل لاگت صرف $15.44 ہے، جبکہ یہ انجینئرز کے 8.75 گھنٹے ($831.25 کی مالیت) بچاتی ہے، جو 53.8 گنا خالص ROI بنتی ہے۔
  • خرابی کا حل: اگر not_in_channel کا ایرر آئے تو چینل میں /invite @AgentOps چلائیں۔ نئی اجازتیں شامل کرنے پر ایپ کو دوبارہ انسٹال کریں۔
→ تمام مضامین
0 / 4