Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعداد ClickHouse MCP server لاستخدامه مع Ollama

يشرح هذا الدليل كيفية استخدام ClickHouse MCP server مع Ollama.

ثبّت Ollama

Ollama عبارة عن مكتبة لتشغيل نماذج اللغة الكبيرة (LLMs) على جهازك الخاص. وهي توفّر مجموعة واسعة من النماذج كما أنها سهلة الاستخدام.

يمكنك تنزيل Ollama لنظام Mac أو Windows أو Linux من صفحة التنزيل.

بمجرد تشغيل Ollama، سيُشغِّل خادمًا محليًا في الخلفية يمكنك استخدامه لتشغيل النماذج. كما يمكنك تشغيل الخادم يدويًا باستخدام ollama serve.

بعد التثبيت، يمكنك تنزيل نموذج إلى جهازك كما يلي:

ollama pull qwen3:8b

سيؤدي ذلك إلى تنزيل النموذج إلى جهازك المحلي إذا لم يكن موجودًا. وبمجرد تنزيله، يمكنك تشغيل النموذج على النحو التالي:

ollama run qwen3:8b

يمكننا عرض النماذج التي نزّلناها كما يلي:

ollama ls
NAME                       ID              SIZE      MODIFIED
qwen3:latest               500a1f067a9f    5.2 GB    3 days ago

يمكننا استخدام الأمر التالي لمعرفة المزيد من المعلومات حول النموذج الذي نزّلناه:

ollama show qwen3
  Model
    architecture        qwen3
    parameters          8.2B
    context length      40960
    embedding length    4096
    quantization        Q4_K_M

  Capabilities
    completion
    tools

  Parameters
    repeat_penalty    1
    stop              "<|im_start|>"
    stop              "<|im_end|>"
    temperature       0.6
    top_k             20
    top_p             0.95

  License
    Apache License
    Version 2.0, January 2004

يمكننا أن نرى من هذا الناتج أن نموذج qwen3 الافتراضي يحتوي على أكثر قليلًا من 8 مليارات مُعامِل.

تثبيت MCPHost

حتى وقت كتابة هذا النص (يوليو 2025)، لا تتوفر وظيفة مدمجة لاستخدام Ollama مع خوادم MCP. ومع ذلك، يمكننا استخدام MCPHost لتشغيل نماذج Ollama مع خوادم MCP.

MCPHost هو تطبيق مكتوب بلغة Go، لذا ستحتاج إلى التأكد من تثبيت Go على جهازك. بعد ذلك، يمكنك تثبيت MCPHost بتشغيل الأمر التالي:

go install github.com/mark3labs/mcphost@latest

سيُثبَّت الملف التنفيذي ضمن ~/go/bin، لذا نحتاج إلى التأكد من أن هذا المجلد مُضاف إلى مسار PATH لدينا.

إعداد ClickHouse MCP server

يمكننا إعداد خوادم MCP باستخدام MCPHost في ملفات YAML أو JSON. سيبحث MCPHost عن ملفات التهيئة في دليلك الرئيسي بالترتيب التالي:

  1. .mcphost.yml أو .mcphost.json (مفضّل)
  2. .mcp.yml أو .mcp.json (للتوافق مع الإصدارات السابقة)

وهو يستخدم صياغة مشابهة لتلك المستخدمة في ملف تهيئة MCP القياسي. فيما يلي مثال على تهيئة ClickHouse MCP server، وسنحفظه في الملف ~/.mcphost.json:

{
  "mcpServers": {
    "mcp-ch": {
      "type": "local",
      "command": ["uv",
        "run",
        "--with",
        "mcp-clickhouse",
        "--python",
        "3.10",
        "mcp-clickhouse"
      ]
    }
  }
}

الفرق الرئيسي عن ملف تهيئة MCP القياسي هو أننا نحتاج إلى تحديد type. ويُستخدم هذا النوع للإشارة إلى نوع النقل الذي يستخدمه خادم MCP.

  • local → نقل stdio
  • remote → نقل متدفق
  • builtin → نقل ضمن العملية

سنحتاج أيضًا إلى تهيئة متغيرات البيئة التالية:

export CLICKHOUSE_HOST=sql-clickhouse.clickhouse.com
export CLICKHOUSE_USER=demo
export CLICKHOUSE_PASSWORD=""

تشغيل MCPHost

بمجرد تكوين ClickHouse MCP server، يمكنك تشغيل MCPHost بتنفيذ الأمر التالي:

mcphost --model ollama:qwen3

أو، إذا أردتَ أن يستخدم ملف إعدادات محددًا:

mcphost --model ollama:qwen3 --config ~/.mcphost.json 

يُفترض أن تظهر المخرجات التالية:

  ┃                                                                                     ┃
  ┃  Model loaded: ollama (qwen3)                                                       ┃
  ┃   MCPHost System (09:52)                                                            ┃
  ┃                                                                                     ┃

  ┃                                                                                     ┃
  ┃  Model loaded successfully on GPU                                                   ┃
  ┃   MCPHost System (09:52)                                                            ┃
  ┃                                                                                     ┃

  ┃                                                                                     ┃
  ┃  Loaded 3 tools from MCP servers                                                    ┃
  ┃   MCPHost System (09:52)                                                            ┃
  ┃                                                                                     ┃

  Enter your prompt (Type /help for commands, Ctrl+C to quit, ESC to cancel generation)

يمكننا استخدام الأمر /servers لعرض خوادم MCP:

  ┃                                                                                      ┃
  ┃  ## Configured MCP servers                                                           ┃
  ┃                                                                                      ┃
  ┃  1. mcp-ch                                                                           ┃
  ┃   MCPHost System (10:00)                                                             ┃

واستخدم /tools لعرض الأدوات المتاحة:

  ┃  ## Available Tools                                                                  ┃
  ┃                                                                                      ┃
  ┃  1. mcp-ch__list_databases                                                           ┃
  ┃  2. mcp-ch__list_tables                                                              ┃
  ┃  3. mcp-ch__run_select_query

يمكننا بعد ذلك أن نطرح على النموذج أسئلة حول قواعد البيانات/الجداول المتاحة في ClickHouse SQL playground.

ومن واقع خبرتنا، عند استخدام نماذج أصغر (يحتوي نموذج qwen3 الافتراضي على 8 مليارات معلمة)، ستحتاج إلى أن تكون أكثر تحديدًا بشأن ما تريد منه أن يفعله. فعلى سبيل المثال، ستحتاج إلى أن تطلب منه صراحةً إدراج قواعد البيانات والجداول، بدلًا من أن تطلب منه مباشرةً تنفيذ استعلام على جدول معيّن. ويمكنك التخفيف جزئيًا من هذه المشكلة باستخدام نموذج أكبر (مثل qwen3:14b)، لكن ذلك سيعمل ببطء أكبر على الأجهزة الاستهلاكية.

Navigation