/ الدليل / الملعب / Cloudflare
● رسمي cloudflare 🔑 يتطلب مفتاحك

Cloudflare

بواسطة cloudflare · cloudflare/mcp-server-cloudflare

أداة Cloudflare MCP الرسمية — نشر Workers والاستعلام عن D1، إدارة R2 و KV، قراءة السجلات والتحليلات، كل ذلك من الدردشة.

أداة Cloudflare MCP الرسمية (في الواقع عائلة من الأدوات، تُقدم عن بعد على *.mcp.cloudflare.com). تغطي نشر Workers والسجلات، استعلامات D1 SQL، تخزين KV/R2، مناطق DNS، وتحليلات Radar. تستخدم OAuth — بدون الحاجة للتعامل اليدوي مع رموز API.

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

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

عرض مباشر

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

cloudflare.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": [
        "-y",
        "@cloudflare/mcp-server-cloudflare"
      ]
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": [
        "-y",
        "@cloudflare/mcp-server-cloudflare"
      ]
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": [
        "-y",
        "@cloudflare/mcp-server-cloudflare"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": [
        "-y",
        "@cloudflare/mcp-server-cloudflare"
      ]
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "cloudflare",
      "command": "npx",
      "args": [
        "-y",
        "@cloudflare/mcp-server-cloudflare"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "cloudflare": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@cloudflare/mcp-server-cloudflare"
        ]
      }
    }
  }
}

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

claude mcp add cloudflare -- npx -y @cloudflare/mcp-server-cloudflare

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

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

استخدامات عملية: Cloudflare

تصحيح Worker يرمي رموز 500 في الإنتاج

👤 مطورو Cloudflare Workers في الخدمة ⏱ ~15 min intermediate

متى تستخدمه: ارتفع معدل خطأ Worker الخاص بك. تريد السجلات والنشرات الأخيرة والفارق بين ما تغير — دون فتح لوحة التحكم.

المتطلبات الأساسية
  • حساب Cloudflare المتصل بـ OAuth بعميل MCP الخاص بك — استدعاء الأداة الأول يشغل OAuth؛ امنح نطاقات 'Workers Observability' و 'Workers Bindings'
الخطوات
  1. تتبع سجلات Worker الأخيرة مع تصفية الأخطاء
    تتبع سجلات Worker 'api-edge' في آخر 15 دقيقة. صفِّ بـ status >= 500. اجمع حسب أول 100 حرف من رسالة الخطأ.✓ تم النسخ
    → قوالب الأخطاء الأساسية مع الأعداد والطوابع الزمنية
  2. قائمة النشرات الأخيرة
    اسرد آخر 5 نشرات للـ 'api-edge'. اعرض وقت النشر والمؤلف وتجزئة الإصدار.✓ تم النسخ
    → المسار الزمني للنشر — ارتباط مع بدء الخطأ
  3. العودة إلى الإصدار السابق إذا لزم الأمر
    يبدأ ارتفاع الخطأ بعد النشر في 14:22. أعد 'api-edge' إلى الإصدار السابق. اسأل قبل التأكيد.✓ تم النسخ
    → طلب التأكيد قبل الإجراء التدميري

النتيجة: Worker إنتاجي مستعاد مع ملاحظة ما بعد الحادث واضحة 'النشر X تسبب في الأخطاء Y'.

المزالق
  • تتبع السجل في الوقت الفعلي فقط؛ قد يفقد انفجار حدث بالفعل — للنوافذ التاريخية، استخدم أدوات Logpush أو Analytics Engine MCP بدلاً من التتبع
  • العودة للإصدار السابق لا تنقل حالة D1/KV — إذا قام النشر السيء بتشغيل الترحيلات، فالعودة للـ Worker وحده لا تكفي — قد تحتاج إلى استعادة D1 أيضاً
اجمعها مع: github · sentry

تشغيل تحليلات عفوية ضد قاعدة بيانات D1

👤 المطورون الذين يستخدمون D1 لبيانات التطبيق ⏱ ~10 min beginner

