/ الدليل / الملعب / mcptools
● مجتمع f ⚡ فوري

mcptools

بواسطة f · f/mcptools

أداة شاملة لمطوري MCP — واجهة سطر أوامر للفحص والاستدعاء والمحاكاة والتوكيل والحماية لأي خادم MCP.

mcptools (f/mcptools) هي أداة سطر أوامر مكتوبة بـ Go للتفاعل مع خوادم MCP عبر stdio و HTTP و SSE. استخدمها لعرض الأدوات على الخادم، واستدعاؤها بشكل مخصص، وإنشاء خوادم وهمية للاختبار، وتغليف نصوص shell كأدوات MCP، أو فرض سياسات وصول عبر guard. فكر فيها كـ curl + jq + mitmproxy لنظام MCP.

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

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

عرض مباشر

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

mcptools.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcptools": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/f/mcptools"
      ],
      "_inferred": true
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcptools": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/f/mcptools"
      ],
      "_inferred": true
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcptools": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/f/mcptools"
      ],
      "_inferred": true
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcptools": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/f/mcptools"
      ],
      "_inferred": true
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcptools",
      "command": "TODO",
      "args": [
        "See README: https://github.com/f/mcptools"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "mcptools": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/f/mcptools"
        ]
      }
    }
  }
}

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

claude mcp add mcptools -- TODO 'See README: https://github.com/f/mcptools'

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

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

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

كيفية تصحيح أخطاء خادم MCP باستخدام mcptools

👤 مؤلفو خوادم MCP ⏱ ~15 min intermediate

متى تستخدمه: يعمل MCP الخاص بك في Claude Desktop أحياناً لكنه يفشل بصمت — تحتاج إلى رؤية حركة البيانات الخام على السلك.

المتطلبات الأساسية
  • mcptools مثبتة — brew install f/mcptools/mcp أو go install github.com/f/mcptools/cmd/mcp@latest
الخطوات
  1. عرض الأدوات على الخادم
    قم بتشغيل mcp tools --transport stdio -- node ./my-server.js. تحقق من أسماء الأدوات والمخططات.✓ تم النسخ
    → قائمة نظيفة؛ إذا كانت فارغة، فإن الخادم لم يعلن عن الأدوات بشكل صحيح
  2. استدعاء أداة محددة بحجج خام
    قم بتشغيل mcp call my_tool --params '{"x":1}' -- node ./my-server.js وافحص استجابة JSON.✓ تم النسخ
    → مخرجات الأداة تطابق المخطط المتوقع
  3. بدء shell تفاعلي
    قم بتشغيل mcp shell -- node ./my-server.js واستدعِ الأدوات يدويًا.✓ تم النسخ
    → REPL مع tab-complete على أدواتك

النتيجة: ترى بالضبط ما يراه Claude — الأخطاء التي تحدث فقط في Claude تصبح مرئية هنا.

المزالق
  • الخادم يكتب السجلات إلى stdout، مما يفسد تدفق JSON-RPC — وجه جميع السجلات إلى stderr. mcptools يعرض هذا — التلميح هو أخطاء في تحليل JSON غير واضحة
  • مخطط الأداة يستخدم كلمات أساسية JSON Schema غير مدعومة — التزم بـ draft-07 الأساسية؛ بعض العملاء يرفضون $ref و allOf وما إلى ذلك

محاكاة خادم MCP لاختبار عميل MCP

👤 مؤلفو العملاء ⏱ ~20 min intermediate

متى تستخدمه: يجب ألا تعتمد CI على خادم حقيقي مثل Sentry أو GitHub — تحتاج إلى محاكاة حتمية.

الخطوات
  1. كتابة مواصفات محاكاة
    أنشئ ./mock.yaml قائمة بالأدوات التي تريد محاكاتها مع استجابات مخزنة.✓ تم النسخ
    → YAML يصف أسماء الأدوات وقوالب الإخراج
  2. قم بتشغيل mcp mock
    قم بتشغيل mcp mock --config ./mock.yaml --transport stdio وأشر عميلك إليه.✓ تم النسخ
    → يرى العميل قائمة أدوات مكتملة بالكامل؛ الاستدعاءات تعيد بيانات مخزنة

النتيجة: اختبارات محكومة تمر على CI معزول عن الشبكة.

كشف أمر shell كأداة MCP دون كتابة خادم

👤 فريق Ops، القراصنة DIY ⏱ ~10 min beginner

متى تستخدمه: لديك نص shell مفيد وتريد Claude ليستدعيه — لكن كتابة خادم MCP كامل تبدو مبالغاً فيها.

الخطوات
  1. غلف النص
    قم بتشغيل mcp proxy register disk_usage --command 'df -h' وأكد أنه مسجل.✓ تم النسخ
    → تم تسجيل الأداة disk_usage
  2. أشر Claude إلى mcp proxy
    قم بتكوين mcpServers الخاصة بـ Claude باستخدام mcp proxy serve.✓ تم النسخ
    → يمكن لـ Claude استدعاء disk_usage والحصول على مخرجات df

النتيجة: أدوات MCP بدون أي كود لعمليات الأتمتة السريعة.

المزالق
  • كشف shell غير مقيد يمكن أن يكون خطراً — استخدم mcp guard للسماح بأوامر محددة؛ لا تكشف bash -c

فرض سياسات السماح والرفض على MCP في المتجهة مع mcptools guard

👤 الفريق الذي يقدر الأمان والذي يستخدم MCPs من جهات خارجية ⏱ ~20 min advanced

متى تستخدمه: تثق في GitHub MCP للقراءات لكن لا تريد للوكلاء أن ينشئوا issues أو يحذفوا فروع.

الخطوات
  1. كتابة سياسة
    أنشئ سياسة guard تسمح بأدوات list_* و get_* لكن ترفض كل شيء آخر على خادم github.✓ تم النسخ
    → ملف السياسة مع قواعد صريحة
  2. قم بتشغيل guard
    قم بتشغيل mcp guard --policy ./policy.yaml -- npx -y @modelcontextprotocol/server-github وأشر Claude إلى guard بدلاً من الخادم مباشرة.✓ تم النسخ
    → الاستدعاءات المرفوضة تعيد خطأ واضح، الاستدعاءات المسموحة تمر عبر

النتيجة: واجهة للقراءة فقط أمام خادم قوي — إعدادات أكثر أماناً.

التركيبات

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

mcptools + hyper

تصحيح تحميل مكوّن hyper-mcp باستخدام mcp shell قبل توصيله بـ Claude

استخدم mcp shell لعرض المكوّنات على خادم hyper-mcp الخاص بك واختبر استدعاء كل أداة.✓ تم النسخ
mcptools + claude-code

تحقق من كل خادم MCP في إعدادات Claude Code الخاصة بك باستخدام mcp tools

لكل خادم في ~/.claude.json، قم بتشغيل mcp tools للتحقق من بدئه وإعلانه لقائمة أدوات غير فارغة.✓ تم النسخ

الأدوات

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

الأداةالمدخلاتمتى تستدعيهاالتكلفة
mcp tools --transport <stdio|http|sse>, -- <server-cmd> فحص سطح الخادم 0
mcp call <tool-name> --params '<json>' -- <server-cmd> استدعاء مخصص بدون عميل 1 tool call
mcp shell -- <server-cmd> تصحيح استكشافي 0
mcp mock --config <yaml> اختبار CI والعميل 0
mcp proxy register <name> --command '<shell>'; serve غلف shell إلى MCP بدون كود 0
mcp guard --policy <yaml> -- <server-cmd> تطبيق السماح والرفض على خادم في المتجهة 0

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

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

حصة API
لا توجد — CLI محلي
الرموز لكل استدعاء
غير قابل للتطبيق (ليس MCP بحد ذاته)
التكلفة المالية
مجاني، MIT
نصيحة
استخدم --format json | jq لأتمتة الفحوصات في CI

الأمان

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

تخزين بيانات الاعتماد: يمرر إلى الخادم الموكل؛ mcptools نفسه لا يخزن أي شيء
نقل البيانات الخارجي: فقط حيث يذهب الخادم الموكل أو المحمي

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

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

`mcp tools` يتعطل إلى الأبد

الخادم يكتب السجلات إلى stdout، مما يفسد المصافحة. وجه سجلات الخادم إلى stderr

تحقق: mcp tools --timeout 5s -- <cmd>
لم يتم العثور على الملف الثنائي بعد `go install`

تأكد من أن $GOPATH/bin في PATH الخاص بك

تحقق: which mcp
سياسة Guard لا تطابق أي شيء

يجب أن تتطابق أسماء السياسة مع أسماء الأدوات تماماً (حساس لحالة الأحرف). استخدم mcp tools أولاً لتأكيد الأسماء

البدائل

mcptools مقابل البدائل

البديلمتى تستخدمهاالمقايضة
MCP Inspectorتفضل واجهة رسومية وأنت بخير مع تشغيل تطبيق ويب محليأثقل؛ أقل قابلية للنصيّة من CLI
Raw jsonrpc via stdioتقوم بتصحيح عميق لمشكلة البروتوكولمفصل؛ mcptools يتعامل مع المصافحة لك

المزيد

الموارد

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

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

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