يشرح هذا الدليل كيفية استخدام ClickHouse MCP server مع Ollama.
ثبّت Ollama
Ollama عبارة عن مكتبة لتشغيل نماذج اللغة الكبيرة (LLMs) على جهازك الخاص. وهي توفّر مجموعة واسعة من النماذج كما أنها سهلة الاستخدام.
يمكنك تنزيل Ollama لنظام Mac أو Windows أو Linux من صفحة التنزيل.
بمجرد تشغيل Ollama، سيُشغِّل خادمًا محليًا في الخلفية يمكنك استخدامه لتشغيل النماذج.
كما يمكنك تشغيل الخادم يدويًا باستخدام ollama serve.
بعد التثبيت، يمكنك تنزيل نموذج إلى جهازك كما يلي:
ollama pull qwen3:8bسيؤدي ذلك إلى تنزيل النموذج إلى جهازك المحلي إذا لم يكن موجودًا. وبمجرد تنزيله، يمكنك تشغيل النموذج على النحو التالي:
ollama run qwen3:8bيمكننا عرض النماذج التي نزّلناها كما يلي:
ollama lsNAME 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 عن ملفات التهيئة في دليلك الرئيسي بالترتيب التالي:
.mcphost.ymlأو.mcphost.json(مفضّل).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→ نقل stdioremote→ نقل متدفق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)، لكن ذلك سيعمل ببطء أكبر على الأجهزة الاستهلاكية.