تم رفض الإرسال، وعلى الأرجح ليس بسبب مشكلة في الكود، بل بسبب إحدى هذه البنود: خطأ في مساحة الأسماء، أو وضع سجل TXT في الموقع الخطأ، أو وصف طويل جدًا، أو تكرار الإصدار.
لقد واجهنا جميع هذه العقبات أثناء إرسال سوق بيانات x402 الخاص بنا — لا يمكن إعادة نشر نفس رقم الإصدار (ويجب أن يكون التحديث مثل: 1.0.0 → 1.0.1)، ويجب وضع سجل TXT فيجذر النطاقبدلاً من _mcp-auth يتم رفض أي واصف (selector) من هذا النوع تلقائيًا إذا تجاوز حقل description 100 حرف؛ ويتحقق هذا الأداة من كل بند وفق القواعد الرسمية وتولّد سلسلة أوامر جاهزة للتنفيذ مباشرةً.
—
—
| رسالة الخطأ / الظاهرة | المذنب الحقيقي | كيفية الإصلاح |
|---|---|---|
| version already exists | لا يمكن نشر نفس رقم الإصدار مرتين | زِد رقم الإصدار بمقدار 1 (1.0.0 → 1.0.1) ثم أَرسِل مرةً أخرى |
| generic signature error | تم وضع سجل TXT في _mcp-auth.النطاق تحت هذا النوع من المُحدِّدات | يجب وضعه فيجذر النطاق(apex)، وضّح سجلاً TXT بطريقة SPF وليس بطريقة DKIM |
| لا يزال التحقق يفشل بعد تغيير المفتاح | سجل TXT القديم لم يُحذف، وبالتالي يتم قراءته أولاً | احذف سجل TXT القديم في وقت تدوير المفتاح |
| التحقق من صحة HTTP: نجاح أمر curl محليًا، لكن فشل الموقع الرسمي | الرسمية تقوم بالسحب من أجهزتها الخاصة؛ وبذلكلا يتبع إعادة التوجيه 3xx | يجب أن يُرجع ملف التحقق رمز الاستجابة 200 مباشرةً دون إعادة توجيه؛ وتحقق من إمكانية الوصول إلى سجل AAAA الخاص بـ IPv6. |
| فشل التحقق من مساحة الأسماء | name ليست شكلًا معكوسًا للنطاق | feegate.org يتوافق مع org.feegate/* |
| تم رفض description | يتجاوز ١٠٠ حرف | اختصره ليكون ضمن ١٠٠ حرف، واترك التفاصيل لملف README |
| فشل إنشاء المفتاح في نظام macOS | نظام LibreSSL لا يدعم خوارزمية Ed25519 | استخدم OpenSSL 3.0+ (brew install openssl@3) |
١ · لا يمكن إعادة إرسال نفس رقم الإصدار.بعد النشر الناجح، إذا أردت تعديل الحقل description، فيجب رفع رقم الإصدار من 1.0.0 إلى 1.0.1؛ وإلا سيتم رفض التعديل تلقائيًا.
٢ · يجب أن يكون سجل TXT في جذر النطاق.من البديهي إضافة السجل إلى _mcp-auth.example.com، والجهة الرسمية تعترف فقط بـ apex (example.com)، وإذا أُضيف مُحدِّدٌ (selector) فستظهر دائمًا رسالة خطأ عامة في التوقيع، ويصعب ربط الخطأ بموقع السجل الخاطئ
٣ · النشر ليس إرسال طلب سحب (PR).إضافة ملف server.json إلى المستودع الرسمي أو تعديل ملف seed.json لن يؤدي إلى إدراج الخدمة؛ يجب النشر باستخدام أداة سطر الأوامر (CLI) من دليل المشروع الخاص بك فقط.
٤ · جلب البيانات من الموقع الرسمي يختلف تمامًا عن تنفيذ أمر curl محليًا.تقوم المنصة الرسمية بالوصول إلى البنية التحتية الخاصة بها دون متابعة إعادة التوجيه (redirects)؛ وسيؤدي وجود سجلات IPv6 تشير إلى عناوين غير قابلة للوصول إلى فشل فوري، حتى لو كانت الاتصالات عبر IPv4 تعمل بشكل طبيعي في المتصفح.