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

ros-mcp-server

بواسطة robotmcp · robotmcp/ros-mcp-server

اسمح لـ Claude أو GPT بقيادة روبوت متصل بـ ROS — انشر الموضوعات، استدعِ الخدمات، اقرأ المستشعرات — عبر rosbridge، بدون تغييرات في الأكواد.

يربط robotmcp/ros-mcp-server نماذج ذكاء اصطناعي بروبوتات ROS 1 و ROS 2 عبر rosbridge. انشر إلى الموضوعات، اشترِك، استدعِ الخدمات والإجراءات، عيّن المعاملات، اقرأ بيانات المستشعرات. يعمل عبر توزيعات ROS المختلفة بما فيها Humble و Jazzy.

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

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

عرض مباشر

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

ros.replay ▶ جاهز
0/0

التثبيت

اختر العميل

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

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ros": {
      "command": "uvx",
      "args": [
        "ros-mcp-server"
      ],
      "_inferred": true
    }
  }
}

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

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

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

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

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

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

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

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

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

claude mcp add ros -- uvx ros-mcp-server

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

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

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

كيفية قيادة روبوت محاكى من خلال الدردشة

👤 متعلمو ROS، مطورو الروبوتات الذين يختبرون السلوكيات ⏱ ~30 min intermediate

متى تستخدمه: عندما تريد اختبار السلوكيات العالية المستوى للروبوت بسرعة.

المتطلبات الأساسية
  • ROS 2 (Humble/Jazzy) أو ROS 1 قيد التشغيل — حاويات Docker الخاصة بـ Humble تعمل بشكل رائع للبدايات السريعة
  • تثبيت rosbridge_suite وتشغيلها — ros2 launch rosbridge_server rosbridge_websocket_launch.xml
  • Python 3.10+ + uvx — brew install [email protected] uv
الخطوات
  1. الاتصال بـ rosbridge
    قم بتكوين MCP باستخدام ROSBRIDGE_URL=ws://localhost:9090 والتحقق من الاتصال.✓ تم النسخ
    → يتم إرجاع قائمة الموضوعات النشطة
  2. تحريك الروبوت
    انشر إلى /cmd_vel رسالة Twist تتحرك للأمام بسرعة 0.2 م/ث لمدة 3 ثوانٍ، ثم توقف.✓ تم النسخ
    → الروبوت يتحرك في المحاكاة
  3. اقرأ من مستشعر
    اشترِك في /scan لمدة ثانيتين وأبلغ عن العوائق في نطاق متر واحد.✓ تم النسخ
    → ملخص بيانات النطاق

النتيجة: روبوت حي يستجيب لأوامر اللغة الطبيعية.

المزالق
  • إرسال أوامر السرعة السريعة جداً يعطل/يقلب الروبوت — قيّد معدل الأوامر في الموجهات؛ ابدأ بسرعات صغيرة
  • حكم ذاتي غير آمن — لا توجد حدود جغرافية — قم دائماً بالتشغيل أولاً في المحاكاة (Gazebo)؛ لا تقم أبداً بتوصيل هذا بروبوت فعلي بدون زر الإيقاف الطارئ

كيفية إنتاج ملخص صحة الروبوت باللغة الطبيعية

👤 فرق عمليات الروبوتات ⏱ ~15 min beginner

متى تستخدمه: عندما تريد إيجاد قراءة سريعة لـ 'ماذا يفعل الروبوت'.

الخطوات
  1. اسرد الموضوعات
    اسرد جميع الموضوعات النشطة.✓ تم النسخ
    → فهرس الموضوعات
  2. عيّن المستشعرات الرئيسية
    اشترِك في /battery_state و /odom لمدة 3 ثوانٍ لكل منهما؛ لخّص.✓ تم النسخ
    → نسبة البطارية + ملخص الموضع
  3. تحقق من المعاملات
    احصل على قيمة /navigation.max_velocity.✓ تم النسخ
    → قيمة المعامل

النتيجة: ملخص حالة الروبوت الودود للمشغلين.

كيفية استدعاء إجراء ROS (مثل الملاحة إلى وضع) من الدردشة

