Skip to main content
العودة إلى المدونة
ObsidianClaudeMCPAutomationAI

كيف تربط Claude Desktop بـ Obsidian — رحلة عبر 4 خوادم MCP

قصة حقيقية عن البحث عن طريقة مستقرّة لأتمتة إعادة هيكلة الـ vault في Obsidian عبر Claude. ما الذي انكسر، وما الذي نجح، ولماذا تبيّن أن VaultForge هو الخيار الوحيد الذي يعمل.

نُشر 3 مايو 20269 دقيقة قراءة

تخيّل الموقف: لديك أكثر من 400 ملاحظة في Obsidian، تراكمت على مدى سنوات. كل شيء مبعثر في جذر الـ vault، والمفاهيم مختلطة بالملاحظات التقنية، وهناك نسخ مكررة (ideas.md ومجلد ideas/ يحتوي 13 ملفًا بداخله)، بلا أي نظام. تريد أن تُرتّب الأمور — أن تبني بنية مجلدات سليمة، وتضيف ملفات MOC، وتنظّم الوسوم. القيام بذلك يدويًا مُمِلّ وبطيء. الفكرة المنطقية: اربط Claude بـ Obsidian عبر MCP، ودَعِ الذكاء الاصطناعي يتولّى إعادة الهيكلة. تبيّن أنّ هذا طريق عبر حقل ألغام. إليك ما اضطررت إلى المرور به للوصول إلى حل يعمل فعلًا.

ما هو MCP ولماذا الأمر ليس بهذه البساطة

MCP (Model Context Protocol) بروتوكول مفتوح من Anthropic يتيح لـ Claude الاتصال بأدوات وبيانات خارجية. المبدأ بسيط: يعمل خادم محلي يعرض «أدوات» (tools)، ويستدعيها Claude أثناء المحادثة.

بالنسبة إلى Obsidian، توجد نظريًا وفرة من خوادم MCP. أما عمليًا — فلكلٍّ منها مشاكله الخاصة.

المشكلة الأساسية في منظومة Obsidian: إنّ Obsidian تطبيق مغلق بلا MCP رسمي. سدّ المجتمع الفجوة، لكن كل تنفيذ يسير في طريقه الخاص، ولا يحظى أيٌّ منها بـ«مباركة رسمية».

المحاولة 1: MarkusPfundstein/mcp-obsidian

أول أداة تظهر عند البحث. 3400 نجمة على GitHub، وحاضرة في كل الدروس التعليمية. تبدو خيارًا آمنًا.

كيف تعمل: خادم Python مبني على إضافة Local REST API في Obsidian. يتواصل الخادم مع الإضافة عبر HTTPS، وتنفّذ الإضافة العمليات عبر Obsidian API.

ما الذي حدث بشكل خاطئ

  • لم يُحدَّث منذ 17 شهرًا
  • 85 مشكلة (issue) مفتوحة
  • لا يوجد move/rename — فقط read وwrite وappend وdelete
  • لدى Local REST API خلل موثّق لفقدان البيانات: قد تقوم نقطة نهاية POST بالكتابة فوق ملف بصمت أثناء عملية append

لا يصلح لإعادة الهيكلة — نحتاج إلى نقل الملفات مع الحفاظ على الروابط. نمضي قُدُمًا.

المحاولة 2: aaronsb/obsidian-mcp-plugin

وجدت خيارًا يعمل كـإضافة Obsidian أصلية. هذا يعني وصولًا مباشرًا إلى واجهة Obsidian الداخلية — backlinks وDataview ورسم بياني للروابط. النقل عبر الواجهة الأصلية يُحدّث كل روابط الويكي تلقائيًا، لأن Obsidian يتولّى ذلك بنفسه.

صعوبات الإعداد

  • الإضافة ليست في الكتالوج الرسمي لـ Obsidian (طلب الدمج معلّق بأخطاء تحقّق)
  • يجب التثبيت عبر BRAT (Beta Reviewers Auto-update Tool)
  • لا يقبل Claude Desktop رمز Bearer مباشرة عبر الواجهة — ما أجبرني على تفعيل HTTPS في الإضافة
  • الشهادة الموقّعة ذاتيًا (self-signed) لـ localhost تثير مشاكل ثقة

