Bitculator

سجل التغييرات

سجل تغييرات خادم MCP

كل تغيير في خادم MCP على /mcp - الأدوات، والمدخلات، والنتائج، والمفاتيح، والحدود - والأحدث أولًا. وتوضّح سياساته ما الذي يُعدّ تغييرًا كاسرًا.

  1. تغيير

    استجابة 401 لم تعد توحي بـ OAuth

    أصبحت استجابة 401 من /mcp تحمل WWW-Authenticate: ApiKey realm="mcp" بدلًا من Bearer realm="mcp", error="invalid_token"، التي كانت تدفع بعض العملاء إلى البحث عن خادم OAuth. ولا تزال المفاتيح مقبولة عبر Authorization: Bearer أو X-API-Key.

  2. إضافة

    نتائج منظَّمة ومخططات مخرجات

    تُعيد استدعاءات الأدوات الناجحة structuredContent بجانب نص JSON الذي لم يتغير، وينشر tools/list مخطط outputSchema لكل أداة موثّقة استجابتها في عقد OpenAPI. وتبقى الأخطاء نصًا عاديًا بـ isError.

  3. إصلاح

    الأدوات الـ19 كلها في صفحة tools/list واحدة

    كان tools/list يُعيد 15 أداة في كل صفحة مع nextCursor، فلم يرَ العملاء الذين يتجاهلون المؤشر الأدوات get_coin_markets وget_coin_technicals وget_liquidations_summary وcalculate_dca أبدًا. وأصبحت الأدوات الـ19 كلها تأتي في صفحة واحدة.

  4. إصلاح

    أدوات منصات التداول تستجيب مجددًا

    كانت get_exchange وget_exchange_trust_score تُعيدان خطأً داخليًا لكل منصة تداول منذ الإطلاق. وتستجيب كلتاهما الآن؛ ولم تتغير المدخلات ولا حقول النتائج.

  5. إصلاح

    الأدوات المُوقَفة تصرّح بذلك مجددًا

    منذ 6 سبتمبر، كانت الأداة المُوقَفة تُجيب بـ server_error (HTTP 500). وأصبحت تُعيد مجددًا endpoint_unavailable (HTTP 503): This endpoint is temporarily unavailable.

  6. إصلاح

    تصحيح days في get_altseason_index

    كان days مُعلَنًا بقيمة افتراضية وحد أدنى قدره 0، لكن القيمة 0 كانت تُرفض دائمًا. وأصبح الآن من 1 إلى 365 دون قيمة افتراضية؛ لا تُمرّره للحصول على القراءة الحالية. وأصبح وصف get_global_history يذكر شكل النقطة ({time, marketcap} أو {time, volume}).

  7. إضافة

    بطاقة خادم ثابتة

    جديد: /.well-known/mcp/server-card.json دون مصادقة، يحمل serverInfo وتعريفات الأدوات الكاملة، ويُخزَّن مؤقتًا لمدة ساعة، لأدلة الخوادم التي لا تستطيع فحص خادم محمي بمفتاح. ويمكن الآن قراءته هو و/.well-known/mcp.json من أصول مختلفة (cross-origin).

  8. إضافة

    قبول المفاتيح في ترويسة X-API-Key

    أصبح /mcp يقبل مفتاح MCP أيضًا على هيئة X-API-Key: YOUR_API_KEY، للعملاء والبوابات التي تحجز Authorization لتسجيل الدخول الخاص بها. وعند إرسال هذه الترويسة يكون المفتاح الوارد فيها هو الوحيد الذي يُتحقَّق منه، وتُقبل البادئة Bearer إن لُصقت معه.

  9. تغيير

    تقييد المصادقة الفاشلة لكل مفتاح

    كانت محاولات المصادقة الفاشلة محدودة بـ 30 محاولة في الدقيقة لكل عنوان IP، وبعدها يُرفض كل مفتاح خلف ذلك العنوان. أما الآن فيمكن لمفتاح واحد أن يفشل 30 مرة في الدقيقة من عنوان IP واحد، ولعنوان IP واحد أن يفشل 300 مرة، ولا يحجب حدُّ عنوان IP المفاتيحَ التي نجحت مصادقتها خلال آخر 15 دقيقة تقريبًا.

  10. تغيير

    مؤشر Fear & Greed (0-100) في النتائج

    أصبحت get_fear_greed (القراءة الرئيسية وكل فاصل زمني) وget_global_market (fear_greed) تتضمنان index - المؤشر من 0 إلى 100 المعروض على Bitculator - بجانب score الخام، وتوجّه أوصاف الأدوات النموذجَ إلى الاستشهاد بـ index.

  11. إصلاح

    التقييم المخفَّف بالكامل في get_coin

    كانت get_coin تُعيد تقييمًا مخفَّفًا بالكامل قدره 0 للعملات التي ليس لها حد أقصى محدَّد للمعروض. وأصبحت الآن تعتمد على إجمالي المعروض بديلًا، وتكون القيمة null عندما لا يكون أيٌّ منهما معروفًا.

  12. إصلاح

    ترتيب الأكثر تحركًا، والبحث بالرمز، والهيمنة

    أصبحت get_top_movers ترتّب حسب التغيّر نفسه (بعد أن كان الترتيب عمليًا حسب القيمة السوقية)، وتستثني قائمة الخاسرين فيها العملات الثابتة عند 0.00. وتُعيد get_prices مع symbols عملة واحدة لكل رمز، وهي العملة النشطة الأعلى ترتيبًا، وتُبلغ get_global_market عن هيمنة BTC وETH بقيمة null بدلًا من 0 عندما لا تتوفر قيمة سوقية.

  13. إصلاح

    تصحيح التعليمات والأوصاف

    أصبحت تعليمات initialize تذكر أن القيم السوقية وأحجام التداول أرقام JSON (وكانت تقول إنها سلاسل عشرية)، ويذكر وصف sort في list_exchanges القيمة الافتراضية الفعلية -volume، وتنوّه get_exchange_trust_score إلى أن منصة التداول غير المصنَّفة تكون درجتها وتفصيلها null.

  14. إضافة

    الإدراج في مستندات الاكتشاف

    أصبح الخادم مُدرجًا في /apis.json و/.well-known/api-catalog، واكتسب /.well-known/mcp.json رابطي status وchangelog، ويُبلغ /status.json عن مكوّن mcp.

  15. تغيير

    مفاتيح وخطط وحصة خاصة

    تغيير كاسر: لا يقبل /mcp إلا المفاتيح المُنشأة في وحدة تحكم MCP؛ وتحصل مفاتيح Data API ومفاتيح الأدوات المصغّرة على 401. ولـ MCP خطط Free (2,500 استدعاء أداة شهريًا) وStarter (50,000) وPro (250,000) خاصة به، مع 2 و5 و10 خانات للمفاتيح، وفوترة خاصة به وقيود خطط خاصة به لكل أداة، ويبدأ كل حساب على Free. وأصبحت أخطاء الحصة والخطة تذكر خطة MCP.

  16. تغيير

    حد الاندفاع يشمل كل طلب

    أصبح كل طلب JSON-RPC إلى /mcp - initialize وtools/list وping واستدعاءات الأدوات - يُحتسب ضمن حد الاندفاع للخطة البالغ 30 أو 60 أو 120 في الدقيقة، ويؤدي تجاوزه إلى HTTP 429. ولا تُحتسب ضمن الحصة الشهرية إلا استدعاءات الأدوات.

  17. إصلاح

    أخطاء الخادم لم تعد تكشف التفاصيل الداخلية

    كانت أخطاء الخادم في الأدوات تتضمن رسالة الخطأ الداخلية. وأصبحت الآن تقول server_error (HTTP 500): Internal server error.

  18. إصلاح

    فشل استدعاءات الأدوات في بيئة الإنتاج

    منذ الإطلاق وحتى هذا الإصلاح، كان كل استدعاء أداة في بيئة الإنتاج يُعيد server_error، لأن الخادم كان يرفض طلب البيانات الداخلي الخاص به باعتباره آتيًا من مضيف غير موثوق.

  19. إضافة

    إطلاق خادم MCP

    انطلق /mcp عبر Streamable HTTP (طلبات POST فقط) مع 19 أداة للقراءة فقط لـ Claude وCursor وVS Code وأي عميل MCP، من search_coins وget_coin إلى calculate_dca، تُعيد البيانات نفسها التي يُعيدها REST API. وكان يستخدم مفاتيح Data API وخططها وحصتها، ويُحتسب كل استدعاء أداة طلبًا واحدًا، وكان /.well-known/mcp.json يصفه.

ابقَ على اطّلاع

يُعلَن هنا عن إزالة أي أداة أو مُدخل أو إعادة تسميته قبل ستة أشهر على الأقل - راجع سياسة إيقاف الدعم. وترتبط بطاقة الخادم على /.well-known/mcp.json بسجل التغييرات هذا.