التكاملات / MODEL CONTEXT PROTOCOL
Milten MCP: تدقيقات المواقع في مساعدك بالذكاء الاصطناعي
اربط Codex أو Cursor أو Claude Code بتدقيقات Milten المحفوظة لديك. عبر Model Context Protocol (MCP)، يستطيع مساعدك قراءة مقاييس أداء الموقع والحصول على توصيات للتحسين تستند إلى بيانات التقرير.
Milten MCP
HTTPكيف يستخدم مساعدك تدقيق Milten
العثور على التدقيق
list_auditsقراءة القياسات
get_audit_reportالحصول على خطة تحسين
get_optimization_plan
وصول للقراءة فقط
يقرأ التدقيقات المحفوظة دون بدء فحوص جديدة أو تعديل المشاريع أو خصم رموز Milten.
كيفية الاتصال بـ Milten MCP
يعمل Milten MCP على خادم بعيد. أضف عنوانه ورمز الوصول إلى عميل يدعم Streamable HTTP وترويسات Authorization المخصصة. لا تحتاج إلى تثبيت حزمة Milten على جهازك.
- عنوان الخادم
https://milten.io/mcp- المصادقة
Authorization: Bearer <PAT>
ما تحتاج إليه
تحتاج إلى حساب Milten ورمز وصول شخصي. لقراءة تقرير، استخدم تدقيقًا موجودًا يملكه هذا الحساب أو ابدأ تدقيقًا جديدًا على موقع Milten.
Codex
استبدل <PAT> بالقيمة السرية للرمز ونفّذ الكتلة كاملة في Bash أو Zsh. ستضيف الخادم وتحفظ Authorization ضمن http_headers في ملف إعدادات Codex (المسار الافتراضي هو ~/.codex/config.toml). تؤدي إعادة التنفيذ إلى استبدال إعدادات milten. أعد تشغيل Codex. يحتوي الملف على القيمة السرية، فلا تنشره.
codex mcp add milten --url https://milten.io/mcp &&
cat >> "${CODEX_HOME:-$HOME/.codex}/config.toml" <<'EOF'
[mcp_servers.milten.http_headers]
Authorization = "Bearer <PAT>"
EOFCursor
أضف إدخال milten إلى mcpServers في ~/.cursor/mcp.json لاستخدامه في جميع المشاريع، أو في .cursor/mcp.json لاستخدامه في مشروع واحد. احتفظ بإدخالات الخوادم الموجودة.
في الأمثلة التي تستخدم MILTEN_MCP_TOKEN، عيّن الرمز بوصفه قيمة متغير البيئة هذا قبل تشغيل العميل. أعد تشغيل العميل بعد تغيير الرمز. المتغير المعرّف في الطرفية لا ينتقل تلقائيًا إلى تطبيق يُفتح من سطح المكتب.
{
"mcpServers": {
"milten": {
"url": "https://milten.io/mcp",
"headers": {
"Authorization": "Bearer ${env:MILTEN_MCP_TOKEN}"
}
}
}
}Claude Code
أضف هذا الإدخال إلى ملف .mcp.json الخاص بالمشروع. يقرأ Claude Code متغير البيئة عند بدء التشغيل؛ وافق على الاتصال بخادم المشروع إذا طلب العميل ذلك.
في الأمثلة التي تستخدم MILTEN_MCP_TOKEN، عيّن الرمز بوصفه قيمة متغير البيئة هذا قبل تشغيل العميل. أعد تشغيل العميل بعد تغيير الرمز. المتغير المعرّف في الطرفية لا ينتقل تلقائيًا إلى تطبيق يُفتح من سطح المكتب.
{
"mcpServers": {
"milten": {
"type": "http",
"url": "https://milten.io/mcp",
"headers": {
"Authorization": "Bearer ${MILTEN_MCP_TOKEN}"
}
}
}
}تحقق من توفر الأدوات الست
فعّل milten في عميل MCP. يجب أن تظهر list_audits وget_audit_report وget_optimization_plan وget_audit_section وcompare_audits وget_monitoring_history. ابدأ بـ list_audits واستخدم auditId من الرد. القائمة الفارغة صحيحة إذا لم توجد تدقيقات بعد.
كيفية الحصول على رمز وصول Milten
بعد تسجيل الدخول إلى Milten، يمكنك إنشاء رموز الوصول الشخصية (Personal Access Tokens، أو PAT) وعرضها وإبطالها من لوحة الحساب عبر «الملف الشخصي ← مفاتيح API». يرسل عميل MCP الرمز في ترويسة Authorization: Bearer؛ ولا يستخدم خادم MCP ملفات تعريف الارتباط في المتصفح أو تسجيل الدخول عبر OAuth.
إنشاء رمز وصول
سجّل الدخول إلى Milten، وافتح «مفاتيح API» في ملفك الشخصي، ثم أدخل اسم الرمز ومدة صلاحيته واضغط «إنشاء رمز».
فتح مفاتيح APIانسخ القيمة السرية الآن، فهي تظهر مرة واحدة فقط. احفظها بأمان ومرّرها إلى العميل بإحدى طرق الإعداد أعلاه. يبقى id الرمز ظاهرًا في القائمة لإلغائه.
يمنح الرمز صلاحية audits:read لقراءة تدقيقاتك فقط. الحقل name مطلوب، بحد أقصى 100 بايت. يجب أن يكون expiresAt وقتًا مستقبليًا بصيغة RFC 3339، لا يتجاوز 366 يومًا من الآن.
عرض الرموز وإبطالها
تعرض قائمة «مفاتيح API» اسم الرمز ومدة صلاحيته وحالته. يؤدي الضغط على «إبطال» إلى إيقاف وصوله إلى MCP. يمكنك أيضًا استخدام مسارات API الحساب التالية من جلسة متصفح مسجّل الدخول فيها: يعيد GET بيانات الرموز الوصفية دون الأسرار. عند الإبطال، استبدل {id} بمعرّف الرمز؛ يعيد DELETE الحالة 204، وتُرفض طلبات MCP اللاحقة التي تستخدم هذا الرمز.
GET /v1/personal-access-tokens/
DELETE /v1/personal-access-tokens/{id}أدوات MCP: التدقيقات والتقارير وخطط التحسين
يمرّر عميل MCP وسيطات JSON هذه إلى tools/call. عند طلب تقرير أو خطة، استبدل UUID في المثال بقيمة auditId من list_audits. استخدم معرّف التدقيق، وليس عنوان الموقع.
list_audits
ابحث عن التدقيقات التي يملكها المستخدم المصادَق عليه. يمكنك قصر القائمة على مشروع واحد.
- الوسيطات
- جميع الحقول اختيارية. projectId: معرّف UUID للمشروع؛ page: عدد صحيح ≥ 1 (القيمة الافتراضية 1)؛ limit: عدد صحيح من 1 إلى 50 (القيمة الافتراضية 10).
- الاستجابة
- يحتوي audits على auditId وurl وoperation وstatus وcreatedAt، إضافة إلى projectId وerror عند وجودهما. يمثّل count العدد الإجمالي، ويصف page وlimit تقسيم الصفحات. إذا كانت قيمة truncated هي true، فأعد الطلب بقيمة limit أصغر. الحالة هي running أو completed أو failed.
{
"page": 1,
"limit": 10
}get_audit_report
اقرأ جميع أقسام التقرير المحفوظة وملخصًا موجزًا للمقاييس.
- الوسيطات
- auditId: معرّف UUID مطلوب للتدقيق من list_audits.
- الاستجابة
- يحتوي audit على البيانات الوصفية، ويحتوي filling على جميع الأقسام المحفوظة بتنسيق {type, data}، بما فيها Lighthouse وHAR وCrUX وllmAdvice. يضيف analysis ملخصًا للمقاييس والمشكلات. يميز trustNote محتوى الموقع باعتباره بيانات غير موثوقة. الحد الافتراضي لبيانات الاستجابة هو 1 MiB؛ وعند تجاوزه يُرجع خطأ بدلًا من تقرير مبتور.
{
"auditId": "123e4567-e89b-42d3-a456-426614174000"
}get_optimization_plan
اقرأ خطة llmAdvice المحفوظة التي تظهر في التقرير. لا ينشئ MCP توصيات جديدة ولا يستدعي نموذج LLM.
- الوسيطات
- auditId: معرّف UUID مطلوب؛ focus: all (القيمة الافتراضية) أو lcp أو inp أو cls أو backend؛ limit: عدد صحيح من 1 إلى 25 (القيمة الافتراضية 10).
- الاستجابة
- يحتوي plan على source وsummary وrecommendations وtruncated. يُحفظ ترتيب التوصيات وحقولها: priority (critical أو medium أو low) وmetrics وmetricSavings وtitle وresources وevidence وaction وeffect وverification. يرشح focus حسب metrics، ويقابل backend المقياس TTFB. إذا اختصر limit القائمة، تصبح truncated بقيمة true. تُرجع الخطط النصية القديمة في output دون ترشيح. إذا لم توجد خطة محفوظة، فاقرأ diagnostic.
{
"auditId": "123e4567-e89b-42d3-a456-426614174000",
"focus": "lcp",
"limit": 3
}get_audit_section
يقرأ آخر قسم محفوظ من التقرير. يمكن جلب المصفوفات الكبيرة على صفحات.
- الوسيطات
- auditId وsection مطلوبان. section هو type من filling مثل har. path اختياري بصيغة JSON Pointer مثل /log/entries. للمصفوفات: offset يبدأ من 0 وlimit من 1 إلى 200 (الافتراضي 50). احذف معاملات الصفحات للبيانات الأخرى.
- الاستجابة
- يحافظ data على الحقول الأصلية وnull. تتضمن المصفوفات total وnextOffset وtruncated؛ تابع باستخدام nextOffset حتى تصبح truncated بقيمة false. إذا تجاوز الرد الحجم المسموح، اختر path أدق أو قلّل limit.
{
"auditId": "123e4567-e89b-42d3-a456-426614174000",
"section": "har",
"path": "/log/entries",
"limit": 20
}compare_audits
يقارن تدقيقين تملكهما لنفس URL ونوع الفحص: القياسات والمشكلات حسب الحدود والتوصيات المحفوظة.
- الوسيطات
- baselineAuditId هو التدقيق المرجعي وcandidateAuditId هو التدقيق اللاحق. احصل على UUID لكليهما من list_audits. المقاييس المخبرية مدعومة لـ basic وinp وttfb.
- الاستجابة
- delta = candidate − baseline والقيم المفقودة هي null. راجع comparable وwarnings. تتوزع findings على added وresolved وpersisting وuncompared. تُطابق التوصيات حسب title المطابق تمامًا ويُضمّن الرد الخطتين المحفوظتين.
{
"baselineAuditId": "123e4567-e89b-42d3-a456-426614174000",
"candidateAuditId": "e6723288-f28c-4b62-8a4e-7dc395958c0c"
}get_monitoring_history
يعيد القياسات المحفوظة لصفحة المراقبة التي تملكها، من الأحدث إلى الأقدم. لا يبدأ فحصًا.
- الوسيطات
- monitoringUnitId مطلوب: UUID الخاص بصفحة المراقبة في Core (coreMonitoringUnitId)، وليس auditId. dateFrom وdateTo حدّان شاملان بصيغة RFC 3339؛ الافتراضي آخر 30 يومًا. page يبدأ من 1 وlimit من 1 إلى 50 (الافتراضي 20).
- الاستجابة
- تتضمن results التواريخ والمقاييس والجهاز والمنطقة وaffectedAlert. يتضمن الرد count وhasMore. أعد استخدام dateFrom وdateTo الواردين للصفحات التالية. قد تعني الأصفار القديمة غياب البيانات؛ INP قياس مخبري وليس CrUX p75.
{
"monitoringUnitId": "e09aa948-a541-4404-bcdc-9e5621c11891",
"page": 1,
"limit": 20
}أمثلة على طلبات لمساعدك بالذكاء الاصطناعي
بعد الاتصال، استخدم هذه الرسائل في محادثتك مع المساعد. يستدعي المساعد أدوات MCP ويشرح نتائجها؛ والرسائل ليست أوامر مستقلة للخادم.
اعرض تدقيقاتي في Milten وابحث عن أحدث تدقيق مكتمل للموقع example.com.
اقرأ هذا التقرير. ما المقاييس التي تشير إلى بطء التحميل؟ اذكر قيمها ووحداتها.
احصل على خطة تحسين تركّز على LCP. إذا كانت بيانات التقرير تدعم ذلك، فاقترح ما يصل إلى ثلاثة تعديلات واشرح كيفية التحقق من نتيجة كل منها.
البيانات التي يتيحها الاتصال
يحدد الرمز حسابك، لذا لا يُعد userId من وسيطات الأدوات. يقتصر مرشح المشروع على تضييق قائمة تدقيقاتك، ولا يمنح الوصول إلى تدقيقات المستخدمين الآخرين. يقرأ MCP البيانات المحفوظة ولا يستطيع بدء فحص. تعامل مع نص الموقع الذي يجري تدقيقه بوصفه بيانات في التقرير، ولا تتعامل معه أبدًا كتعليمات لوكيلك.
حل المشكلات
404 / HTML بدلًا من JSON
تأكد من تفعيل نقطة اتصال MCP في بيئتك. استخدم المسار /mcp كما هو، دون شرطة مائلة أخيرة أو بادئة لغة. لصفحة الوثائق عنوان مختلف عن عنوان الاتصال.
401 unauthorized
تحقق من Authorization: Bearer والقيمة السرية للرمز. إذا عرض Codex الحالة failed (0 tools)، فأعد الإعداد باستخدام رمز صالح ثم أعد تشغيل Codex. استبدل الرموز المنتهية أو الملغاة. تسجيل الدخول عبر OAuth غير مدعوم.
403 origin forbidden
إذا كان العميل يعمل في المتصفح، فيجب أن يسمح خادم MCP بقيمة origin الخاصة به. تواصل مع Milten وأرسل اسم العميل وقيمة origin، دون إرسال الرمز.
429 rate limit exceeded
قلّل معدل الطلبات وأعد المحاولة لاحقًا. الحد الافتراضي للخادم هو 60 طلبًا في الدقيقة لكل رمز؛ وقد تختلف هذه القيمة حسب إعدادات البيئة.
audit not found / invalid arguments
استخدم UUID لتدقيق من استجابة list_audits الخاصة بك. يعيد كلّ من التدقيق غير الموجود وتدقيق مستخدم آخر الخطأ audit not found. تحقق من قيم تقسيم الصفحات وfocus وlimit.
مقاييس أو توصيات فارغة
تحقق من audit.status وdiagnostic. قد لا يحتوي التقرير على مقاييس مدعومة أو llmAdvice محفوظ. وقد تكون القائمة فارغة إذا لم تطابق أي توصية قيمة focus. لا يؤكد ذلك خلو الموقع من المشكلات.
503 / temporarily unavailable
خدمة المصادقة أو خدمة التدقيق غير متاحة مؤقتًا. أعد المحاولة لاحقًا؛ وإذا استمرت المشكلة، فتواصل مع الدعم.