👤 مطورو الروبوتات الذين يختبرون مكادس الملاحة ⏱ ~15 min intermediate

متى تستخدمه: عندما تريد تشغيل هدف بدون كتابة عميل.

الخطوات
  1. أرسل هدفاً
    استدعِ الإجراء /navigate_to_pose مع الهدف x=2.0 y=1.0 yaw=0.✓ تم النسخ
    → تم قبول الهدف، يتم بث التعليقات
  2. راقب التعليقات
    بث التعليقات حتى يتم الوصول إلى الهدف أو يمر 30 ثانية.✓ تم النسخ
    → التقدم + النتيجة

النتيجة: اختبار الملاحة بدون كتابة عميل.

المزالق
  • يختلف دعم إجراء rosbridge حسب الإصدار — استخدم ROS 2 + rosbridge 2.x للحصول على أفضل تغطية للإجراءات

التركيبات

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

سجل تشغيلات الروبوت على القرص للتحليل لاحقاً

اشترِك في /odom لمدة 60 ثانية واكتب المسار إلى /logs/run-2026-04-14.csv.✓ تم النسخ

الأدوات

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

الأداةالمدخلاتمتى تستدعيهاالتكلفة
list_topics اكتشف الروبوت مجاني
publish_topic topic: str, type: str, msg: obj أرسل أوامر للروبوت مجاني
subscribe_topic topic: str, duration_s?: int اقرأ بيانات المستشعرات مجاني
call_service service: str, request: obj استدعاء RPC لمرة واحدة للروبوت مجاني
send_action_goal action: str, goal: obj المهام طويلة الأمد (الملاحة، المعالجة) مجاني
get_param name: str افحص الإعدادات مجاني
set_param name, value اضبط في وقت التشغيل مجاني

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

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

حصة API
لا توجد — WebSocket محلي لـ rosbridge
الرموز لكل استدعاء
رسائل الموضوعات يمكن أن تكون كبيرة (صور، سحب نقاط)؛ تجنب بث الموضوعات عالية النطاق الترددي إلى نموذج اللغة
التكلفة المالية
مجاني
نصيحة
لا تشترِك أبداً في موضوعات الصور أو سحب النقاط إلى نموذج لغة — قم بالتلخيص على جانب الروبوت أولاً.

الأمان

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

الحد الأدنى من الصلاحيات: الوصول إلى شبكة WebSocket الخاصة بـ rosbridge
تخزين بيانات الاعتماد: لا شيء افتراضياً؛ ضع rosbridge خلف المصادقة للاستخدام غير المحلي
نقل البيانات الخارجي: تتدفق موضوعات ROS إلى مزود نموذج اللغة — تعامل مع بيانات المستشعرات على أنها تنتقل إلى طرف ثالث
لا تمنح أبدًا: لا تعرّض rosbridge للإنترنت العام لا تمنح الحكم الذاتي بدون زر الإيقاف الطارئ للأجهزة

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

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

لا يمكن الاتصال بـ rosbridge

تأكد من أن rosbridge_server قيد التشغيل وقابل للوصول على الرابط. بالنسبة إلى ROS 2: ros2 launch rosbridge_server rosbridge_websocket_launch.xml

تحقق: nc -vz localhost 9090
رفض نشر الموضوع — نوع غير معروف

مرر نوع الرسالة الدقيق (على سبيل المثال، geometry_msgs/msg/Twist). استخدم list_topics لرؤية الأنواع المسجلة.

لا يتم بث تعليقات الإجراء

إصدارات rosbridge الأقدم تحتوي على دعم إجراء متقطع. ترقِّ إلى 2.x.

موضوع عالي النطاق الترددي يعطل الوكيل

لا تشترِك في /camera/image_raw أو /velodyne_points من خلال نموذج اللغة. لخّص على الروبوت.

البدائل

ros-mcp-server مقابل البدائل

البديلمتى تستخدمهاالمقايضة
rosa (NASA JPL)عندما تريد وكيل ROS قائم على LangChain، وليس MCPمعمارية مختلفة؛ غير قابلة للإدراج في Claude Desktop

المزيد

الموارد

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

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

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