توثيق API - MD-2-PDF v2.0
نظرة عامة
MD-2-PDF هي أداة لتحويل نصوص Markdown إلى ملفات PDF مع دعم كامل للغة العربية (RTL) والمعادلات الرياضية (LaTeX).
الرابط الأساسي: https://md-2-pdf.pages.dev/api
تنسيق الطلبات: JSON مع Content-Type: application/json
المصادقة
معظم نقاط النهاية تعمل بدون مصادقة. لحفظ السجلات، يمكنك:
- تسجيل الدخول: إرسال JWT token عبر
Authorization: Bearer <token> - ضيف: إرسال معرف الجلسة عبر
X-Guest-Session: <id>
المميزات
- ✅ دعم كامل للغة العربية واتجاه RTL
- ✅ معادلات LaTeX الرياضية (
$x^2$و$$\frac{1}{2}$$) - ✅ تلوين الأكواد البرمجية (Syntax Highlighting)
- ✅ YAML Frontmatter لبيانات المستند
- ✅ صفحة غلاف تلقائية
- ✅ ثيمات متعددة (blue, red, green, purple, gold)
- ✅ أدوات MCP للذكاء الاصطناعي
- ✅ تحويل مزدوج: خادم (Puppeteer) + عميل (html2pdf)
GET /api/health GET
فحص صحة الخادم والتحقق من أنه يعمل.
مثال الطلب
curl https://md-2-pdf.pages.dev/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. يعيد PDF بصيغة base64 داخل JSON.
المعاملات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
markdown | string | نعم | نص Markdown للتحويل |
options.title | string | لا | عنوان المستند |
options.pageSize | string | لا | A4 | Letter | Legal (افتراضي: A4) |
options.orientation | string | لا | portrait | landscape |
options.css | string | لا | CSS مخصص يُحقن في PDF |
options.fontSize | number | لا | حجم الخط (افتراضي: 10) |
options.fontFamily | string | لا | عائلة الخط |
options.theme | string | لا | اسم الثيم (blue, red, green, purple, gold) |
options.rtl | boolean | لا | اتجاه RTL (افتراضي: true) |
مثال الطلب
curl -X POST https://md-2-pdf.pages.dev/api/convert \
-H "Content-Type: application/json" \
-d '{"markdown": "# مرحباً بالعالم\nهذا **نص** تجريبي.\n\nمعادلة: $E = mc^2$", "options": {"title": "مستندي"}}'
مثال الاستجابة
{
"success": true,
"message": "Conversion successful",
"metadata": { "title": "مستندي", "createdAt": "..." },
"pdf": "JVBERi0xLjQK..."
}
POST /api/parse POST
تحليل Markdown واستخراج البيانات الوصفية مع معاينة HTML.
مثال الطلب
curl -X POST https://md-2-pdf.pages.dev/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 يعمل محلياً عبر stdio ويحوّل الطلبات تلقائياً إلى https://md-2-pdf.pages.dev/api.
إعداد MCP
إعدادات MCP الجاهزة لكل أداة. انسخ الإعداد المناسب وأضفه لملف إعدادات الأداة.
قبل البدء: ثبّت المشروع محلياً:
git clone https://github.com/your-user/md-2-pdf.git
cd md-2-pdf
npm install
npm run build
Antigravity (Gemini CLI)
{
"mcpServers": {
"md-2-pdf": {
"command": "node",
"args": ["<md-2-pdf-path>/dist/mcp/server.js"]
}
}
}
Claude Code
# عبر الأمر
claude mcp add md-2-pdf -- node <md-2-pdf-path>/dist/mcp/server.js
# أو في ملف الإعدادات ~/.config/claude/mcp.json
{
"mcpServers": {
"md-2-pdf": {
"command": "node",
"args": ["<md-2-pdf-path>/dist/mcp/server.js"]
}
}
}
Gemini CLI
{
"mcpServers": {
"md-2-pdf": {
"command": "node",
"args": ["<md-2-pdf-path>/dist/mcp/server.js"]
}
}
}
Kilo Code
{
"mcp": {
"md-2-pdf": {
"type": "stdio",
"command": "node",
"args": ["<md-2-pdf-path>/dist/mcp/server.js"]
}
}
}
OpenClaw / OpenCode
{
"mcp": {
"md-2-pdf": {
"type": "stdio",
"command": "node",
"args": ["<md-2-pdf-path>/dist/mcp/server.js"]
}
}
}
Codex (OpenAI)
[mcp_servers.md-2-pdf]
command = "node"
args = ["<md-2-pdf-path>/dist/mcp/server.js"]
Qwen CLI
{
"mcpServers": {
"md-2-pdf": {
"command": "node",
"args": ["<md-2-pdf-path>/dist/mcp/server.js"]
}
}
}
أي أداة MCP أخرى
{
"command": "node",
"args": ["<md-2-pdf-path>/dist/mcp/server.js"],
"transport": "stdio"
}
ملاحظة: استبدل <md-2-pdf-path> بمسار المشروع على جهازك. خادم MCP يحوّل الطلبات تلقائياً إلى https://md-2-pdf.pages.dev/api — لا حاجة لتشغيل خادم محلي.