المستوى: متوسط — تحتاج معرفة بـ Python أساسي و SQLite و virtualenvs قبل ما تبدأ.
اعمل MCP Server بـ Python: خلّي Claude يستعلم على بياناتك في 80 سطر
لو بتنسخ بيانات من SQLite بإيدك وتلصقها في Claude كل مرة عايز تحلّل شيء، انت بتدفع 8 دقايق على عملية المفروض تاخد ثانيتين. الـ Model Context Protocol بيخلّي Claude يفتح الـ DB ويعمل query مباشرةً، وفي المقال ده هنبني السيرفر كامل في أقل من 80 سطر Python ونوصّله بـ Claude Desktop.
المشكلة باختصار
كل أداة AI لها طريقة مختلفة لتوصيلها بمصادر البيانات. تكتب plugin لكل واحدة، تعدّل في الـ prompts بإيدك، وكل ما تيجي تغيّر النموذج تبدأ من الصفر. النتيجة الفعلية في فريق عربي اشتغلت معاه: 60% من وقت الـ integration بيروح في glue code مش في حلّ مشاكل البيزنس.
الـ Model Context Protocol (اختصاراً MCP)، اللي أصدرته Anthropic في نوفمبر 2024، حلّ ده ببروتوكول مفتوح. أي client بيتكلم MCP (Claude Desktop, Claude Code, Cursor, Zed) يقدر يتوصّل بأي server بيتكلم MCP بدون كود زيادة.
المفهوم بمثال للمبتدئ
تخيّل إن عندك مكتب فيه 5 موظفين، كل واحد بيتكلم لغة مختلفة. كل ما يدخل عميل جديد، لازم تجيب 5 مترجمين مختلفين علشان يفهم كل واحد فيهم. ده وضع الـ AI tools قبل MCP بالظبط. لو في لغة واحدة موحّدة (Esperanto بتاع الـ tooling)، أي موظف جديد يتعلّمها مرة واحدة، ويتكلم مع كل العملاء مباشرةً.
MCP هي الـ Esperanto دي. سيرفر MCP بيقول للـ AI: "أنا عندي الـ tools دي (قراءة DB، فتح file، استدعاء API)، وده شكل الـ input والـ output لكل واحد منهم". الـ AI client بياخد القائمة، ولما المستخدم يطلب حاجة، بيختار الـ tool المناسب ويستدعيه بنفسه.
التعريف العلمي بالتفاصيل
الـ MCP هو client-server protocol مبني فوق JSON-RPC 2.0. الـ transport ممكن يكون stdio (للسيرفرات المحلية) أو Streamable HTTP (للسيرفرات البعيدة). كل سيرفر بيعلن قدراته في ثلاث فئات أساسية:
- tools: دوال قابلة للاستدعاء بمعاملات محددة (functions with typed parameters).
- resources: بيانات قابلة للقراءة بـ URI (files, DB rows, API responses).
- prompts: قوالب جاهزة المستخدم يقدر يستدعيها بـ slash command.
الـ client بيستخدم capability negotiation وقت الـ handshake لمعرفة المتاح، وبيستدعي tools/list علشان يجيب الـ schema الكامل لكل tool قبل أول استدعاء.
ابنِ السيرفر في 4 خطوات
1. تجهيز البيئة
mkdir mcp-sqlite-server && cd mcp-sqlite-server
python3.11 -m venv venv
source venv/bin/activate
pip install "mcp[cli]==1.2.0" aiosqlite==0.20.0