توثيق API - MD-2-PDF v2.0

نظرة عامة

MD-2-PDF هي أداة لتحويل نصوص Markdown إلى ملفات PDF مع دعم كامل للغة العربية (RTL).

الرابط الأساسي: http://localhost:3000/api

تنسيق الطلبات: JSON مع Content-Type: application/json

المصادقة

معظم نقاط النهاية تعمل بدون مصادقة. لحفظ السجلات، يمكنك:

  • تسجيل الدخول: إرسال JWT token عبر Authorization: Bearer <token>
  • ضيف: إرسال معرف الجلسة عبر X-Guest-Session: <id>

GET /api/health GET

فحص صحة الخادم والتحقق من أنه يعمل.

مثال الطلب

curl http://localhost:3000/api/health

مثال الاستجابة

{
  "status": "ok",
  "service": "md-2-pdf",
  "version": "2.0.0",
  "timestamp": "2026-01-01T00:00:00.000Z"
}

POST /api/convert POST

تحويل نص Markdown إلى ملف PDF. يعيد الملف مباشرة كـ application/pdf.

المعاملات

المعاملالنوعمطلوبالوصف
markdownstringنعمنص Markdown للتحويل (حتى 5MB)
options.titlestringلاعنوان المستند
options.pageSizestringلاA4 | Letter | Legal (افتراضي: A4)
options.orientationstringلاportrait | landscape
options.cssstringلاCSS مخصص يُحقن في PDF
options.fontSizenumberلاحجم الخط (افتراضي: 14)
options.fontFamilystringلاعائلة الخط
options.themestringلااسم الثيم (blue, red, green, purple, gold)

مثال الطلب

curl -X POST http://localhost:3000/api/convert \
  -H "Content-Type: application/json" \
  -d '{"markdown": "# مرحباً بالعالم\nهذا **نص** تجريبي.", "options": {"title": "مستندي"}}' \
  --output output.pdf

POST /api/convert/base64 POST

تحويل Markdown إلى PDF مع إرجاعه كـ base64 في JSON.

مثال الاستجابة

{
  "success": true,
  "message": "Conversion successful",
  "metadata": { "title": "...", "createdAt": "..." },
  "pdfBase64": "JVBERi0xLjQK..."
}

POST /api/convert/file POST

تحويل Markdown وحفظ PDF على الخادم. يُعيد مسار الملف المحفوظ.

المعاملات الإضافية

المعاملالنوعالوصف
outputPathstringمسار حفظ الملف (اختياري)

مثال الاستجابة

{
  "success": true,
  "message": "PDF saved successfully",
  "outputPath": "/path/to/output/doc-xxx.pdf"
}

POST /api/parse POST

تحليل Markdown واستخراج البيانات الوصفية مع معاينة HTML.

مثال الطلب

curl -X POST http://localhost:3000/api/parse \
  -H "Content-Type: application/json" \
  -d '{"markdown": "---\ntitle: مستندي\nauthor: أحمد\n---\n# مرحباً"}'

GET /api/history GET

جلب سجلات المستندات المحفوظة. يتطلب مصادقة (JWT أو Guest Session).

المعاملات (Query)

المعاملالنوعالوصف
limitnumberعدد النتائج (افتراضي: 50)
offsetnumberبداية النتائج
searchstringبحث في العناوين

أدوات MCP المتاحة

خادم MCP يوفر الأدوات التالية للذكاء الاصطناعي:

الأداةالوصف
convert-markdown-to-pdfتحويل نص Markdown إلى PDF
convert-markdown-file-to-pdfتحويل ملف Markdown إلى PDF
parse-markdown-metadataاستخراج البيانات الوصفية من Markdown

التشغيل عبر أدوات الذكاء الاصطناعي

إعدادات MCP الجاهزة لكل أداة. انسخ الإعداد المناسب وأضفه لملف إعدادات الأداة.

A Antigravity (Gemini CLI)

~/.gemini/settings.json
{
  "mcpServers": {
    "md-2-pdf": {
      "command": "node",
      "args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
    }
  }
}

C Claude Code

سطر الأوامر أو ~/.config/claude/mcp.json
# عبر الأمر
claude mcp add md-2-pdf -- node C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js

# أو في ملف الإعدادات ~/.config/claude/mcp.json
{
  "mcpServers": {
    "md-2-pdf": {
      "command": "node",
      "args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
    }
  }
}

G Gemini CLI

~/.gemini/settings.json
{
  "mcpServers": {
    "md-2-pdf": {
      "command": "node",
      "args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
    }
  }
}

K Kilo Code

~/.config/kilo/kilo.jsonc
{
  "mcp": {
    "md-2-pdf": {
      "type": "stdio",
      "command": "node",
      "args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
    }
  }
}

O OpenClaw / OpenCode

~/.config/opencode/opencode.jsonc
{
  "mcp": {
    "md-2-pdf": {
      "type": "stdio",
      "command": "node",
      "args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
    }
  }
}

X Codex (OpenAI)

~/.codex/config.toml
[mcp_servers.md-2-pdf]
command = "node"
args = ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]

Q Qwen CLI

~/.qwen/mcp_config.json
{
  "mcpServers": {
    "md-2-pdf": {
      "command": "node",
      "args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
    }
  }
}

* أي أداة MCP أخرى

{
  "command": "node",
  "args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"],
  "transport": "stdio"
}

ملاحظة: عدّل المسار C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js حسب موقع المشروع على جهازك.