Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

خادم MCP

يتضمن OpenPR خادم MCP (بروتوكول سياق النموذج) مدمجاً يوفر 34 أداة لمساعدي الذكاء الاصطناعي لإدارة المشاريع والمهام والسبرينت والوسوم والتعليقات والمقترحات والملفات. يدعم الخادم ثلاثة بروتوكولات نقل في آنٍ واحد.

بروتوكولات النقل

البروتوكولحالة الاستخدامنقطة النهاية
HTTPتكاملات الويب، إضافات OpenClawPOST /mcp/rpc
stdioClaude Desktop، Codex، CLI محليstdin/stdout JSON-RPC
SSEعملاء البث، واجهات الوقت الفعليGET /sse + POST /messages

متعدد البروتوكولات

في وضع HTTP، تتوفر الثلاثة بروتوكولات على منفذ واحد: /mcp/rpc (HTTP)، /sse + /messages (SSE)، و/health (فحص الصحة).

الإعداد

متغيرات البيئة

المتغيرمطلوبالوصفمثال
OPENPR_API_URLنعمرابط أساس خادم APIhttp://localhost:3000
OPENPR_BOT_TOKENنعمرمز البوت بادئة opr_opr_abc123...
OPENPR_WORKSPACE_IDنعمUUID مساحة العمل الافتراضيةe5166fd1-...

Claude Desktop / Cursor / Codex (stdio)

أضِف إلى إعداد عميل MCP الخاص بك:

json
{
  "mcpServers": {
    "openpr": {
      "command": "/path/to/mcp-server",
      "args": ["--transport", "stdio"],
      "env": {
        "OPENPR_API_URL": "http://localhost:3000",
        "OPENPR_BOT_TOKEN": "opr_your_token_here",
        "OPENPR_WORKSPACE_ID": "your-workspace-uuid"
      }
    }
  }
}

وضع HTTP

bash
# Start the MCP server
./target/release/mcp-server --transport http --bind-addr 0.0.0.0:8090

# Verify
curl -X POST http://localhost:8090/mcp/rpc \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

وضع SSE

bash
# 1. Connect SSE stream (returns session endpoint)
curl -N -H "Accept: text/event-stream" http://localhost:8090/sse
# -> event: endpoint
# -> data: /messages?session_id=<uuid>

# 2. POST request to the returned endpoint
curl -X POST "http://localhost:8090/messages?session_id=<uuid>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"projects.list","arguments":{}}}'
# -> Response arrives via SSE stream as event: message

Docker Compose

yaml
mcp-server:
  build:
    context: .
    dockerfile: Dockerfile.prebuilt
    args:
      APP_BIN: mcp-server
  environment:
    - OPENPR_API_URL=http://api:8080
    - OPENPR_BOT_TOKEN=opr_your_token
    - OPENPR_WORKSPACE_ID=your-workspace-uuid
  ports:
    - "8090:8090"
  command: ["./mcp-server", "--transport", "http", "--bind-addr", "0.0.0.0:8090"]

مرجع الأدوات (34 أداة)

المشاريع (5)

الأداةالمعاملات المطلوبةالوصف
projects.list--سرد جميع المشاريع في مساحة العمل
projects.getproject_idالحصول على تفاصيل المشروع مع أعداد المهام
projects.createkey, nameإنشاء مشروع
projects.updateproject_idتحديث الاسم/الوصف
projects.deleteproject_idحذف مشروع

عناصر العمل / المهام (11)

الأداةالمعاملات المطلوبةالوصف
work_items.listproject_idسرد المهام في مشروع
work_items.getwork_item_idالحصول على مهمة بـ UUID
work_items.get_by_identifieridentifierالحصول بمعرف بشري (مثل API-42)
work_items.createproject_id, titleإنشاء مهمة مع حالة اختيارية وأولوية ووصف وmassignee_id وdue_at ومرفقات
work_items.updatework_item_idتحديث أي حقل
work_items.deletework_item_idحذف مهمة
work_items.searchqueryبحث نصي كامل عبر جميع المشاريع
work_items.add_labelwork_item_id, label_idإضافة وسم واحد
work_items.add_labelswork_item_id, label_idsإضافة وسوم متعددة
work_items.remove_labelwork_item_id, label_idإزالة وسم
work_items.list_labelswork_item_idسرد وسوم مهمة

التعليقات (3)

الأداةالمعاملات المطلوبةالوصف
comments.creatework_item_id, contentإنشاء تعليق مع مرفقات اختيارية
comments.listwork_item_idسرد تعليقات مهمة
comments.deletecomment_idحذف تعليق

الملفات (1)

الأداةالمعاملات المطلوبةالوصف
files.uploadfilename, content_base64رفع ملف (base64)، يُعيد URL واسم الملف

الوسوم (5)

الأداةالمعاملات المطلوبةالوصف
labels.list--سرد جميع وسوم مساحة العمل
labels.list_by_projectproject_idسرد وسوم مشروع
labels.createname, colorإنشاء وسم (اللون: hex، مثل #2563eb)
labels.updatelabel_idتحديث الاسم/اللون/الوصف
labels.deletelabel_idحذف وسم

السبرينت (4)

الأداةالمعاملات المطلوبةالوصف
sprints.listproject_idسرد السبرينتات في مشروع
sprints.createproject_id, nameإنشاء سبرينت مع start_date وend_date اختياريتين
sprints.updatesprint_idتحديث الاسم/التواريخ/الحالة
sprints.deletesprint_idحذف سبرينت

المقترحات (3)

الأداةالمعاملات المطلوبةالوصف
proposals.listproject_idسرد المقترحات مع تصفية اختيارية بالحالة
proposals.getproposal_idالحصول على تفاصيل مقترح
proposals.createproject_id, title, descriptionإنشاء مقترح حوكمة

الأعضاء والبحث (2)

الأداةالمعاملات المطلوبةالوصف
members.list--سرد أعضاء مساحة العمل وأدوارهم
search.allqueryبحث عام عبر المشاريع والمهام والتعليقات

تنسيق الاستجابة

جميع استجابات أدوات MCP تتبع هذا الهيكل:

نجاح

json
{
  "code": 0,
  "message": "success",
  "data": { ... }
}

خطأ

json
{
  "code": 400,
  "message": "error description"
}

مصادقة رمز البوت

يصادق خادم MCP عبر رموز البوت (بادئة opr_). أنشئ رموز البوت في Workspace Settings > Bot Tokens.

كل رمز بوت:

  • له اسم عرض (يُظهَر في خلاصات النشاط)
  • مُقيَّد بمساحة عمل واحدة
  • ينشئ كيان مستخدم bot_mcp لسلامة سجل التدقيق
  • يدعم جميع عمليات القراءة/الكتابة المتاحة لأعضاء مساحة العمل

تكامل الوكيل

لوكلاء البرمجة، يوفر OpenPR:

  • AGENTS.md (apps/mcp-server/AGENTS.md) -- أنماط سير العمل وأمثلة الأدوات للوكلاء.
  • حزمة المهارة (skills/openpr-mcp/SKILL.md) -- مهارة محكومة مع قوالب سير عمل ونصوص.

سير عمل الوكيل الموصى به:

  1. حمِّل AGENTS.md لدلالات الأدوات.
  2. استخدم tools/list لتعداد الأدوات المتاحة في وقت التشغيل.
  3. اتبع أنماط سير العمل: بحث -> إنشاء -> وسم -> تعليق.

الخطوات التالية

Released under the Apache-2.0 License.