بعد كل هذه الحلول الالتفافية، تمكّنت أخيرًا من ربطها. اختبار أساسي — vault.move يعيد بالفعل كتابة [[wikilinks]]، ويعمل كما هو متوقّع.

ما الذي حدث بشكل خاطئ في الإنتاج

عندما بدأت إعادة الهيكلة على نطاق واسع (سحب وإفلات لعشرات المجلدات في Obsidian + عمليات MCP متزامنة)، تجمّد الخادم لأكثر من 4 دقائق. السبب: الإضافة تعمل داخل Obsidian. عندما يُعيد Obsidian فهرسة آلاف الملفات بعد تغيير هيكلي واسع، تُحجَب الإضافة معه.

الخلاصة: الاعتماد على نسخة Obsidian مفتوحة وعلى فهرسها قاتل للعمليات المجمّعة.

المحاولة 3: @bitbonsai/mcpvault

منطقيًا — نحتاج خادمًا لا يعتمد على Obsidian. يعمل مباشرة مع الملفات على القرص. @bitbonsai/mcpvault — موصى به في كثير من المراجعات. وصول مباشر إلى نظام الملفات، وإعداد بسيط (npx @bitbonsai/mcpvault@latest /path/to/vault)، و14 أداة. لا حاجة حتى لإبقاء Obsidian مفتوحًا.

قبل التثبيت، تحقّقت من أمر حاسم واحد — هل تُحدَّث روابط الويكي عند النقل. عثرت على مراجعة أحد المستخدمين:

موصل نظام الملفات لا يعرف أنه داخل Obsidian — يرى مجلدًا من ملفات <code>.md</code> وحسب. لا يعرف أن أسماء الملفات تحمل وزنًا دلاليًا، وأن كل <code>[[wikilink]]</code> سينكسر لحظة إعادة التسمية أو النقل. التحديث التلقائي للروابط يعمل فقط عندما تحدث إعادة التسمية من داخل التطبيق. تعلّمت هذا بعدما طلبت من Claude تنظيف أسماء الملفات، فعُدت إلى لوحة تحكّم نصف روابطها مكسور.

تأكّد ذلك في توثيق mcpvault نفسه: طلب الدمج #101 (wiki link resolution) قيد المراجعة، ولم يُدمج بعد. أي أن النقل عبر mcpvault سيكسر نصف الـ vault. لا يصلح.

المحاولة 4: VaultForge (النهائية)

blacksmithers/vaultforge — مبني خصّيصًا لوكلاء الذكاء الاصطناعي الذين يقومون بإعادة الهيكلة.

صحيح معماريًا

  • نظام ملفات مباشر — لا يعتمد على Obsidian
  • محرّك wikilink خاص به — يُنفّذ منطق تحليل [[wikilink]] الذي يُحدّث كل الصيغ (stem، المسار الكامل، alias، embed)
  • تشغيل تجريبي (dry run) افتراضيًا في كل العمليات المدمّرة — يُظهر أولًا ما سيتغيّر، ثم تؤكّد أنت
  • 27 أداة مقابل 8–14 لدى المنافسين: batch_rename وupdate_links وbacklinks (تحليل الأثر) وprune_empty_dirs وfrontmatter وsmart_search (BM25) وvault_themes (تجميع TF-IDF)
  • رخصة MIT، TypeScript، صفر تبعيات فرعية
  • تثبيت في 30 ثانية عبر .mcpb (امتداد بنقرة واحدة لـ Claude Desktop)

اختبار أمان على ملفات معزولة

أنشأت 4 ملفات اختبار بروابط متقاطعة — روابط stem، وروابط بأسماء بديلة (alias)، وروابط بمسار كامل. أنقل ملفًا واحدًا إلى مجلد فرعي:

delta.md → subfolder/delta-renamed.md

أظهر VaultForge تشغيلًا تجريبيًا: «ستُعاد تسمية ملف واحد، وستُحدَّث 3 روابط». ثم نفّذت العملية فعليًا.

Link typeBeforeAfter
Stem[[delta]][[delta-renamed]]
Alias[[delta|D]][[delta-renamed|D]]
Full path + alias[[_vf-test/delta|D]][[_vf-test/subfolder/delta-renamed|D]]

