/ الدليل / الملعب / mcp-use
● مجتمع mcp-use ⚡ فوري

mcp-use

بواسطة mcp-use · mcp-use/mcp-use

مكتبة Python تربط عدة خوادم MCP في وكيل LangChain واحد — أو تشغلها بدون LLM

mcp-use هو إطار عمل Python على جانب العميل. وجهه نحو N من تكوينات خادم MCP (stdio أو HTTP)، وليفها بـ MCPAgent مع أي LLM متوافق مع LangChain، وستحصل على وكيل متعدد الخوادم يعمل. يدعم أيضاً استدعاءات أداة MCPClient مباشرة بدون LLM — مفيد للأتمتات النصية.

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

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

عرض مباشر

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

mcp-use.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcp-use": {
      "command": "uvx",
      "args": [
        "mcp-use"
      ]
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcp-use": {
      "command": "uvx",
      "args": [
        "mcp-use"
      ]
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcp-use": {
      "command": "uvx",
      "args": [
        "mcp-use"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcp-use": {
      "command": "uvx",
      "args": [
        "mcp-use"
      ]
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcp-use",
      "command": "uvx",
      "args": [
        "mcp-use"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "mcp-use": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-use"
        ]
      }
    }
  }
}

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

claude mcp add mcp-use -- uvx mcp-use

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

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

استخدامات عملية: mcp-use

بناء وكيل مخصص يستخدم playwright + filesystem + postgres

👤 مطورو Python الذين يبنون وكلاء رأسية ⏱ ~45 min intermediate

متى تستخدمه: تحتاج إلى أتمتة قابلة للتكرار (وليس Claude Desktop) تربط المتصفح + الملفات + قاعدة البيانات.

المتطلبات الأساسية
  • Python 3.10+, uv or pip — إعداد قياسي
  • An LLM API key (OpenAI / Anthropic) — ضعه كمتغير بيئة يتوقعه نموذج LangChain الخاص بك
الخطوات
  1. حدد تكوينات الخادم
    اكتب تكوين mcp-use يتصل بـ playwright (stdio عبر npx) و postgres (stdio عبر uvx) ونظام الملفات (مسار محلي مقيد).✓ تم النسخ
    → تكوين JSON/dict يطابق المخطط
  2. وصل الوكيل
    أنشئ MCPAgent باستخدام ChatAnthropic (claude-sonnet-4) والتكوين أعلاه. الحد الأقصى للتكرارات = 15.✓ تم النسخ
    → instance الوكيل جاهز لـ .run()
  3. قم بتشغيل مهمة
    شغل: 'قم بزحف docs.example.com وحفظ كل صفحة في ./knowledge/ ثم فهرس العناوين في جدول postgres docs. راقب استدعاءات الأداة في السجلات.'✓ تم النسخ
    → تكتمل المهمة وتصل البيانات حيث متوقع

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

المزالق
  • الوكيل يتكرر بين الخوادم وحرق الرموز — ضع max_iterations صارم واستخدم LLM يتبع التعليمات جيداً — GPT-4o-mini غالباً ما يتكرر على السلاسل المعقدة واستخدم نموذج أقوى
  • خوادم stdio تصبح zombie بعد الانهيار — استخدم دائماً نمط context manager غير المتزامن — فهو يتعامل مع التنظيف؛ لا تدر العملية بنفسك
اجمعها مع: fastmcp · mcp-agent

استدعاء أدوات MCP من Python بدون LLM

👤 المهندسون الذين يأتمتون مهام العمليات ⏱ ~20 min intermediate

متى تستخدمه: تريد استدعاء أداة MCP كجزء من خط أنابيب Python أكبر بطريقة حتمية.

الخطوات
  1. اتصل بالعميل مباشرة
    استخدم MCPClient للاتصال بـ filesystem MCP الخاص بي. اسرد الأدوات المتاحة.✓ تم النسخ
    → أسماء الأدوات + المخططات مطبوعة
  2. استدعِ أداة بوسائط محددة النوع
    استدعِ write_file مع path='./out.txt' و content='hello'. أكد قيمة الإرجاع.✓ تم النسخ
    → تم كتابة الملف بدون LLM
  3. ادمج في منطق عملك
    لف هذا في دالة save_report(df) تستدعي أداة MCP — دمج في Python ETL الموجود.✓ تم النسخ
    → دالة قابلة للإعادة

النتيجة: MCP كمكتبة: نفس الخوادم المستخدمة بواسطة Claude Desktop قابلة للاستدعاء من Python عادي.

المزالق
  • الأخطاء لا تصعد بشكل طبيعي — أخطاء MCP تأتي كـ result objects مع isError: true — افحص result.isError بعد كل استدعاء؛ لا تفترض النجاح

بناء وكيل موجه يختار MCP المناسب لكل طلب

👤 الفرق التي تشحن منتجات الوكيل ⏱ ~60 min advanced

متى تستخدمه: المستخدمون يرسلون طلبات مختلطة (كود وبيانات وويب) — واحدة من 50 أداة تتدهور؛ تريد التوجيه.

الخطوات
  1. حدد مجموعات الخادم
    اقسم خوادم MCP الخاصة بي إلى 3 مجموعات: 'code' (git و github) و 'data' (postgres و bigquery) و 'web' (firecrawl و playwright).✓ تم النسخ
    → 3 تكوينات وكيل منفصلة
  2. أضف طبقة موجه
    اكتب prompt مصنف يختار مجموعة واحدة بناءً على نية المستخدم. استخدمه لإنشاء instance MCPAgent المطابق حسب الحاجة.✓ تم النسخ
    → المصنف يعود بواحد من {code, data, web}
  3. اختبر مع حركة مرور مختلطة
    شغل 10 طلبات متنوعة عبر الموجه. سجل أي مجموعة تعاملت مع كل منها وما إذا كانت الإجابة صحيحة.✓ تم النسخ
    → جدول الدقة + إحصائيات الكمون

النتيجة: نظام وكيل معياري حيث كل طلب يرى فقط الأدوات ذات الصلة به — دقة أفضل وتكلفة رمز أقل.

المزالق
  • الحالات الحدية حيث يحتاج الطلب إلى مجموعتين (مثل 'scrape + save to DB') — حدد مجموعة 'cross' رابعة أو الرجوع إلى نمط Orchestrator عبر mcp-agent
اجمعها مع: mcp-agent

التركيبات

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

mcp-use + mcp-agent

استخدم mcp-use للاتصال بالخوادم و mcp-agent لأنماط سير العمل (orchestrator و evaluator و router)

بناء حلقة evaluator-optimizer حيث يستخدم writer agent mcp-use للوصول إلى filesystem + git و يقوم critic agent بمراجعة الإخراج باستخدام نفس الخوادم.✓ تم النسخ
mcp-use + fastmcp

اكتب خادم باستخدام FastMCP ثم برنامج نصي ضده باستخدام mcp-use — مكدس وكيل Python من طرف إلى طرف

الخادم: عرض pricing API الخاص بنا عبر FastMCP. العميل: استخدم mcp-use لاستدعاءه في برنامج محاكاة التسعير.✓ تم النسخ

الأدوات

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

الأداةالمدخلاتمتى تستدعيهاالتكلفة
MCPClient(config) server config dict/path نقطة الدخول لأي برنامج نصي mcp-use free
MCPAgent(llm, client, max_steps) LangChain chat model + MCPClient عندما تريد اختيار أداة مدفوع بـ LLM LLM calls only
client.list_tools() server_name? تفتيش ما هو متاح قبل الاستدعاء free
client.call_tool(name, args) tool_name, dict استدعاء حتمي مباشر — بدون LLM depends on tool
MCPServer decorator API @server.tool() on functions أقل شيوعاً؛ FastMCP عادة ما يكون أنظف لبناء الخادم free

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

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

حصة API
لا شيء من mcp-use نفسه؛ يعتمد على LLM و MCPs البعيدة
الرموز لكل استدعاء
استدعاءات مدفوعة بـ LLM حرق الرموز — نموذج تكلفة وكيل LangChain المعتاد
التكلفة المالية
المكتبة مجانية واستخدام LLM ليس كذلك
نصيحة
بالنسبة للتدفقات الحتمية استخدم client.call_tool مباشرة — تخطي LLM. احتفظ بـ MCPAgent للمهام الغامضة حقاً.

الأمان

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

تخزين بيانات الاعتماد: لكل MCP أساسي — mcp-use لا يضيف طبقة
نقل البيانات الخارجي: موفر LLM + كل MCP متصل

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

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

ConnectionError when starting stdio server

command في تكويناتك ليس في PATH أو الحزمة غير مثبتة. اختبر يدويا: شغل نفس npx -y ... في محطة أولا.

تحقق: which npx && npx -y @modelcontextprotocol/server-filesystem --help
Agent calls tools correctly but answer is wrong

عادة مشكلة LLM — جرب نموذج أقوى. غالباً ما يفسر GPT-4o-mini والنماذج مفتوحة المصدر 7B نتائج الأداة بشكل خاطئ.

Event loop already running error

تستدعي sync API من داخل async context. استخدم await ودوال async client في كل مكان.

Tools from server A shadow names in server B

بادئة أسماء الأدوات لكل خادم في تكوينك أو الاعتماد على معالجة namespace المدمجة في المكتبة (ضع namespace=True).

البدائل

mcp-use مقابل البدائل

البديلمتى تستخدمهاالمقايضة
mcp-agentتريد أنماط سير عمل (orchestrator و router و evaluator) مدمجةأكثر آراء؛ أقل مرونة إذا كنت تريد LangChain الخام
Official Python MCP SDKتريد عميل المستوى الأقل — بدون LangChain بدون abstractionsكود أنابيب أكثر
LangGraph + MCPتحتاج إلى رسوم بيانية متعددة الأدوار مع نقاط تفتيشمنحنى تعلم أكثر انحداراً؛ مبالغة للوكلاء البسيطين

المزيد

الموارد

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

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

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