متى تستخدمه: تريد إحصائيات التسجيل أو الاستخدام من D1 الخاص بك، دون كتابة لوحة تحكم.

الخطوات
  1. ابحث عن قاعدة البيانات الصحيحة واسرد المخطط
    اسرد قواعد بيانات D1 الخاصة بي. بالنسبة للقاعدة المسماة 'prod-app'، اعرض جميع الجداول وأعمدتها.✓ تم النسخ
    → جرد قاعدة البيانات بالإضافة إلى المخططات
  2. تشغيل استعلام التحليلات
    في D1 'prod-app'، احسب المستخدمين الذين سجلوا في آخر 30 يومًا مجمعين حسب الأسبوع. اعرض فقط المستخدمين الذين لديهم حدث واحد على الأقل في جدول events.✓ تم النسخ
    → أعداد كل أسبوع، SQL صحيح
  3. التكرار
    قسّم بشكل أكبر حسب مصدر التسجيل. أي مصدر لديه أفضل معدل تفعيل لمدة 7 أيام؟✓ تم النسخ
    → مقارنة كل مصدر مع المعدلات

النتيجة: أرقام جاهزة للقرار مع عرض SQL.

المزالق
  • D1 لديه حدود صفوف ووقت تنفيذ لكل استعلام — للتجميعات الكبيرة، قم بالتجميع المسبق في جدول ملخص حسب الجدول الزمني بدلاً من فحص الأحداث الخام في كل مرة
اجمعها مع: notion

تدقيق وتنظيف مساحة اسم KV المنتفخة

👤 المهندسون الذين تجاوزت ذاكرة التخزين المؤقت للـ Workers الحد ⏱ ~20 min intermediate

متى تستخدمه: فاتورة KV الخاصة بك مرتفعة؛ تشك في وجود مفاتيح قديمة أو TTLs معكوسة.

الخطوات
  1. مسح مساحة الاسم
    بالنسبة لمساحة اسم KV 'session-cache'، اسرد أول 1000 مفتاح. عيّن عينة من 10 قيم وأخبرني عن هيكلها.✓ تم النسخ
    → توزيع نمط المفتاح وأشكال العينة
  2. تحديد الإدخالات القديمة
    بالنسبة للمفاتيح المطابقة لـ session:*، كم عدد التي لم يتم الوصول إليها في أكثر من 30 يومًا؟ (استخدم البيانات الوصفية إذا كانت موجودة؛ وإلا فعينة وتحقق من الطوابع الزمنية في القيم.)✓ تم النسخ
    → تقدير المفتاح القديم بالإضافة إلى المعايير المستخدمة
  3. الحذف بأمان
    احذف المفاتيح المطابقة لـ session:expired:* في مجموعات من 100. أريني الدفعة الأولى قبل المتابعة.✓ تم النسخ
    → معاينة الدفعة قبل أي حذف

النتيجة: مساحة اسم KV أنظف بتكلفة تخزين أقل.

المزالق
  • KV متسق في النهاية — الحذف قد يظهر كـ un-delete مؤقتًا من edge POPs — لا تعتمد على التماسك الفوري بعد الحذف الجماعي؛ تحقق من الحالة بعد دقيقة

مراجعة سجلات DNS قبل الهجرة إلى مجال آخر

👤 مهندسو العمليات الذين ينقلون المجالات بين الموفرين ⏱ ~15 min beginner

متى تستخدمه: أنت على وشك تغيير خوادم الأسماء وتريد جرد كل سجل حتى لا تسقط MX أو DMARC أو نطاق فرعي منسي.

الخطوات
  1. تفريغ كل سجل
    اسرد جميع سجلات DNS لمنطقة example.com. اجمع حسب النوع. أدرج الأولويات لـ MX والأوزان لـ SRV.✓ تم النسخ
    → جرد السجل الكامل
  2. علم السجلات الحرجة
    أبرز أي منها سيكسر البريد الإلكتروني (MX، SPF في TXT، DKIM، DMARC)، بالإضافة إلى أي A/AAAA/CNAME يشير إلى خدمات الجهات الخارجية (Stripe, HubSpot, status page).✓ تم النسخ
    → قائمة السجلات الحرجة مع الحجة
  3. إنتاج قائمة تحقق من الهجرة
    حوّل هذا إلى قائمة تحقق يمكنني تشغيلها على الموفر الجديد — كل سجل مع وجهته و TTL و خطوة 'الاختبار بعد الهجرة'.✓ تم النسخ
    → مصنف نسخ لصق

