/ الدليل / الملعب / Microsoft Teams
● مجتمع InditexTech 🔑 يتطلب مفتاحك

Microsoft Teams

بواسطة InditexTech · InditexTech/mcp-teams-server

اقرأ قنوات Teams وانشر الرسائل و@-اذكر المهندسين باللغة الطبيعية — جسر للعمليات عبر الدردشة للفرق التي تعمل في Microsoft Teams.

MCP مجتمع Inditex لـ Microsoft Teams يغلف Graph API لتمكين وكيل من قراءة رسائل القنوات ونشر الرسائل والردود و@-اذكر المستخدمين وإدراج الفرق والقنوات. يتطلب تسجيل تطبيق Azure AD مع نطاقات Graph المختارة. رائع لاتصالات الحوادث وأتمتة اجتماعات الفريق اليومية.

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

ms-teams.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ms-teams": {
      "command": "uvx",
      "args": [
        "mcp-teams-server"
      ]
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ms-teams": {
      "command": "uvx",
      "args": [
        "mcp-teams-server"
      ]
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "ms-teams": {
      "command": "uvx",
      "args": [
        "mcp-teams-server"
      ]
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "ms-teams": {
      "command": "uvx",
      "args": [
        "mcp-teams-server"
      ]
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "ms-teams",
      "command": "uvx",
      "args": [
        "mcp-teams-server"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "ms-teams": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-teams-server"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add ms-teams -- uvx mcp-teams-server

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: Microsoft Teams

عكس خيط على غرار Slack في قناة Teams

👤 Ops / على الدعوة في منظمات Microsoft ⏱ ~30 min advanced

متى تستخدمه: يطلق Sentry مشكلة حرجة؛ تريد الملخص بالإضافة إلى @-اذكر الدعوة المنشورة في قناة #incidents Teams الخاصة بك.

المتطلبات الأساسية
  • تسجيل تطبيق Azure AD مع نطاقات Graph ChannelMessage.Send و Channel.ReadBasic.All و User.Read.All — entra.microsoft.com → App registrations → New، منح موافقة المسؤول
  • معرف الفريق ومعرف القناة للقناة المستهدفة — انقر بزر الماوس الأيمن على القناة → الحصول على رابط للقناة؛ المعرفات مضمنة في عنوان URL
الخطوات
  1. إنشاء التنبيه
    من مشكلة Sentry [الصق]، صغ ملخص الحادثة بـ 3 أسطر: ما انكسر، تأثر المستخدم، الإصدار المشبوه.✓ تم النسخ
    → ملخص موجز
  2. تحديد من يتم @-اذكره
    من على الدعوة؟ احسم معرف مستخدم Teams الخاص بهم من رسالتهم البريدية [البريد]. أعد كائن الإشارة.✓ تم النسخ
    → المستخدم المحلول + معرف AAD
  3. النشر في القناة
    انشر الملخص في القناة <id>، @-اذكر مهندس الدعوة. انشر أيضًا ردًا متابعًا برابط إلى مشكلة Sentry.✓ تم النسخ
    → messageId المرجعية؛ مرئية في Teams

النتيجة: كل حادثة تحصل على رسالة منظمة في Teams مع الأشخاص المناسبين المعلمة.

المزالق
  • @-الإشارة تحتاج إلى كائن mention مع معرف AAD؛ نص @name عادي لا ينبه — احسم معرف AAD للمستخدم عبر Graph أولاً، مرره في صفيف الإشارات من حمولة الرسالة
  • موافقة المسؤول مطلوبة؛ التطبيق لن يعمل حتى يتم منح الموافقة على مستوى المنظمة — اطلب من مسؤول AAD منح موافقة المسؤول لنطاقات تطبيقك
اجمعها مع: sentry

نشر ملخص اجتماع الفريق اليومي للهندسة في قناة الفريق

👤 قادة التكنولوجيا في منظمات MS-Teams ⏱ ~20 min intermediate

متى تستخدمه: كل صباح: نشر 'PRs المدمجة أمس + الدعوة اليوم + المفتوحة P1s' إلى #eng-standup.

الخطوات
  1. تجميع الملخص في اتجاه المنبع
    اسحب PRs المدمجة على GitHub أمس لمستودعاتنا + الدعوة الحالية + تذاكر P1 المفتوحة. لخص في 8 نقاط.✓ تم النسخ
    → محتوى الملخص
  2. النشر مع التنسيق
    انشر في القناة <id> مع عناوين markdown (Teams يدعم التنسيق الأساسي في الرسائل).✓ تم النسخ
    → الرسالة مرئية
  3. تثبيت الخيط
    اختياريًا، رد على خيط الاجتماع أمس محددًا أنه قديم.✓ تم النسخ
    → الرد المنشور

النتيجة: اجتماع يومي منتظم في Teams؛ لا أحد يضطر لتشغيله يدويًا.

المزالق
  • تصيير markdown في Teams محدود — بعض markdown GitHub ينكسر — استخدم نصًا عاديًا + غامق + قوائم فقط؛ تجنب الجداول وكتل الكود المتداخلة
اجمعها مع: github · linear

ملخص ما حدث في قناة مشغولة أثناء غيابك

👤 أي شخص يعود من إجازة أو اجتماع طويل ⏱ ~10 min beginner

متى تستخدمه: فاتتك 200 رسالة في #platform وتريد الملخص.

الخطوات
  1. جلب الرسائل الأخيرة
    احصل على آخر 200 رسالة في القناة <id>. أعد النص + المؤلف + الطابع الزمني.✓ تم النسخ
    → دفق الرسائل
  2. التجميع في مواضيع
    أعد رسائل المجموعة إلى 3-5 خيوط موضوعية. سمِّ كل موضوع واسرد الحقائق الرئيسية.✓ تم النسخ
    → ملخصات الموضوع
  3. علم أي شيء موجه إليّ
    سلط الضوء على أي رسالة @-اذكرني (البريد الإلكتروني <البريد>) أو رد على رسائلي السابقة. تلك يجب قراءتها.✓ تم النسخ
    → قائمة الإجراءات الشخصية

النتيجة: اللحاق لمدة 30 ثانية بقناة مزعجة.

المزالق
  • سحب الخيوط الطويلة يصل إلى حدود حجم الرسالة — صفحة في دفعات من 50؛ تلخيص لكل دفعة قبل الملخص النهائي

توجيه أسئلة العملاء الواردة إلى الفريق المناسب عبر @-الإشارات

👤 عمليات نجاح العملاء ⏱ ~20 min intermediate

متى تستخدمه: يسأل شريك سؤالاً تقنيًا في قناة مشتركة؛ تريد توجيهه إلى خبير المجال.

الخطوات
  1. تصنيف السؤال
    اقرأ هذه الرسالة [الصق]. أي فريق داخلي يملك هذا (الفواتير والتكاملات والبيانات)؟✓ تم النسخ
    → تسمية فريق واحد
  2. حل المهندس المناسب
    من دورة الدعوة لدينا [الصق أو البحث]، من على الدعوة لهذا الفريق اليوم؟ أعد معرف AAD.✓ تم النسخ
    → الشخص + معرف AAD
  3. الرد مع الإشارة
    رد في نفس الخيط @-اذكر هذا الشخص واطلب منهم أن ينظروا.✓ تم النسخ
    → الرد المنشور مع إشارة عاملة

النتيجة: الأسئلة لا تكون أبدًا بدون مالك في قناة مشتركة.

المزالق
  • التوجيه إلى شخص في إجازة أسوأ من عدم التوجيه — التحقق المرجعي مقابل التقويم/خارج المكتب؛ تصعيد إلى النسخة الاحتياطية إذا كان الأساسي بعيدًا

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

ms-teams + sentry

نشر تنبيهات Sentry إلى Teams مع @-الإشارة إلى الدعوة

بالنسبة لمشكلة Sentry <id>، لخص ونشر في قناة Teams <id>، مع الإشارة إلى مهندس الدعوة <البريد>.✓ تم النسخ
ms-teams + github

نشر طلبات مراجعة GitHub PR إلى Teams

عند فتح PR معنون 'needs-platform-review'، انشر رسالة Teams في #platform برابط و@-اذكر دوران المراجع.✓ تم النسخ
ms-teams + monday

نشر تحديثات حالة monday.com إلى قناة مشروع Teams

كل جمعة، لخص عناصر لوحة monday <id> المنقولة هذا الأسبوع، انشر إلى Teams #proj-atlas.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
list_teams اكتشف الفرق التي يكون البوت عضوًا فيها 1 استدعاء Graph
list_channels team_id قنوات المخزون في فريق 1 استدعاء Graph
list_messages team_id, channel_id, top? قراءة رسائل القنوات الأخيرة 1 استدعاء Graph
send_message team_id, channel_id, content, mentions? النشر في قناة 1 استدعاء Graph
send_reply team_id, channel_id, message_id, content, mentions? الرد داخل خيط موجود 1 استدعاء Graph
resolve_user email|user_principal_name قبل بناء كائن الإشارة 1 استدعاء Graph

التكلفة والحدود

تكلفة التشغيل

حصة API
تقليل Microsoft Graph: ~10000 طلب لكل 10 دقائق لكل تطبيق لكل مستأجر
الرموز لكل استدعاء
جلب رسالة القناة: 200–1500 رمز لكل صفحة.
التكلفة المالية
مجاني مع منظمة M365 التي بها تراخيص Teams.
نصيحة
معرفات فريق/قناة التخزين المؤقت — نادراً ما تتغير. احسم معرفات AAD للمستخدم مرة واحدة لكل بريد وأعد استخدامها.

الأمان

الصلاحيات والأسرار ونطاق الأثر

الحد الأدنى من الصلاحيات: ChannelMessage.Send Channel.ReadBasic.All User.Read.All
تخزين بيانات الاعتماد: معرف عميل Azure AD وسر العميل ومعرف المستأجر كمتغيرات env
نقل البيانات الخارجي: جميع الاستدعاءات إلى graph.microsoft.com (داخل مستأجرك)
لا تمنح أبدًا: Group.ReadWrite.All Directory.ReadWrite.All

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

AADSTS70011: Invalid scope

اسم النطاق خاطئ أو لم يتم منحه. موافقة المسؤول مطلوبة لنطاقات تطبيق Graph.

تحقق: تحقق من App Registration → API Permissions → يجب أن يعرض عمود الحالة 'Granted'
403 Forbidden on sendMessage

التطبيق يفتقد إلى إذن ChannelMessage.Send، أو المستخدم ليس عضوًا في الفريق.

@-الإشارة لا تنبه المستخدم

استخدمت نص عادي @name بدلاً من صفيف الإشارات مع معرف AAD. احسم المستخدم أولاً، ثم قم بتضمين كائن الإشارة.

429 throttled

عدد كبير جدًا من استدعاءات Graph. عد إلى الخلف بشكل أسي؛ دفعة عند الإمكان؛ معرفات التخزين المؤقت.

البدائل

Microsoft Teams مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Slack MCPالفريق على Slackمنصة مختلفة؛ Slack MCP أسهل للمصادقة
Power Automate / Flowتريد الأتمتة بدون كود داخل M365أقل مرونة لسير عمل مدفوع بوكيل AI

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills