CalculatorLib MCP

اربط آلاف الحاسبات و9 فئة من محوّلات الوحدات — مُجمّعة في 12 أدوات مُدمجة فقط (تبحث عن حاسبة ثم تشغّلها) — بأي عميل Model Context Protocol. اسأل Claude أشياء مثل “ما مؤشر كتلة جسمي عند وزن 70 كجم وطول 170 سم؟” أو “حوّل 5 أمتار إلى أقدام”، واحصل على إجابة موثوقة بدلاً من حساب مُختلق.

12الأدوات المتاحة
آلافمن الحاسبات
9فئات المحوّلات
عنوان نقطة نهاية MCP
JSON-RPC 2.0 عبر Streamable HTTP. عام — يمكن لأي شخص الاستدعاء.
ترويسة Authorization اختياري
أضف هذه الترويسة لنسب الاستدعاءات إلى حسابك والحصول على تحليلات الاستخدام في /account/mcp-logs. إنشاء رمز →

التثبيت في 60 ثانية

اختر العميل الذي تستخدمه، الصق المقتطف، أعد التشغيل. هذا كل شيء.

نفّذ أمرًا واحدًا وسيتولّى Claude Code إعداد الاتصال:

claude mcp add --transport http calculatorlib https://calculatorlib.com/mcp

أو، إذا كنت تفضّل تحرير ملف الإعدادات ~/.claude/mcp.json يدويًا:

{
  "mcpServers": {
    "calculatorlib": {
      "url": "https://calculatorlib.com/mcp"
    }
  }
}

تحقّق باستخدام /mcp داخل Claude Code — يجب أن ترى calculatorlib متصلًا و12 أداة مدرجة.

حرّر إعدادات Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

أضف الإدخال mcpServers أدناه (وادمجه مع ما لديك مسبقًا):

{
  "mcpServers": {
    "calculatorlib": {
      "url": "https://calculatorlib.com/mcp"
    }
  }
}

أعد تشغيل Claude Desktop. سيُظهر رمز المطرقة في حقل الإدخال calculatorlib مع 12 أداة.

افتح إعدادات Cursor → MCPAdd new MCP server، ثم الصق:

{
  "mcpServers": {
    "calculatorlib": {
      "url": "https://calculatorlib.com/mcp"
    }
  }
}

يستخدم Cursor نفس نقل Streamable HTTP، لذا فإن مخطط JSON مطابق لمخطط Claude Desktop.

حرّر إعدادات Zed (cmd+, / ctrl+,Open Settings) وأضف خادم الحاسبات تحت context_servers:

{
  "context_servers": {
    "calculatorlib": {
      "source": "custom",
      "transport": {
        "type": "streamable-http",
        "url": "https://calculatorlib.com/mcp"
      }
    }
  }
}

أعد تحميل لوحة المساعد؛ تصبح أدوات الحاسبة متاحة لأي مسار وكيل. يتطلب دعم MCP في Zed الإصدار v0.165 أو أحدث.

افتح إضافة Cline في VS Code → MCP ServersEdit Configuration. على macOS يوجد ملف الإعدادات في ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json (مسارات Linux/Win مشابهة):

{
  "mcpServers": {
    "calculatorlib": {
      "url": "https://calculatorlib.com/mcp",
      "transportType": "streamableHttp"
    }
  }
}

يعيد Cline تحميل إعدادات الخادم تلقائيًا؛ تظهر الأدوات الجديدة في لوحة MCP خلال ثوانٍ.

افتح Windsurf → CascadeConfigure MCP، أو حرّر ~/.codeium/windsurf/mcp_config.json مباشرة:

{
  "mcpServers": {
    "calculatorlib": {
      "serverUrl": "https://calculatorlib.com/mcp"
    }
  }
}

أعد تشغيل Windsurf وستظهر أدوات الحاسبة في مُنتقي الأدوات بـ Cascade. يتطلب نقل HTTP الإصدار Windsurf 1.5+.

يمكن لأي عميل متوافق مع MCP يدعم نقل Streamable HTTP (إصدار المواصفات 2025-06-18) أن يتصل:

{
  "transport": "streamable-http",
  "endpoint": "https://calculatorlib.com/mcp"
}

أو استدعِ نقطة نهاية JSON-RPC مباشرة عبر curl:

curl -X POST https://calculatorlib.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

جرّب هذه المطالبات

بعد التثبيت، تحدّث إلى Claude بلغة طبيعية فحسب — وسيختار الأداة المناسبة.

1

“ما مؤشر كتلة جسمي إذا كان وزني 70 كجم وطولي 170 سم؟ هل أنا ضمن النطاق الصحي؟”

يستدعي Claude الأداة bmi_calculator ويُرجع مؤشر كتلة الجسم 24.22 مع تصنيف منظمة الصحة العالمية.

2

“حوّل 5 أمتار إلى أقدام، ثم 200 رطل إلى كيلوغرامات.”

يستدعي Claude الأداتين convert_length ثم convert_mass بالتتابع.

3

“إذا استثمرت 10 000 دولار بفائدة مركّبة سنوية 5% لمدة 20 عامًا، فما القيمة النهائية؟”

يستدعي Claude الأداة compound_interest_calculator ويعرض التفصيل.

4

“ما القسط الشهري لقرض سكني بقيمة 300 ألف دولار بفائدة 6.5% لمدة 30 عامًا؟”

يستدعي Claude الأداة home_loan_calculator بأصل القرض والفائدة والمدة.

ساحة تجربة مباشرة

استدعِ الخادم من هنا مباشرة — JSON-RPC حقيقي إلى https://calculatorlib.com/mcp واستجابات حقيقية. بدون تسجيل. جارٍ تحميل الأدوات…

رمز التفويض (اختياري)
طلب & استجابة JSON-RPC الخام
الطلب
الاستجابة
نصيحة للمحترفين — MCP Inspector للحصول على مُنقّح كامل للطلب/الاستجابة، شغّل الـ inspector الرسمي ووجّهه إلى هذا الخادم: شغّل npx @modelcontextprotocol/inspector، ثم اتصل بـ https://calculatorlib.com/mcp (النقل: Streamable HTTP).

متصفّح الأدوات

ابحث في مكتبة الحاسبات و9 فئة من المحوّلات بالاسم أو العنوان. مفيد عند اكتشاف ما تطلبه من Claude.

جارٍ تحميل الكتالوج…

كيف يعمل

  • نقطة النهاية: معالج POST وحيد عند https://calculatorlib.com/mcp يتحدّث JSON-RPC 2.0 عبر Streamable HTTP (مواصفات النقل 2025-06-18).
  • تسمية الأدوات: تستخدم معرّفات الحاسبات صيغة snake_case (bmi_calculator، compound_interest_calculator)؛ والمحوّلات على هيئة convert_<category>.
  • المدخلات: تنشر كل أداة مخطط JSON Schema مُشتقًّا من حقول نموذج الحاسبة (النوع، التعداد، الحد الأدنى/الأقصى). تُدرَج الحقول الشرطية (مثل المتري مقابل الإمبراطوري في مؤشر كتلة الجسم) كحقول اختيارية — اقرأ وصف كل حقل لمعرفة التركيبات الصالحة.
  • المخرجات: ملخص نصي من سطر واحد بالإضافة إلى كائن JSON باسم structuredContent يمكن للنموذج اللغوي تحليله (مثل { "main": [{...}], "data": [...] }).
  • التحديثات: يُحدَّث الكتالوج كل 5 دقائق — تظهر الحاسبات المنشورة حديثًا تلقائيًا.

واجهة API مباشرة (لا حاجة لعميل MCP)

أتريد التكامل دون عميل MCP؟ البيانات نفسها متاحة عبر نقاط نهاية JSON بسيطة.

curl -X POST https://calculatorlib.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -X POST https://calculatorlib.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc":"2.0","id":2,"method":"tools/call",
    "params":{
      "name":"bmi_calculator",
      "arguments":{"unitSystem":"metric","weight":70,"height":170}
    }
  }'
curl -X POST https://calculatorlib.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc":"2.0","id":3,"method":"tools/call",
    "params":{
      "name":"convert_length",
      "arguments":{"value":5,"from":"Meter","to":"Foot"}
    }
  }'

نقاط نهاية REST (دون غلاف JSON-RPC):

  • /api/calculators/schemas?q=<keywords> — البحث عن الحاسبات (مطابقات محدودة مع مخططات المدخلات)
  • /api/converter/categories — فئات المحوّلات مع الوحدات
  • POST /api/converter/convert — محوّل مباشر، الجسم { category, from, to, value }

المصادقة (اختيارية لكنها موصى بها)

الاستدعاءات المجهولة تعمل — المصادقة اختيارية. إضافة رمز يفتح تحليلات الاستخدام لكل مستخدم في /account/mcp-logs: يظهر هناك كل استدعاء تجريه عبر رمز، مع زمن الاستجابة وسبب الخطأ والحاسبة التي استدعيتها.

احصل على رمز (60 ثانية)

  1. سجّل الدخول (أو أنشئ حسابًا أولًا).
  2. انتقل إلى /account/api-tokens.
  3. انقر Generate token. انسخ القيمة — تُعرض مرة واحدة فقط.

أضفه إلى عميل MCP لديك

نفس ملف الإعدادات المستخدم في التثبيت العام، بالإضافة إلى حقل headers.Authorization:

{
  "mcpServers": {
    "calculatorlib": {
      "url": "https://calculatorlib.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN_HERE"
      }
    }
  }
}

لماذا تتكبّد العناء؟

  • سجلات استخدام شخصية — اطّلع على الحاسبات التي تستدعيها أكثر وأيّها يفشل، ضمن نطاق رمزك فقط (/account/mcp-logs).
  • عملاء متعددون، رموز منفصلة — أنشئ رمزًا لكل جهاز (حاسوب محمول، خادم، وكيل). إبطال أحدها لا يعطّل البقية.
  • أساس لميزات مستقبلية لكل مستخدم — عند إضافة حدود المعدّل / الحصص / الإعدادات المحفوظة، ستُربط بالاستدعاءات المُصادَق عليها.

curl مع رمز Bearer

curl -X POST https://calculatorlib.com/mcp \
  -H 'Authorization: Bearer YOUR_TOKEN_HERE' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

لمشغّلي الخوادم: اضبط MCP_REQUIRE_AUTH=true لطلب رمز في كل استدعاء (المجهول → 401). لا يزال متغيّر البيئة القديم MCP_API_TOKEN يعمل كتجاوز بسرّ مشترك واحد.

الأسئلة الشائعة & استكشاف الأخطاء

هل هذا مجاني؟ هل توجد حدود للمعدّل؟
نعم، مجاني وعام. يقف Cloudflare في المقدمة للحماية العامة من هجمات DDoS. لا توجد حصة لكل عنوان IP حاليًا — يُرجى التزام حدود معقولة. إذا كنت تتوقّع استخدامًا كثيفًا من بيئة الإنتاج، فاترك لنا ملاحظة عبر رابط التواصل في التذييل.
هل تخزّنون استعلاماتي؟
تُعالَج مدخلات الحاسبات في الذاكرة ولا تُسجَّل على مستوى التطبيق. قد يحتفظ Cloudflare وخادم التطبيق بسجلات وصول مؤقتة (طريقة الطلب، الحالة، عنوان IP) لأغراض التشغيل؛ ولا شيء عن محتوى حمولة JSON.
لماذا يقول Claude أحيانًا إن أداة لم تُرجِع بيانات مفيدة؟
يعرض جزء من الحاسبات نتائجه كـ HTML منسّق دون علامات دلالية. لا تستطيع طبقة MCP استخراج حقول مهيكلة من ذلك، فتُرجِع “لا مخرجات”. نحن نضيف العلامات تدريجيًا — تُرجِع معظم الحاسبات مخرجات مهيكلة غنية؛ أما الباقي فيعمل بشكل سليم لكنه يُرجِع ملخصًا من سطر واحد فقط.
هل يمكنني المصادقة كي يظهر استخدامي ضمن حسابي؟
نعم — سجّل الدخول وانتقل إلى /account/api-tokens لإنشاء رمز Bearer. مرّره كـ Authorization: Bearer <token> في كل طلب /mcp وستظهر استدعاءاتك في /account/mcp-logs. راجع قسم المصادقة أعلاه للحصول على إعدادات العميل الكاملة.
فقدت رمزي. هل يمكنني استرجاعه؟
لا — يُخزَّن تجزئة SHA-256 فقط. أبطل الرمز المفقود في /account/api-tokens وأنشئ رمزًا جديدًا.
نشرت حاسبة جديدة للتو — متى تظهر؟
خلال 5 دقائق (مدة بقاء ذاكرة الكتالوج). يمكن للمسؤولين فرض تحديث عبر /admin/tools/cache → Invalidate ALL caches.
اسم الأداة لا يطابق المعرّف الذي أراه في الرابط؟
تُحوَّل الشُّرَط في معرّفات الروابط إلى شُرَط سفلية في أسماء الأدوات (يتعامل مُحلّل أدوات Claude مع الشُّرَط السفلية بموثوقية أعلى). لذا يصبح /bmi-calculator هو bmi_calculator.
تعرض أداة مؤشر كتلة الجسم كلًا من المدخلات المترية (weight، height) والإمبراطورية (weightLbs، heightFt، heightIn) كحقول اختيارية. لماذا؟
الحاسبات ذات المدخلات الشرطية (مثل مبدّلات نظام الوحدات) لا يمكنها التعبير عن “X مطلوب عندما unitSystem=metric، وY مطلوب عندما unitSystem=imperial” في JSON Schema القياسي. لذا نُدرِج المجموعتين كحقول اختيارية ونترك للنموذج اللغوي قراءة وصف كل حقل لاختيار المجموعة الصحيحة.