تحقّقت بعد ذلك — حُدِّثت أنواع الروابط الثلاثة جميعها بشكل صحيح. هذا بالضبط ما كان ينقص كل الأدوات السابقة.

كيفية تثبيت VaultForge — التعليمات النهائية

إذا كان لديك macOS و Claude Desktop:

الخطوة 1

نزّل ملف .mcpb:

Terminal
curl -fsSL https://github.com/blacksmithers/vaultforge/releases/latest/download/vaultforge.mcpb \
  -o /tmp/vaultforge.mcpb && open /tmp/vaultforge.mcpb

الخطوة 2

سيفتح Claude Desktop مربّع حوار تثبيت الامتداد. أدخِل المسار المطلق إلى الـ vault الخاص بك — بلا شرطات مائلة عكسية، وبمسافات عادية:

/Users/yourname/Library/Mobile Documents/iCloud~md~obsidian/Documents/MyVault

الخطوة 3

انقر على Save. سيضيف Claude Desktop الامتداد إلى ملف الإعداد تلقائيًا. لا حاجة لإعادة التشغيل — تُلتقط امتدادات .mcpb تلقائيًا.

الخطوة 4

تحقّق: في محادثة جديدة اسأل: «What is the status of my Obsidian vault?» — يُفترض أن يُعيد شيئًا مثل totalFiles: 416, totalDirs: 135, ...

ما تعلّمته عن منظومة MCP في Obsidian

أولًا، «الأكثر شهرة» لا يعني «الذي يعمل». يملك MarkusPfundstein/mcp-obsidian عددًا يبلغ 3400 نجمة وهو التوصية الافتراضية، لكنه قديم وتنقصه عمليات أساسية.

ثانيًا، للإضافة الأصلية كُلفة خفيّة. بدت إضافة aaronsb مثالية — رسم بياني، Dataview، نقل أصلي. لكن الاعتماد على نسخة Obsidian قيد التشغيل وعلى فهرسها يجعلها غير صالحة للعمليات المجمّعة الجادّة.

ثالثًا، نظام الملفات المباشر بلا محرّك روابط فخّ. إن mcpvault سريع وبسيط، لكن «مجرّد نقل الملفات» يُدمّر بنية الـ vault. تحمل الروابط دلالة مفروضة لا يعرفها نظام الملفات. من دون تنفيذ خاص لمنطق الويكي-لينك، تتحوّل الأداة إلى لغم.

رابعًا، اختبِر على بيانات معزولة. قبل أن تأتمن أي أداة على إعادة هيكلة على نطاق واسع — أنشئ مجلد اختبار فيه 4–5 ملفات بروابط متقاطعة وشاهد ما يحدث. خمس دقائق من الاختبار توفّر ساعات من الاستعادة من النسخة الاحتياطية.

خامسًا، احتفظ بنسخة git احتياطية للـ vault الخاص بك. الأهم من كل شيء. مجرّد git init واحد داخل الـ vault وعمليات commit دورية — هذا هو التأمين ضد أي خطأ من وكيل ذكاء اصطناعي أو أداة. إذا انكسر شيء ما — يُعيد git reset --hard كل شيء إلى ما كان.

الخلاصة

استغرقت الرحلة عدة ساعات وثلاث محاولات فاشلة. تبدو البنية النهائية هكذا:

  • VaultForge — أداة العمل الرئيسية. نظام ملفات مباشر + محرّك wikilink خاص + 27 أداة = إعادة هيكلة مستقرّة على أي نطاق.
  • Git — إدارة إصدارات الـ vault. تراجُع مجاني عن أي خطأ.

الآن يمكنني فعل ما بدأ كل هذا من أجله: أن أطلب من Claude ترتيب 400 ملاحظة وفق بنية PARA سليمة، ودمج النسخ المكررة، وإضافة frontmatter، وبناء خرائط MOC. كل عملية آمنة، والروابط محفوظة، والتشغيل التجريبي يُظهر ما سيحدث قبل أن يتغيّر أي شيء.

إن كنت أنت أيضًا تنظر إلى Obsidian المزدحم لديك وتريد مساعدًا ذكيًا — ابدأ فورًا بـ VaultForge. لا تُكرّر مساري عبر مشاريع ميتة وإضافات تجريبية وخوادم نظام ملفات بلا منطق روابط.