النتيجة: مصنف يوم الهجرة يترك كل سجل في الخلف.

المزالق
  • سجلات DKIM المنسية تكسر البريد الإلكتروني بصمت بعد 24 ساعة — اسرد كل سجل _domainkey.<selector> بشكل خاص — إنها الأسهل في الحذف
اجمعها مع: filesystem

تحقق من Cloudflare Radar لحادث إنترنت يؤثر على المستخدمين

👤 المستجيبون للحوادث، قادة الدعم ⏱ ~10 min intermediate

متى تستخدمه: يبلغ المستخدمون أن موقعك معطل في البرازيل. قد تكون أنت، قد تكون الإنترنت.

الخطوات
  1. الاستعلام عن Radar للدولة
    Cloudflare Radar: هل هناك أي انقطاع إنترنت ملحوظ في البرازيل في آخر 6 ساعات؟ أدرج شذوذ BGP وانقطاعات ISP وحركة الهجوم.✓ تم النسخ
    → قائمة الأحداث المعروفة أو 'لا شيء غير طبيعي'
  2. التحقق المتقاطع مع حركة المرور الخاصة بك
    بالنسبة لمنطقتي example.com، حركة المرور من BR في آخر 6 ساعات — الحجم وتقسيم حالة HTTP وأعلى وكلاء المستخدم.✓ تم النسخ
    → ملف حركة المرور الخاص بـ BR
  3. الخلاصة
    بناءً على Radar + حركة المرور الخاصة بي، هل هذه مشكلة إنترنت البرازيل العامة أم محددة لموقعي؟✓ تم النسخ
    → حكم واضح مع الأدلة الداعمة

النتيجة: إجابة قابلة للدفاع عن 'ليس خطأنا، إنها مشكلة <ISP X>' أو 'إنه خطأنا، إليك ما'.

المزالق
  • بيانات Radar لديها تأخير ~1 ساعة — للحوادث الطازجة جداً، اجمع مع بيانات RUM الخاصة بك
اجمعها مع: sentry

التركيبات

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

cloudflare + github

ارتباط العودة للإصدار السابق لـ Workers مع GitHub PR الذي أدخل الانحدار

Worker 'api-edge' يفشل منذ النشر في 14:22. ابحث عن GitHub PR الذي يتطابق دمجه مع ذلك النشر وتلخيص تغييراته.✓ تم النسخ
cloudflare + sentry

Sentry يبلغ عن أخطاء من أصل Worker؛ Cloudflare MCP تسحب سجلات جانب Worker لنفس requestId

مشكلة Sentry EDGE-441 لديها CF-Ray 8abc123. تتبع Worker 'api-edge' لتلك الشعاع وإظهار سطر السجل المطابق.✓ تم النسخ
cloudflare + filesystem

تحرير مصدر Worker محليًا، النشر عبر wrangler، التحقق عبر سجلات Cloudflare MCP

أصلح الخلل في src/index.ts في السطر 44، انشر، ثم تتبع سجلات 'api-edge' للتأكد من عدم وجود 500 أخرى.✓ تم النسخ

الأدوات

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

