توثيق 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.
المعاملات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
markdown | string | نعم | نص Markdown للتحويل (حتى 5MB) |
options.title | string | لا | عنوان المستند |
options.pageSize | string | لا | A4 | Letter | Legal (افتراضي: A4) |
options.orientation | string | لا | portrait | landscape |
options.css | string | لا | CSS مخصص يُحقن في PDF |
options.fontSize | number | لا | حجم الخط (افتراضي: 14) |
options.fontFamily | string | لا | عائلة الخط |
options.theme | string | لا | اسم الثيم (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 على الخادم. يُعيد مسار الملف المحفوظ.
المعاملات الإضافية
| المعامل | النوع | الوصف |
|---|---|---|
outputPath | string | مسار حفظ الملف (اختياري) |
مثال الاستجابة
{
"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)
| المعامل | النوع | الوصف |
|---|---|---|
limit | number | عدد النتائج (افتراضي: 50) |
offset | number | بداية النتائج |
search | string | بحث في العناوين |
أدوات MCP المتاحة
خادم MCP يوفر الأدوات التالية للذكاء الاصطناعي:
| الأداة | الوصف |
|---|---|
convert-markdown-to-pdf | تحويل نص Markdown إلى PDF |
convert-markdown-file-to-pdf | تحويل ملف Markdown إلى PDF |
parse-markdown-metadata | استخراج البيانات الوصفية من Markdown |
التشغيل عبر أدوات الذكاء الاصطناعي
إعدادات MCP الجاهزة لكل أداة. انسخ الإعداد المناسب وأضفه لملف إعدادات الأداة.
Antigravity (Gemini CLI)
{
"mcpServers": {
"md-2-pdf": {
"command": "node",
"args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
}
}
}
Claude Code
# عبر الأمر
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"]
}
}
}
Gemini CLI
{
"mcpServers": {
"md-2-pdf": {
"command": "node",
"args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
}
}
}
Kilo Code
{
"mcp": {
"md-2-pdf": {
"type": "stdio",
"command": "node",
"args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
}
}
}
OpenClaw / OpenCode
{
"mcp": {
"md-2-pdf": {
"type": "stdio",
"command": "node",
"args": ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
}
}
}
Codex (OpenAI)
[mcp_servers.md-2-pdf]
command = "node"
args = ["C:/Users/Abdalgani/Desktop/myapp/md-2-pdf/dist/mcp/server.js"]
Qwen CLI
{
"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 حسب موقع المشروع على جهازك.