إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
[هذا المقال عبارة عن وثائق الإصدار التجريبي ويكون خاضع للتغيير.]
يعد خادم Process Mining MCP تنفيذا متخصصا لبروتوكول سياق النموذج الذي يعرض قدرات تحليلات استخراج العمليات لوكلاء الذكاء الاصطناعي وتطبيقات المحادثة. يوفر وصولا برمجيا إلى بيانات التعدين العملية، ما يتيح تفاعلات اللغة الطبيعية مع تحليلات العمليات من خلال عملاء متوافقين مع MCP مثل Microsoft Copilot Studio.
مهم
- هذه ميزة إصدار أولي.
- لا تُستخدم ميزات الإصدار الأولي في بيئة التشغيل، وقد يتم تقييد بعض الوظائف بها. تتوفر هذه الميزات قبل إصدار رسمي وبذلك يستطيع العملاء الحصول على وصول مبكر وتقديم التعليقات.
- لمزيد من المعلومات، انتقل إلى شروط المعاينة الخاصة بنا.
القدرات الرئيسية:
- اكتشاف العملية: سرد العمليات المتوفرة وبيانات التعريف الخاصة بها واستكشافها
- التحليلات والمقاييس: استرداد تحليل الازدحام والمتغيرات والحالات والحواف والمقاييس المجمعة
- تحليل الارتباط: تحديد تأثيرات السمة على أداء العملية
- التصفية المتقدمة: تطبيق عوامل تصفية معقدة عبر السمات والأطر الزمنية والمقاييس والمعالجة الفرعية والتسلسلات
- العمليات طويلة الأمد: دعم الاستعلامات المعقدة مع إعلامات التقدم
الهندسه المعماريه:
- المكون من جانب الخادم: يتكامل مع Power Platform وDataverse
- المصادقة: مستند إلى Azure AD مع سياق البيئة
- الموصل: متوفر كموصل استخراج عملية تم إنشاؤه مسبقا في كتالوج موصلات Power Platform
- البروتوكول: معيار بروتوكول سياق النموذج (MCP)
المتطلبات المسبقه
تحتوي القائمة التالية على المتطلبات الأساسية لاستخدام خادم Process Mining MCP.
- ترخيص Active Process Mining
- بيئة التنقيب عن العمليات التي تم تكوينها في Power Platform مع عملية واحدة على الأقل تم استيعابها
- مصادقة Azure AD
- عميل متوافق مع MCP (على سبيل المثال، Copilot Studio) مع تكوين موصل Process Mining
أدوات MCP المتاحة
يعرض الخادم تسع (9) أدوات منظمة حسب الغرض. تقبل كل أداة معلمات محددة وتعيد بيانات التحليلات المنظمة.
أدوات اكتشاف العملية
استخدم هذه الأدوات لاكتشاف العمليات المتوفرة وتكوينها.
| اسم الأداة | الغرض | المعايير الرئيسية |
|---|---|---|
| get_processes | يسرد جميع العمليات ذات المعرف والأسماء | بلا (يستخدم سياق البيئة) |
| get_process_details | استرداد السمات والمقاييس المخصصة وقواعد العمل | معرف العملية (Guid) |
| get_attribute_values | الحصول على قيم لسمة معينة مع ترقيم الصفحات | processId, attributeName, itemsPerPage, itemsToSkip |
get_processes
يسرد جميع العمليات التي يمكن للمستخدم المصادق عليها الوصول إليها في البيئة الحالية.
البارامترات:
| المعلمة | النوع | افتراضي | مطلوب | الوصف |
|---|---|---|---|---|
| لا شيء | - | - | - | يستخدم سياق المصادقة لتحديد البيئة |
ارجاع:
- صفيف EntityListItem مع processId و processName
مثال على الاستخدام:
User: "What processes are available?"
Tool: get_processes
Response: List of processes with IDs
توقيت الاستخدَام:
- الأداة الأولى لاستدعاء عند اكتشاف العمليات المتوفرة
- الحصول على معرفات عملية صالحة لمكالمات الأدوات اللاحقة
- التحقق من أن المستخدم لديه حق الوصول إلى عمليات معينة
get_process_details
استرداد بيانات تعريف شاملة لعملية معينة بما في ذلك السمات والمقاييس المخصصة وقواعد العمل.
البارامترات:
| المعلمة | النوع | افتراضي | مطلوب | الوصف |
|---|---|---|---|---|
| معرف العملية | المعرف الفريد العمومي | - | نعم | معرف فريد للعملية |
ارجاع:
- يحتوي GetAnalyticsMetadataResult على:
- السمات: سمات على مستوى الحالة ومستوى الحدث
- المقاييس المخصصة: المقاييس المعرفة من قبل المستخدم
- قواعد العمل: القواعد المكونة للعملية
مثال على الاستخدام:
User: "Tell me about the Order-to-Cash process attributes"
Tool: get_process_details with processId
Response: Attributes (Department, Customer, Activity), custom metrics, business rules
توقيت الاستخدَام:
- قبل إنشاء عوامل التصفية (لاكتشاف أسماء السمات الصالحة)
- فهم مخطط العملية والمقاييس المتوفرة
- تحديد سمات مستوى الحالة مقابل سمات مستوى الحدث (مهم لتحليل الارتباط)
نصيحة
استدعاء get_process_details دائما قبل استخدام get_correlation للتحقق من أن السمة على مستوى حالة الأحرف.
get_attribute_values
استرداد كافة القيم لسمة معينة مع دعم ترقيم الصفحات.
البارامترات:
| المعلمة | النوع | افتراضي | مطلوب | الوصف |
|---|---|---|---|---|
| معرف العملية | المعرف الفريد العمومي | - | نعم | معرف فريد للعملية |
| اسم السمة | string | - | نعم | اسم السمة لاسترداد قيم |
| itemsPerPage | int | 20 | لا. | عدد العناصر في الصفحة (يختلف الحد الأقصى حسب النشر) |
| itemsToSkip | int | 0 | لا. | إزاحة لفصل الصفحات |
ارجاع:
- McpAnalyticsListResult مع:
- العناصر: صفيف القواميس التي تحتوي على قيم السمات والمقاييس المقترنة
- الإزاحة: إزاحة ترقيم الصفحات الحالية
- الحد: حجم الصفحة
- totalCount: إجمالي السجلات المتوفرة
مثال على الاستخدام:
User: "What departments are in the Order-to-Cash process?"
Tool: get_attribute_values with processId, attributeName="Department"
Response: List of department values (Sales, Finance, Warehouse)
توقيت الاستخدَام:
- اكتشاف قيم صالحة للتصفية
- استكشاف توزيعات السمات
- إنشاء واجهات مستخدم عامل تصفية ديناميكي
أدوات التحليلات والمقاييس
استخدم هذه الأدوات لتحليل أداء العملية، وتحديد الاختناقات، واسترداد المقاييس.
| اسم الأداة | الغرض | المعايير الرئيسية |
|---|---|---|
| get_process_overall_metrics | مقاييس مجمعة على مستوى العملية | processId، filterOptions |
| get_bottleneck_analysis | الأنشطة ذات المدة الأعلى | processId، filterOptions |
| get_variants_with_metrics | معالجة المتغيرات باستخدام المقاييس | processId، filterOptions، metricToSortBy |
| get_edges_with_metrics | معالجة حواف التدفق باستخدام المقاييس | processId، filterOptions |
| get_cases_with_metrics | حالات فردية مع مقاييس | processId، filterOptions، metricToSortBy |
get_process_overall_metrics
إرجاع مقاييس مجمعة على مستوى العملية للعملية المحددة وعوامل التصفية.
البارامترات:
| المعلمة | النوع | افتراضي | مطلوب | الوصف |
|---|---|---|---|---|
| معرف العملية | المعرف الفريد العمومي | - | نعم | معرف فريد للعملية |
| عوامل التصفية | McpFilterOptions | قيمة فارغة | لا. | عوامل التصفية الاختيارية التي يجب تطبيقها |
| itemsPerPage | int | 20 | لا. | عدد العناصر لكل صفحة |
| itemsToSkip | int | 0 | لا. | إزاحة لفصل الصفحات |
ارجاع:
- قاموس أزواج قيم المفاتيح القياسية بما في ذلك:
- إجمَالي الحَالات
- متوسط/متوسط/دقيقة/أقصى مدة لحالة الأحرف
- مقاييس الإنتاجية
- مقاييس توافق اتفاقية مستوى الخدمة
مثال على الاستخدام:
User: "What are the overall metrics for Order-to-Cash?"
Tool: get_process_overall_metrics with processId
Response: 1,245 cases, avg duration 4.2 days, median 3.8 days
توقيت الاستخدَام:
- ملخصات العمليات عالية المستوى
- مقارنة الأداء العام مقابل المصفاة
- إنشاء مقاييس أساسية
get_bottleneck_analysis
تحليل الأنشطة وإرجاعها التي تم فرزها حسب المدة (تنازليا) لتحديد الاختناقات.
البارامترات:
| المعلمة | النوع | افتراضي | مطلوب | الوصف |
|---|---|---|---|---|
| معرف العملية | المعرف الفريد العمومي | - | نعم | معرف فريد للعملية |
| itemsPerPage | int | 20 | لا. | عدد العناصر لكل صفحة |
| itemsToSkip | int | 0 | لا. | إزاحة لفصل الصفحات |
| mcpFilterOptions | McpFilterOptions | قيمة فارغة | لا. | عوامل التصفية الاختيارية التي يجب تطبيقها |
ارجاع:
- McpAnalyticsListResult مع الأنشطة التي تم فرزها حسب المدة (تنازلي)
- يحتوي كل عنصر على:
- القيمة: اسم النشاط
- المدة: متوسط مدة النشاط
- مقاييس إضافية كما هو مطلوب
سلوك خاص:
- تم تكوينه مسبقا لتحليل سمة "النشاط"
- يتضمن تلقائيا مقاييس المدة والقيمة
- تم الفرز حسب المدة بترتيب تنازلي
مثال على الاستخدام:
User: "What are the top 3 bottlenecks in Order-to-Cash?"
Tool: get_bottleneck_analysis with processId, itemsPerPage=3
Response:
1. Approve Order - Avg duration: 3.2 days
1. Credit Check - Avg duration: 2.8 days
1. Prepare Shipment - Avg duration: 2.1 days
توقيت الاستخدَام:
- تحديد اختناقات العملية
- تحديد أولويات جهود التحسين
- تحليل الازدحامات الخاصة بالقسم أو الخاصة بالقسم (باستخدام عوامل التصفية)
نصيحة
لتحليل الازدحام الذي يركز على أقسام معينة، ادمج مع AttributeValueFilter لتحديد الازدحامات الخاصة بالقطعة.
get_variants_with_metrics
استرداد متغيرات العملية (تسلسلات النشاط الفريدة) مع المقاييس المقترنة.
البارامترات:
| المعلمة | النوع | افتراضي | مطلوب | الوصف |
|---|---|---|---|---|
| معرف العملية | المعرف الفريد العمومي | - | نعم | معرف فريد للعملية |
| عوامل التصفية | McpFilterOptions | قيمة فارغة | لا. | عوامل التصفية الاختيارية التي يجب تطبيقها |
| itemsPerPage | int | 20 | لا. | عدد العناصر لكل صفحة |
| itemsToSkip | int | 0 | لا. | إزاحة لفصل الصفحات |
| metricToSortBy | VariantMetric | مدة الأحرف | لا. | مقياس لفرز النتائج حسب |
| Sortorder | الفرز | تنازلي | لا. | اتجاه الفرز (تصاعدي/تنازلي) |
ارجاع:
- McpAnalyticsListResult مع متغيرات بما في ذلك:
- مسار المتغير (تسلسل الأنشطة)
- التردد وعدد الحالات
- مقاييس المدة
- مؤشرات الانحراف السلوكي
مثال على الاستخدام:
User: "What are the most common process variants?"
Tool: get_variants_with_metrics with processId, metricToSortBy=CaseCount, sortOrder=Descending
Response: Top 3 variants with frequencies and durations
توقيت الاستخدَام:
- تحديد مسار سعيد مقابل المتغيرات الإشكالية
- تحليل توافق العملية
- العثور على حلقات وانحرافات إعادة العمل
- مقارنة أداء المتغير
get_edges_with_metrics
استرداد الانتقالات (الحواف) بين الأنشطة مع مقاييس التردد والمدة.
البارامترات:
| المعلمة | النوع | افتراضي | مطلوب | الوصف |
|---|---|---|---|---|
| معرف العملية | المعرف الفريد العمومي | - | نعم | معرف فريد للعملية |
| عوامل التصفية | McpFilterOptions | قيمة فارغة | لا. | عوامل التصفية الاختيارية التي يجب تطبيقها |
| itemsPerPage | int | 20 | لا. | عدد العناصر لكل صفحة |
| itemsToSkip | int | 0 | لا. | إزاحة لفصل الصفحات |
ارجاع:
- McpAnalyticsListResult مع حواف بما في ذلك:
- من النشاط إلى النشاط
- تكرار الانتقال
- مدة الانتقال
- مؤشرات الانحراف
مثال على الاستخدام:
User: "Show me the process flow transitions"
Tool: get_edges_with_metrics with processId
Response: Activity transitions with frequencies (e.g., Create Order → Approve Order: 1,100 cases)
توقيت الاستخدَام:
- فهم بنية تدفق العملية
- تحديد تعقيد التوجيه
- العثور على انتقالات الازدحام
- تحليل تأخيرات التسليم
get_cases_with_metrics
استرداد الحالات الفردية مع المقاييس والسمات المقترنة.
البارامترات:
| المعلمة | النوع | افتراضي | مطلوب | الوصف |
|---|---|---|---|---|
| معرف العملية | المعرف الفريد العمومي | - | نعم | معرف فريد للعملية |
| عوامل التصفية | McpFilterOptions | قيمة فارغة | لا. | عوامل التصفية الاختيارية التي يجب تطبيقها |
| itemsPerPage | int | 20 | لا. | عدد العناصر لكل صفحة |
| itemsToSkip | int | 0 | لا. | إزاحة لفصل الصفحات |
| metricToSortBy | حالة الأحرف | المدة | لا. | مقياس لفرز النتائج حسب |
| Sortorder | الفرز | تنازلي | لا. | اتجاه الفرز (تصاعدي/تنازلي) |
ارجاع:
- McpAnalyticsListResult مع الحالات بما في ذلك:
- معرف الحالة
- المدة والوقت النشط ووقت الانتظار
- عدد الأحداث
- قيم السمات
مثال على الاستخدام:
User: "Show me cases that took longer than 5 days"
Tool: get_cases_with_metrics with processId, filterOptions (MetricConditionFilter for Duration>5 days)
Response: List of cases exceeding 5 days with details
توقيت الاستخدَام:
- التحقيق التفصيلي في الحالة
- تحديد الحالات الخارجية
- تحليل السبب الجذري لحالات معينة
- تصدير بيانات الحالة لمزيد من التحليل
أدوات تحليل الارتباط
استخدم هذه الأداة لتحديد كيفية تأثير السمات على مقاييس العملية.
| اسم الأداة | الغرض | المعايير الرئيسية |
|---|---|---|
| get_correlation | تأثير السمة على مقاييس العملية | processId, attributeName, influenceFormula |
get_correlation
حساب الارتباط بين قيم السمات ومقاييس العملية لتحديد التأثيرات.
البارامترات:
| المعلمة | النوع | افتراضي | مطلوب | الوصف |
|---|---|---|---|---|
| معرف العملية | المعرف الفريد العمومي | - | نعم | معرف فريد للعملية |
| اسم السمة | string | - | نعم | اسم السمة (يجب أن يكون على مستوى الحالة) |
| influenceFormula | شكل التأثير | - | نعم | مقياس لتحليل التأثير على |
| Sortorder | الفرز | تنازلي | لا. | اتجاه الفرز لقيم التأثير |
| عوامل التصفية | McpFilterOptions | قيمة فارغة | لا. | عوامل التصفية الاختيارية التي يجب تطبيقها |
ارجاع:
- McpAnalyticsListResult مع قيم التأثير لكل قيمة سمة
- تشير القيم الأعلى إلى تأثير أقوى على المقياس المحدد
صيغ التأثير المتوفرة:
- ActiveTimeInfluence
- CaseUtilizationInfluence
- DurationInfluence
- EventCountInfluence
- LoopCountInfluence
- ReworkCountInfluence
- SelfloopCountInfluence
- WaitingTimeInfluence
مثال على الاستخدام:
User: "Does department influence process duration?"
Tool: get_correlation with processId, attributeName="Department", influenceFormula=DurationInfluence
Response: Sales: 0.75 (high), Finance: 0.42 (moderate), Warehouse: 0.18 (low)
توقيت الاستخدَام:
- تحليل السبب الجذر
- تحديد الشرائح التي تساهم في ضعف الأداء
- تحديد أولويات جهود التحسين حسب التأثير
- فهم تأثيرات السمة على المقاييس
مهم
تعمل أداة get_correlation فقط مع السمات على مستوى الحالة. سيؤدي استخدام السمات على مستوى الحدث (مثل النشاط) إلى حدوث خطأ: "لا يمكن حساب الارتباط للسمات غير على مستوى الحالة."
هياكل الطلب والاستجابة
تصف الأقسام التالية معلمات الطلب الشائعة وهياكل الاستجابة.
معلمات الطلب الشائعة
تقبل معظم الأدوات هذه المعلمات القياسية لفصل الصفحات والفرز.
| المعلمة | النوع | افتراضي | الوصف |
|---|---|---|---|
| معرف العملية | المعرف الفريد العمومي | مطلوب | معرف فريد للعملية (باستثناء get_processes) |
| itemsPerPage | int | 50 | عدد العناصر التي سيتم إرجاعها لكل صفحة |
| itemsToSkip | int | 0 | عدد العناصر التي يجب تخطيها (إزاحة ترقيم الصفحات) |
| metricToSortBy | string | يختلف حسب الأداة | اسم القياس لفرز النتائج |
| Sortorder | الفرز | تنازلي | اتجاه الفرز (تصاعدي أو تنازلي) |
| عوامل التصفية | McpFilterOptions | قيمة فارغة | خيارات التصفية المعقدة (راجع قسم خيارات التصفية) |
هيكل الاستجابة
توفر الأقسام التالية تفاصيل لهياكل الاستجابة.
McpAnalyticsListResult
تنسيق الاستجابة القياسي للاستعلامات المستندة إلى القائمة.
{
"items": [
{
"metric1": "value1",
"metric2": 123.45,
"metric3": 456
},
{
"metric1": "value2",
"metric2": 98.76,
"metric3": 321
}
],
"offset": 0,
"limit": 50,
"totalCount": 500
}
الحقول:
-
العناصر: صفيف القواميس التي تحتوي على أزواج قيم المفاتيح القياسية
- المفاتيح هي أسماء المقاييس (على سبيل المثال، "المدة"، "القيمة"، "CaseCount")
- القيم هي قيم قياسية (سلاسل، أرقام، تواريخ)
- الإزاحة: إزاحة ترقيم الصفحات الحالية (تساوي معلمة itemsToSkip)
- الحد: حجم الصفحة (يساوي معلمة itemsPerPage)
- totalCount: إجمالي عدد السجلات المتوفرة (استخدام لفصل الصفحات)
مثال على ترقيم الصفحات:
Request 1: itemsPerPage=50, itemsToSkip=0 → Returns items 1-50
Request 2: itemsPerPage=50, itemsToSkip=50 → Returns items 51-100
Request 3: itemsPerPage=50, itemsToSkip=100 → Returns items 101-150
Continue while offset + limit < totalCount
العمليات الطويلة الأمد
قد تتطلب الاستعلامات المعقدة وقتا إضافيا للمعالجة. يعالج خادم MCP هذه العمليات بشكل غير متزامن مع التحقق من جانب الخادم وتحديثات تقدم الدفق إلى العميل.
تدفق العملية:
- الطلب الأولي: يرسل العميل طلب استدعاء الأداة إلى خادم MCP
- المعالجة من جانب الخادم: تعالج واجهة برمجة التطبيقات الاستقصاء داخليا - ينتظر الخادم حتى يكمل محرك التحليلات الاستعلام. لا يلزم إجراء استقصاء من جانب العميل.
- إعلامات التقدم: يقوم الخادم ببث تحديثات التقدم للعميل تلقائيا عبر أحداث Server-Sent (SSE). يتم إرسال إعلامات التقدم كل 5 ثوان تقريبا أثناء المعالجة.
- الإكمال: يقوم الخادم بإرجاع النتيجة النهائية بالحالة Succeeded أو FailedClientError أو FailedAnalyticsError
الحالات النهائية:
- Succeeded: النتائج المتوفرة استجابة
- FailedClientError: خطأ التحقق من الصحة (معلمات غير صالحة، عوامل تصفية)
- FailedAnalyticsError: خطأ في معالجة محرك التحليلات
السيناريوهات النموذجية للعمليات طويلة الأمد:
- استعلامات مجموعة البيانات الكبيرة (>10000 حالة)
- عوامل تصفية معقدة بشروط متعددة
- تحليل الارتباط عبر العديد من قيم السمات
- تحليل متغير مع تعقيد عملية عميق
ملحوظة
يعالج الخادم جميع عمليات التحقق داخليا. يتلقى العملاء إعلامات التقدم تلقائيا من خلال نقل SSE دون الحاجة إلى تنفيذ منطق الاستقصاء. يتوافق هذا الأسلوب مع نقل HTTP القابل للبث من MCP.
مرجع خيارات التصفية
تتيح بنية McpFilterOptions التحكم الدقيق في استرداد البيانات من خلال خمسة أنواع من عوامل التصفية. يمكن دمج عوامل التصفية لإنشاء استعلامات معقدة.
منطق تركيبة التصفية
- يتم دمج جميع أنواع عوامل التصفية داخل McpFilterOptions مع منطق AND
- يتم دمج عوامل تصفية متعددة من نفس النوع مع منطق OR
- يحتوي كل عامل تصفية على
isInclusiveخاصية (افتراضي: صحيح)-
isInclusive=true: تضمين سجلات مطابقة -
isInclusive=false: استبعاد السجلات المطابقة
-
مثال:
AttributeValueFilters: [Department=Sales OR Department=Marketing]
AND
MetricConditionFilters: [Duration > 5 days]
= Cases from Sales OR Marketing with duration > 5 days
AttributeValueFilter
عوامل التصفية استنادا إلى قيم سمة معينة (على سبيل المثال، القسم، المستخدم، اسم النشاط).
خصائص:
| الخاصية | النوع | مطلوب | الوصف |
|---|---|---|---|
| اسم السمة | string | نعم | اسم السمة المراد تصفيتها على |
| قيم السمات | سلسلة[] | نعم | قائمة القيم المراد تضمينها أو استبعادها |
| غير حاسم | منطقي | لا (الافتراضي: صحيح) | تضمين (صحيح) أو استبعاد قيم مطابقة (خطأ) |
مثال JSON:
{
"attributeValueFilters": [
{
"attributeName": "Department",
"attributeValues": ["Sales", "Marketing"],
"isInclusive": true
}
]
}
حالات الاستخدام:
- التصفية لأقسام أو مستخدمين أو مقاطع عملاء محددة
- استبعاد بيانات الاختبار أو أنشطة محددة
- تحليل المجموعات الفرعية للعملية
قواعد التحقق من الصحة:
- يجب ألا يكون اسم السمة فارغا
- يجب أن يحتوي صفيف attributeValues على قيمة واحدة على الأقل
- يجب أن يكون اسم السمة موجودا في مخطط العملية (استدعاء get_process_details للتحقق)
تصفية الإطار الزمني
عوامل التصفية استنادا إلى نطاقات التاريخ/الوقت للطوابع الزمنية للحالة أو الحدث.
خصائص:
| الخاصية | النوع | مطلوب | الوصف |
|---|---|---|---|
| startDate | Datetime | نعم | بداية الإطار الزمني (شامل) |
| تاريخ الانتهاء | Datetime | نعم | نهاية الإطار الزمني (شامل) |
| غير حاسم | منطقي | لا (الافتراضي: صحيح) | تضمين (صحيح) أو استبعاد (خطأ) الإطار الزمني |
مثال JSON:
{
"timeframeFilters": [
{
"startDate": "2025-01-01T00:00:00Z",
"endDate": "2025-12-31T23:59:59Z",
"isInclusive": true
}
]
}
حالات الاستخدام:
- تحليل فترات زمنية محددة (أرباع السنة، الأشهر، السنوات)
- استبعاد البيانات التاريخية
- مقارنة أداء الفترة الزمنية
قواعد التحقق من الصحة:
- يجب أن يكون تاريخ البدء قبل تاريخ الانتهاء
- يجب أن يكون تنسيق التاريخ ISO 8601 صالحا
مهم
يحدث خطأ التحقق من الصحة إذا كان startDate بعد endDate. تحقق دائما من نطاق التاريخ قبل الإرسال.
MetricConditionFilter
عوامل التصفية استنادا إلى حدود قيمة القياس (على سبيل المثال، المدة > 5 أيام، عدد < الأحداث 10).
خصائص:
| الخاصية | النوع | مطلوب | الوصف |
|---|---|---|---|
| قياس | McpFilterMetricType | نعم | المقياس المراد التصفية عليه |
| customMetricId | المعرف الفريد العمومي | Conditional | مطلوب إذا كان المقياس مخصصا |
| مقارناتOperator | ValueFilterExpressionOperator | نعم | عامل المقارنة |
| dataType | نوع بيانات تصفية القيمة | نعم | نوع البيانات للقيمة |
| القيمة | كائن | نعم | القيمة المراد مقارنتها مقابل |
| غير حاسم | منطقي | لا (الافتراضي: صحيح) | تضمين (صواب) أو استبعاد (خطأ) التطابقات |
المقاييس المتوفرة (McpFilterMetricType):
| نوع المقياس | الوصف |
|---|---|
| EventDuration | مدة الأحداث الفردية |
| مدة الأحرف | إجمالي مدة الحالة من البداية إلى النهاية |
| CaseActiveTime | الوقت المستغرق في المعالجة بنشاط (باستثناء وقت الانتظار) |
| CaseWaitingTime | الوقت المستغرق في الانتظار بين الأنشطة |
| تحويل حالة الأحرف إلى حالة | النسبة المئوية لاستخدام الحالة |
| استخدام CaseCumulativeUtilization | الاستخدام التراكمي عبر دورة حياة الحالة |
| CaseEventCount | عدد الأحداث لكل حالة |
| CaseSelfLoopCount | عدد التكرارات الحلقية الذاتية (تكرار نفس النشاط على الفور) |
| CaseLoopCount | عدد الحلقات (تسلسلات النشاط التي تتكرر) |
| عدد حالات العمل | عدد مثيلات إعادة العمل |
| مقياس مخصص | مقياس معرف من قبل المستخدم (يتطلب customMetricId) |
عوامل المقارنة:
- يساوي إلى
- NotEqualTo
- GreaterThan
- GreaterThanOrEqualTo
- أقل ثان
- LessThanOrEqualTo
أنواع البيانات:
- السلسلة
- رقم
- الوقت (المدة)
- Datetime
مثال JSON:
{
"metricConditionFilters": [
{
"metric": "CaseDuration",
"comparisonOperator": "GreaterThan",
"dataType": "Time",
"value": "5.00:00:00",
"isInclusive": true
}
]
}
حالات الاستخدام:
- تحديد الحالات التي تتجاوز حدود اتفاقية مستوى الخدمة
- التصفية إلى حالات عالية القيمة أو منخفضة القيمة
- تحليل الحالات ذات الخصائص المحددة (على سبيل المثال، عدد إعادة العمل العالي)
قواعد التحقق من الصحة:
- CustomMetricId مطلوب عندما يكون المقياس مخصصا
- يجب أن تتطابق القيمة مع نوع البيانات المحدد
- يجب أن يكون المقياس صالحا لسياق الاستعلام
SubProcessFilter
عوامل التصفية حسب أنماط المعالجة الفرعية حيث تتبع الأنشطة المرجعية أنشطة نسبية.
خصائص:
| الخاصية | النوع | مطلوب | الوصف |
|---|---|---|---|
| اسم السمة | string | نعم | اسم السمة (عادة "النشاط") |
| قيم الإسناد المرجعي | سلسلة[] | نعم | بدء الأنشطة في العملية الفرعية |
| قيم relativeAttribute | سلسلة[] | نعم | إنهاء الأنشطة في العملية الفرعية |
| غير حاسم | منطقي | لا (الافتراضي: صحيح) | تضمين (صواب) أو استبعاد (خطأ) عملية فرعية |
مثال JSON:
{
"subProcessFilters": [
{
"attributeName": "Activity",
"referenceAttributeValues": ["Create Order"],
"relativeAttributeValues": ["Ship Goods"],
"isInclusive": true
}
]
}
حالات الاستخدام:
- تحليل تدفقات معالجة فرعية محددة
- تحديد الحالات التي تتبع مسارات معينة
- استبعاد أنماط معالجة فرعية محددة
قواعد التحقق من الصحة:
- يجب ألا يكون اسم السمة فارغا
- يجب أن يحتوي كل من referenceAttributeValues و relativeAttributeValues على قيمة واحدة على الأقل
AttributeSequenceFilter
عوامل التصفية حسب تسلسلات النشاط مع أنواع علاقات محددة (متبوعة مباشرة، متبوعة في نهاية المطاف، وما إلى ذلك).
خصائص:
| الخاصية | النوع | مطلوب | الوصف |
|---|---|---|---|
| اسم السمة | string | نعم | اسم السمة (عادة "النشاط") |
| نوع الارتباط | نوع تصفية التسلسل | نعم | نوع العلاقة بين الأنشطة |
| قيم الإسناد المرجعي | سلسلة[] | نعم | الأنشطة الأولى بالتسلسل |
| قيم relativeAttribute | سلسلة[] | نعم | الأنشطة الثانية بالتسلسل |
| غير حاسم | منطقي | لا (الافتراضي: صحيح) | تضمين (صحيح) أو استبعاد تسلسل (خطأ) |
أنواع الارتباطات:
- DirectlyFollowed: النشاط المرجعي متبوعا مباشرة بنشاط نسبي (لا توجد أنشطة بينهما)
- في النهاية: النشاط المرجعي متبوعا بنشاط نسبي (قد تكون الأنشطة الأخرى بينهما)
مثال JSON:
{
"attributeSequenceFilters": [
{
"attributeName": "Activity",
"relationType": "DirectlyFollowed",
"referenceAttributeValues": ["Approve Order"],
"relativeAttributeValues": ["Credit Check"],
"isInclusive": true
}
]
}
حالات الاستخدام:
- فرض تسلسلات نشاط محددة
- تحديد انتهاكات التوافق
- تحليل الحالات بترتيب معين
قواعد التحقق من الصحة:
- يجب ألا يكون اسم السمة فارغا
- يجب أن يحتوي كل من referenceAttributeValues و relativeAttributeValues على قيمة واحدة على الأقل
معالجة الأخطاء
تصف الأقسام التالية رموز الخطأ الشائعة وأخطاء التحقق من الصحة وتنسيق الاستجابة التي يمكن أن تساعدك في حل المشكلات.
رموز الخطأ
يستخدم خادم MCP ثلاثة رموز خطأ أساسية:
| رمز الخطأ | الوصف | الأسباب الشائعة |
|---|---|---|
| InvalidParams | قيم معلمات غير صحيحة | GUID فارغ، حقل فارغ مطلوب، إطار زمني غير صالح، صفائف فارغة |
| InvalidRequest | انتهاك بنية الطلب أو قاعدة العمل | أسماء السمات غير الموجودة، وتصفية أخطاء بناء الجملة، والعمليات غير المدعومة |
| خطأ داخلي | أخطاء المعالجة من جانب الخادم | فشل محرك التحليلات، وعدم تناسق البيانات، وعدم توفر الخدمة |
أخطاء التحقق الشائعة
معرف العملية الفارغ
خطأ: "processId (Guid) يجب أن يكون معرف العملية." السبب: معلمة معرف العملية فارغة أو غير صالحة الدقة: استخدم get_processes للحصول على معرفات عملية صالحة
إطار زمني غير صحيح
خطأ: "يجب أن يكون تاريخ البدء قبل EndDate." السبب: تم بدء تشغيل TimeframeFilter بعد endDate Resolution: التحقق من نطاق التاريخ قبل إرسال الطلب
اسم السمة مفقود
خطأ: "يجب توفير اسم السمة." السبب: اسم السمة فارغ أو فارغ في تحليل عامل التصفية: توفير اسم سمة صالح من مخطط العملية
قيم السمات الفارغة
خطأ: "يجب أن تحتوي قيم السمات على قيمة واحدة على الأقل." السبب: صفيف attributeValues فارغ في AttributeValueFilter Resolution: إضافة قيمة واحدة على الأقل إلى الصفيف
معرف القياس المخصص المفقود
خطأ: "CustomMetricId مطلوب عندما يكون المقياس مخصصا." السبب: المقياس مخصص ولكن لم يتم توفير customMetricId الدقة: توفير GUID للمقياس المخصص
سمة على مستوى غير حالة في الارتباط
خطأ: "لا يمكن حساب الارتباط للسمات غير على مستوى الحالة." السبب: محاولة get_correlation باستخدام سمة على مستوى الحدث (على سبيل المثال، "النشاط "): استخدام السمات على مستوى الحالة فقط (على سبيل المثال، "القسم"، "العميل")؛ استدعاء get_process_details لتحديد السمات على مستوى الحالة
تنسيق استجابة الخطأ
{
"error": {
"code": "InvalidParams",
"message": "Attribute name must be provided."
}
}
أفضل الممارسات
يمكن أن تساعدك أفضل الممارسات التالية على استخدام خادم Process Mining MCP بشكل فعال.
استرداد تفاصيل العملية دائما أولا
استخدم get_process_details لاكتشاف السمات والمقاييس وقواعد العمل المتوفرة قبل إنشاء الاستعلامات.
السبب: يضمن تطابق أسماء السمات مع مخطط العملية، ويمنع أخطاء التحقق من الصحة، ويحدد سمات مستوى الحالة مقابل سمات مستوى الحدث.
Step 1: get_processes → Obtain processId
Step 2: get_process_details with processId → Discover attributes
Step 3: Use discovered attributes in filters and queries
تنفيذ تقسيم الصفحات لمجموعات البيانات الكبيرة
استخدم itemsPerPage و itemsToSkip لكافة عمليات القائمة. مراقبة totalCount لتحديد ما إذا كان هناك المزيد من الصفحات.
أحجام الصفحات الموصى بها:
- الافتراضي: 50 عنصرا لكل صفحة
- مجموعات البيانات الكبيرة: 20 عنصرا في الصفحة (أوقات استجابة أسرع)
- مجموعات البيانات الصغيرة: 100 عنصر لكل صفحة (عدد أقل من الرحلات ذهابا وجولة)
let allItems = [];
let offset = 0;
const pageSize = 50;
do {
const response = await getTool(processId, pageSize, offset);
allItems.push(...response.items);
offset += pageSize;
} while (offset < response.totalCount);
استخدام التصفية لتقليل حجم البيانات
لتقليل وقت المعالجة وحجم حمولة الاستجابة، قم بتطبيق AttributeValueFilter و TimeframeFilter في وقت مبكر من سلسلة الاستعلام.
أولوية التصفية:
- TimeframeFilter (يقلل من مجموعة البيانات بسرعة)
- AttributeValueFilter (يضيق إلى مقاطع معينة)
- MetricConditionFilter (المزيد من تحسين النتائج)
معالجة العمليات طويلة الأمد
تتم معالجة العمليات طويلة الأمد تلقائيا بواسطة الخادم. تستخدم واجهة برمجة التطبيقات الاستقصاء من جانب الخادم داخليا وتبث تحديثات التقدم إلى العميل عبر أحداث Server-Sent (SSE). لا يلزم تنفيذ الاستقصاء من جانب العميل.
ما يمكن توقعه:
- يعالج الخادم الاستعلامات المعقدة بشكل غير متزامن نيابة عنك
- يتم تسليم إعلامات التقدم تلقائيا من خلال نقل SSE
- يتم إرجاع النتيجة النهائية عند اكتمال المعالجة
- عرض النتائج النهائية للمستخدم عند تلقيها
بيانات تعريف معالجة ذاكرة التخزين المؤقت
تتغير تفاصيل العملية (السمات والمقاييس وقواعد العمل) بشكل غير متكرر. استجابة get_process_details ذاكرة التخزين المؤقت لتقليل استدعاءات واجهة برمجة التطبيقات.
مشغلات إبطال ذاكرة التخزين المؤقت:
- عملية إعادة المعالجة
- تغييرات التكوين
- التحديث الذي بدأه المستخدم
التحقق من صحة عوامل التصفية من جانب العميل
تحقق من نطاقات التاريخ وأسماء السمات والحقول المطلوبة قبل إرسال الطلبات لتقليل أخطاء الرحلة ذهابا وإيابا.
قائمة التحقق من الصحة من جانب العميل:
- [ ] معرف العملية هو GUID غير فارغ
- [ ] TimeframeFilter: startDate < endDate
- [ ] AttributeValueFilter: attributeName غير فارغ، تحتوي attributeValues على عنصر واحد على الأقل
- [ ] MetricConditionFilter: customMetricId المقدم إذا كان المقياس مخصصا
- [ ] أسماء السمات تطابق مخطط العملية
استخدام الارتباط استراتيجيا
تحليل الارتباط مكثف حسابيا. تطبيق عوامل التصفية أولا لتقليل مجموعة البيانات قبل تشغيل الارتباط.
أفضل الممارسات:
- تحقق من أن السمة على مستوى الحالة (استدعاء get_process_details)
- تطبيق TimeframeFilter و AttributeValueFilter أولا
- يستخدم لاختبار الفرضية، وليس الاستكشاف
- نتائج ذاكرة التخزين المؤقت لأجزاء معينة
المعلومات ذات الصلة
- مرجع موصل استخراج العمليات: تفاصيل الموصل والمصادقة وحدود التقييد
- إنشاء عامل Copilot Studio باستخدام التنقيب عن العمليات: دليل التنفيذ خطوة بخطوة
- إضافة أدوات إلى عوامل مخصصة: كيفية إضافة أداة الموصل في Copilot Studio
- كتالوج موصلات خادم MCP: قائمة كاملة بموصلات MCP المتوفرة
- نظرة عامة على استخراج العمليات: نظرة عامة على قدرات تعدين العمليات
- مواصفات بروتوكول سياق النموذج: التفاصيل القياسية ل MCP