الأداةالمدخلاتمتى تستدعيهاالتكلفة
workers_tail script_name: str, filter?: object تتبع سجلات Worker في الوقت الفعلي free (within plan limits)
workers_list_deployments script_name: str مراجعة الإصدارات الأخيرة لـ Worker free
workers_rollback script_name: str, version_id: str العودة إلى إصدار سابق — محدود، تدميري free
d1_list_databases none جرد قواعد بيانات D1 الخاصة بك free
d1_query database_id: str, sql: str, params?: [] تشغيل SELECT أو SQL mutating — الكتابات تتطلب تأكيد موجه صريح D1 pricing per rows read/written
kv_list_keys namespace_id: str, prefix?: str, limit?: int, cursor?: str عدد المفاتيح للتدقيق KV read pricing
kv_get_value / kv_put_value / kv_delete namespace_id, key, value?, ttl? قراءة/كتابة/حذف مفاتيح محددة KV op pricing
r2_list_buckets / r2_list_objects bucket?, prefix? جرد R2 R2 read ops
r2_get_object / r2_put_object bucket, key, body? قراءة/كتابة كائنات R2 R2 op pricing
dns_list_records zone_id: str جرد المنطقة free
dns_create_record / update_record / delete_record zone_id, record params طفرات المنطقة — محدودة free
radar_get_http_timeseries / radar_get_attacks timeframe, region filters سياق صحة الإنترنت العالمي free
analytics_engine_query sql: str استعلامات محرك تحليلات Workers المخصصة analytics engine read ops

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

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

حصة API
يتم تطبيق حدود Workers/D1/KV/R2 حسب الخطة؛ استدعاءات MCP تحسب ضد الاستخدام المنتظم
الرموز لكل استدعاء
200-2000 رمز نموذجي؛ يمكن أن تكون تتبعات السجل كبيرة جداً — فلتر دائماً
التكلفة المالية
MCP مجاني؛ فاتورة خدمات Cloudflare الخاصة بك كالمعتاد
نصيحة
D1 و KV الفاتورة حسب row-read و op-count. يمكن أن تكون قائمة/مسح بالجملة مكلفة جداً — قسّم مع أحجام صفحات متواضعة وتوقف مبكراً.

الأمان

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

الحد الأدنى من الصلاحيات: Workers:Read D1:Read KV:Read
تخزين بيانات الاعتماد: رموز OAuth التي يدارها عميل MCP الخاص بك؛ لا توجد رموز API طويلة الأجل في env
نقل البيانات الخارجي: جميع الاستدعاءات إلى Cloudflare API؛ يمر تدفق OAuth عبر dash.cloudflare.com
لا تمنح أبدًا: Account:Admin إلا إذا كان ضروريًا تماماً Zone:DNS:Edit على المناطق الحية بدون اختبار التدرج أولاً

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

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

OAuth flow didn't complete

قد لا يدعم عميل MCP الخاص بك عمليات إعادة توجيه OAuth. تحقق من المستندات (Claude Desktop, Cursor وغيرها تدعمها بشكل مختلف). حاول إعادة توصيل MCP الموزع من واجهة المستخدم للعميل.

Workers tail disconnects after a minute

جلسات التتبع محدودة الوقت. أعد تشغيل التتبع، أو بالنسبة للنوافذ الأطول استخدم Logpush والاستعلام عبر Analytics Engine بدلاً من ذلك.

D1 query returns 'Too many rows read'

تحد D1 الصفوف المفحوصة لكل استعلام حسب الخطة. أضف جملة WHERE التي تستخدم فهرسًا، أو قسّم مع LIMIT.

permission denied on a DNS tool

لم يتم منح نطاق OAuth لـ Zone:DNS:Edit. أعد توصيل MCP والموافقة على النطاق الإضافي.

البدائل

Cloudflare مقابل البدائل

البديلمتى تستخدمهاالمقايضة
AWS MCP (awslabs)أنت على AWS وليس Cloudflareسطح سحابي مختلف؛ ليس بديلاً جاهزًا
Vercel MCPهدف النشر الخاص بك هو Vercel (وظائف edge، KV، blobs)نموذج MCP موزع مماثل؛ مجموعة ميزات أضيق
wrangler CLI directly via shellتريد قوة wrangler الكاملة (تحرير config، secrets) وليس فقط سطح MCPلا توجد ergonomics للعميل؛ نطاق انفجار أوسع إذا تم scriptها بشكل خاطئ

المزيد

الموارد

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

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

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