A Qdrant MCP server
Claude Desktop config.json'a ekle
{
"mcpServers": {
"qdrant-mcp-server-qdrant": {
"command": "python",
"args": [
"-m",
"mcp_server_qdrant"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/qdrant/mcp-server-qdrant.git ~/.mcp/mcp-server-qdrant
cd ~/.mcp/mcp-server-qdrant Model Context Protocol (MCP), LLM uygulamaları ile harici veri kaynakları ve araçları arasında sorunsuz entegrasyon sağlayan açık bir protokoldür. İster AI destekli bir IDE oluşturuyor olun, ister bir sohbet arayüzünü geliştiriyor olun, ister özel AI iş akışları oluşturuyor olun, MCP, LLM'leri ihtiyaç duydukları bağlam ile bağlamak için standartlaştırılmış bir yol sağlar.
Bu depo, Qdrant (bir vektör arama motoru) için MCP sunucusu oluşturmanın bir örneğidir.
Qdrant vektör arama motorunda anıları saklama ve alma işlemleri için resmi bir Model Context Protocol sunucusu. Qdrant veritabanının üstünde anlamsal bir bellek katmanı olarak çalışır.
qdrant-store
information (string): Saklanacak bilgimetadata (JSON): Saklanacak isteğe bağlı metadatacollection_name (string): Bilginin saklanacağı koleksiyonun adı. Bu alan, varsayılan koleksiyon adı yoksa gereklidir.
Varsayılan koleksiyon adı varsa, bu alan etkin değildir.qdrant-find
query (string): Arama için kullanılacak sorgucollection_name (string): Bilginin saklanacağı koleksiyonun adı. Bu alan, varsayılan koleksiyon adı yoksa gereklidir.
Varsayılan koleksiyon adı varsa, bu alan etkin değildir.Yapılandırma ortam değişkenleri aracılığıyla yapılır. Tek komut satırı argümanı --transport, taşıma protokolünü seçmek için kullanılır.
[!NOTE]
QDRANT_URLveQDRANT_LOCAL_PATHdeğişkenlerini aynı anda sağlayamazsınız.
| Ad | Açıklama | Varsayılan Değer |
|---|---|---|
QDRANT_URL |
Qdrant sunucusunun URL'si | Hiçbiri |
QDRANT_API_KEY |
Qdrant sunucusu için API anahtarı | Hiçbiri |
COLLECTION_NAME |
Kullanılacak varsayılan koleksiyonun adı. | Hiçbiri |
QDRANT_LOCAL_PATH |
Yerel Qdrant veritabanına giden yol (QDRANT_URL alternatifi) |
Hiçbiri |
EMBEDDING_PROVIDER |
Kullanılacak embedding sağlayıcısı (şu anda yalnızca "fastembed" desteklenir) | fastembed |
EMBEDDING_MODEL |
Kullanılacak embedding modelinin adı | sentence-transformers/all-MiniLM-L6-v2 |
TOOL_STORE_DESCRIPTION |
Depolama aracı için özel açıklama | settings.py içinde varsayılan değeri gözüne |
TOOL_FIND_DESCRIPTION |
Bulma aracı için özel açıklama | settings.py içinde varsayılan değeri gözüne |
QDRANT_SEARCH_LIMIT |
Arama sonuçlarından döndürülecek maksimum sonuç sayısı | 10 |
QDRANT_READ_ONLY |
Salt okunur modu etkinleştir (qdrant-store aracını devre dışı bırakır) |
false |
mcp-server-qdrant FastMCP'ye dayandığından, tüm FastMCP ortam değişkenlerini de destekler. En
önemli olanlar aşağıda listelenmiştir:
| Ortam Değişkeni | Açıklama | Varsayılan Değer |
|---|---|---|
FASTMCP_LOG_LEVEL |
Günlük kaydı seviyesini ayarlayın (DEBUG, INFO, WARNING, ERROR, CRITICAL) | INFO |
FASTMCP_SERVER_DEBUG |
Hata ayıklama modunu etkinleştir | false |
FASTMCP_SERVER_HOST |
Sunucunun bağlanacağı ana bilgisayar adresi | 127.0.0.1 |
FASTMCP_SERVER_PORT |
Sunucunun çalışacağı port | 8000 |
FASTMCP_SERVER_ON_DUPLICATE_RESOURCES |
Yinelenen kaynaklar için davranış (warn, error, replace, ignore) | warn |
FASTMCP_SERVER_ON_DUPLICATE_TOOLS |
Yinelenen araçlar için davranış (warn, error, replace, ignore) | warn |
FASTMCP_SERVER_ON_DUPLICATE_PROMPTS |
Yinelenen istemler için davranış (warn, error, replace, ignore) | warn |
FASTMCP_SERVER_DEPENDENCIES |
Sunucu ortamında yüklenecek bağımlılık listesi | [] |
[!NOTE] Sunucuya özgü ayarlar
FASTMCP_SERVER_ön ekini kullanır. Bu gelecek sürümlerde değişebilir.
uvx kullanılırken mcp-server-qdrant'ı doğrudan çalıştırmak için belirli bir kurulum yapılması gerekmez.
QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-collection" \
EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \
uvx mcp-server-qdrant
Sunucu, --transport bayrağı kullanılarak belirtilen farklı taşıma protokollerini destekler:
QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-collection" \
uvx mcp-server-qdrant --transport sse
Desteklenen taşıma protokolleri:
stdio (varsayılan): Standart giriş/çıkış taşıması, yalnızca yerel MCP istemcileri tarafından kullanılabilirsse: Server-Sent Events taşıması, uzak istemciler için mükemmelstreamable-http: Akışı yapılabilir HTTP taşıması, uzak istemciler için mükemmel, SSE'den daha yeniBelirtilmezse varsayılan taşıma stdio'dur.
SSE taşıması kullanıldığında, sunucu belirtilen portta dinlemeye başlayacak ve gelen bağlantıları bekleyecektir. Varsayılan
port 8000'dir, ancak FASTMCP_SERVER_PORT ortam değişkeni kullanılarak değiştirilebilir.
QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-collection" \
FASTMCP_SERVER_PORT=1234 \
uvx mcp-server-qdrant --transport sse
MCP sunucusunu oluşturmak ve çalıştırmak için bir Dockerfile mevcuttur:
# Konteyner oluştur
docker build -t mcp-server-qdrant .
# Konteyner çalıştır
docker run -p 8000:8000 \
-e FASTMCP_SERVER_HOST="0.0.0.0" \
-e QDRANT_URL="http://your-qdrant-server:6333" \
-e QDRANT_API_KEY="your-api-key" \
-e COLLECTION_NAME="your-collection" \
mcp-server-qdrant
[!TIP]
FASTMCP_SERVER_HOST="0.0.0.0"ayarlandığını lütfen unutmayın; bu, sunucunun tüm ağ arayüzlerinde dinlemesi için gereklidir. Docker konteynerinde sunucu çalıştırırken bu gereklidir.
Qdrant MCP Server'ı Smithery aracılığıyla Claude Desktop'a otomatik olarak kurmak için:
npx @smithery/cli install mcp-server-qdrant --client claude
Bu sunucuyu Claude Desktop uygulaması ile kullanmak için, claude_desktop_config.json dosyasının "mcpServers" bölümüne aşağıdaki yapılandırmayı ekleyin:
{
"qdrant": {
"command": "uvx",
"args": ["mcp-server-qdrant"],
"env": {
"QDRANT_URL": "https://xyz-example.eu-central.aws.cloud.qdrant.io:6333",
"QDRANT_API_KEY": "your_api_key",
"COLLECTION_NAME": "your-collection-name",
"EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2"
}
}
}
Yerel Qdrant modu için:
{
"qdrant": {
"command": "uvx",
"args": ["mcp-server-qdrant"],
"env": {
"QDRANT_LOCAL_PATH": "/path/to/qdrant/database",
"COLLECTION_NAME": "your-collection-name",
"EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2"
}
}
}
Bu MCP sunucusu, belirtilen adda bir koleksiyon yoksa otomatik olarak oluşturacaktır.
Varsayılan olarak, sunucu anıları kodlamak için sentence-transformers/all-MiniLM-L6-v2 embedding modelini kullanacaktır.
Şu anda, yalnızca FastEmbed modelleri desteklenmektedir.
Bu MCP sunucusu, herhangi bir MCP uyumlu istemci ile kullanılabilir. Örneğin, bunu Cursor ve VS Code ile kullanabilirsiniz; bunlar Model Context Protocol için yerleşik destek sağlar.
Bu MCP sunucusunu, araç açıklamalarını özelleştirerek Cursor veya Windsurf için bir kod arama aracı olarak çalışacak şekilde yapılandırabilirsiniz:
QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="code-snippets" \
TOOL_STORE_DESCRIPTION="Store reusable code snippets for later retrieval. \
The 'information' parameter should contain a natural language description of what the code does, \
while the actual code should be included in the 'metadata' parameter as a 'code' property. \
The value of 'metadata' is a Python dictionary with strings as keys. \
Use this whenever you generate some code snippet." \
TOOL_FIND_DESCRIPTION="Search for relevant code snippets based on natural language descriptions. \
The 'query' parameter should describe what you're looking for, \
and the tool will return the most relevant code snippets. \
Use this when you need to find existing code snippets for reuse or reference." \
uvx mcp-server-qdrant --transport sse # SSE taşımasını etkinleştir
Cursor/Windsurf'te, bu çalışan sunucuya SSE taşıma protokolü kullanarak işaret ederek MCP sunucusunu ayarlarınızda yapılandırabilirsiniz. Cursor'a bir MCP sunucusu eklemenin açıklaması Cursor dokumentasyonunda bulunabilir. Cursor/Windsurf'ü yerel olarak çalıştırıyorsanız, aşağıdaki URL'yi kullanabilirsiniz:
http://localhost:8000/sse
[!TIP] Cursor/Windsurf'ü MCP sunucusuna bağlamak için SSE taşımasını tercih edilen yol olarak öneriyoruz; uzak bağlantıları destekleyebilir. Bu, sunucuyu takımınızla paylaşmayı veya bulut ortamında kullanmayı kolaylaştırır.
Bu yapılandırma, Qdrant MCP sunucusunu aşağıdakileri yapabilen özel bir kod arama aracına dönüştürür:
Veritabanını, kod parçacıklarının doğal dil açıklamalarını (information parametresinde) gerçek kod ile birlikte (metadata.code özelliğinde) saklayarak ve ardından aradığınız şeyi açıklayan doğal dil sorguları kullanarak arama yaparak doldurabileceğiniz.
[!NOTE] Yukarıda sağlanan araç açıklamaları örnektir ve belirli kullanım durumunuz için özelleştirilmesi gerekebilir. Tanımları, takımınızın iş akışına ve depolamak ve almak istediğiniz belirli kod parçacığı türlerine daha iyi uyacak şekilde ayarlamayı düşünün.
mcp-server-qdrant'ı başarıyla yüklediyseniz ancak Cursor ile çalışamıyorsanız, MCP araçlarının aracı her zaman yeni bir kod parçacığı ürettiğinde kullanılmasını sağlamak için lütfen Cursor kurallarını oluşturmayı düşünün. Kuralları belirli dosya türleriyle çalışacak şekilde sınırlandırabilir; böylece MCP sunucusu dokümantasyon veya diğer içerik türleri için kullanılmaz.
Bu MCP sunucusunu Claude Code'a bağlayarak mevcut kod tabanınız üzerinde anlamsal aramanın yeteneklerini geliştireyebilirsiniz.
MCP sunucusunu Claude Code'a ekleyin:
# Kod araması için yapılandırılan mcp-server-qdrant'ı ekle
claude mcp add code-search \
-e QDRANT_URL="http://localhost:6333" \
-e COLLECTION_NAME="code-repository" \
-e EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \
-e TOOL_STORE_DESCRIPTION="Store code snippets with descriptions. The 'information' parameter should contain a natural language description of what the code does, while the actual code should be included in the 'metadata' parameter as a 'code' property." \
-e TOOL_FIND_DESCRIPTION="Search for relevant code snippets using natural language. The 'query' parameter should describe the functionality you're looking for." \
-- uvx mcp-server-qdrant
Sunucunun eklendiğini doğrulayın:
claude mcp list
TOOL_STORE_DESCRIPTION ve TOOL_FIND_DESCRIPTION içinde belirtilen araç açıklamaları, Claude Code'u MCP sunucusunun nasıl kullanılacağı konusunda rehberlik eder. Yukarıda sağlananlar örnektir ve belirli kullanım durumunuz için özelleştirilmesi gerekebilir. Ancak, Claude Code zaten şunları yapabilmelidir:
qdrant-store aracını kullanma.qdrant-find aracını kullanma.MCP sunucusu, mcp dev komutu kullanılarak geliştirme modunda çalıştırılabilir. Bu, sunucuyu başlatacak ve tarayıcınızda MCP inspector'u açacaktır.
COLLECTION_NAME=mcp-dev fastmcp dev src/mcp_server_qdrant/server.py
Tek tıklamalı kurulum için aşağıdaki kurulum düğmelerinden birine tıklayın:
VS Code'unda Kullanıcı Ayarları (JSON) dosyasına aşağıdaki JSON bloğunu ekleyin. Bunu Ctrl + Shift + P tuşlarına basarak ve Preferences: Open User Settings (JSON) yazarak yapabilirsiniz.
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "qdrantUrl",
"description": "Qdrant URL"
},
{
"type": "promptString",
"id": "qdrantApiKey",
"description": "Qdrant API Key",
"password": true
},
{
"type": "promptString",
"id": "collectionName",
"description": "Collection Name"
}
],
"servers": {
"qdrant": {
"command": "uvx",
"args": ["mcp-server-qdrant"],
"env": {
"QDRANT_URL": "${input:qdrantUrl}",
"QDRANT_API_KEY": "${input:qdrantApiKey}",
"COLLECTION_NAME": "${input:collectionName}"
}
}
}
}
}
Veya Docker'ı tercih ediyorsanız, bunun yerine bu yapılandırmayı ekleyin:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "qdrantUrl",
"description": "Qdrant URL"
},
{
"type": "promptString",
"id": "qdrantApiKey",
"description": "Qdrant API Key",
"password": true
},
{
"type": "promptString",
"id": "collectionName",
"description": "Collection Name"
}
],
"servers": {
"qdrant": {
"command": "docker",
"args": [
"run",
"-p", "8000:8000",
"-i",
"--rm",
"-e", "QDRANT_URL",
"-e", "QDRANT_API_KEY",
"-e", "COLLECTION_NAME",
"mcp-server-qdrant"
],
"env": {
"QDRANT_URL": "${input:qdrantUrl}",
"QDRANT_API_KEY": "${input:qdrantApiKey}",
"COLLECTION_NAME": "${input:collectionName}"
}
}
}
}
}
Alternatif olarak, çalışma alanınızda aşağıdaki içeriğe sahip bir .vscode/mcp.json dosyası olu
Veritabanları için kolay, hızlı ve güvenli araçlar sağlayan açık kaynak MCP sunucusu.
Baserow veritabanı entegrasyonu ile tablo arama, listeleme ve satır oluşturma, okuma, güncelleme ve silme işlemlerini gerçekleştirebilirsiniz.
Postgres geliştirme ve operasyonları için kapsamlı MCP sunucusu; performans analizi, ayarlama ve sağlık kontrolleri için araçlar içerir.
Supabase'in resmi MCP sunucusu, AI asistanlarını doğrudan Supabase projenize bağlayarak tablo yönetimi, config getirme ve veri sorgulama gibi işlemleri gerçekleştirmelerine olanak tanır.
NodeJS'de MySQL veritabanı entegrasyonu, yapılandırılabilir erişim kontrolleri ve schema incelemesi özellikleri ile sağlanır.
MySQL veritabanı entegrasyonu, yapılandırılabilir erişim kontrolleri, schema incelemesi ve kapsamlı güvenlik yönergeleri ile gelir.