SingleStore MCP Server
resmiSingleStore veritabanı platformu ile etkileşim kurun
Dokümantasyon
SingleStore MCP Sunucusu
Model Context Protocol (MCP), büyük dil modelleri (LLM'ler) ile harici sistemler arasındaki bağlamı yönetmek için tasarlanmış standartlaştırılmış bir protokoldür. Bu depo, SingleStore için bir yükleyici ve bir MCP Sunucusu sağlayarak sorunsuz entegrasyonu mümkün kılar.
MCP ile, karmaşık işlemleri zahmetsizce gerçekleştirmek için doğal dil kullanarak SingleStore ile etkileşim kurmak amacıyla Claude Desktop, Claude Code, Cursor veya herhangi bir uyumlu MCP istemcisini kullanabilirsiniz.
💡 Profesyonel İpucu: MCP sunucusunun neler yapabileceğinden emin değil misiniz? Sohbetinizde /help istemini çağırmanız yeterli!
Gereksinimler
- Python >= v3.10.0
- Python ortamınızda uvx yüklü olmalı
- VS Code, Cursor, Windsurf, Claude Desktop, Claude Code, Goose veya başka bir MCP istemcisi
Başlarken
Başlarken
İlk olarak, SingleStore MCP sunucusunu istemcinizle birlikte yükleyin.
Standart yapılandırma çoğu araçta çalışır:
{
"mcpServers": {
"singlestore-mcp-server": {
"command": "uvx",
"args": [
"singlestore-mcp-server",
"start"
]
}
}
}
API anahtarı, token veya ortam değişkeni gerekmez! Sunucu, başlatıldığında tarayıcı OAuth aracılığıyla kimlik doğrulamasını otomatik olarak gerçekleştirir.
Claude Desktop
Otomatik kurulum:
uvx singlestore-mcp-server init --client=claude-desktop
Manuel kurulum: MCP yükleme kılavuzunu takip edin, yukarıdaki standart yapılandırmayı kullanın.
Claude Code
Otomatik kurulum:
uvx singlestore-mcp-server init --client=claude-code
Bu, sizin için Claude CLI komutunu otomatik olarak çalıştıracaktır.
Manuel kurulum:
claude mcp add singlestore-mcp-server uvx singlestore-mcp-server start
Cursor
Otomatik kurulum:
uvx singlestore-mcp-server init --client=cursor
Manuel kurulum:
Cursor Settings -> MCP -> Add new MCP Server yoluna gidin. İsteğinize göre adlandırın, command türünü ve uvx singlestore-mcp-server start komutunu kullanın. Ayrıca Edit seçeneğine tıklayarak yapılandırmayı doğrulayabilir veya komut satırı argümanları ekleyebilirsiniz.
VS Code
Otomatik kurulum:
uvx singlestore-mcp-server init --client=vscode
Manuel kurulum: MCP yükleme kılavuzunu takip edin, yukarıdaki standart yapılandırmayı kullanın. Ayrıca VS Code CLI kullanarak da yükleyebilirsiniz:
code --add-mcp '{"name":"singlestore-mcp-server","command":"uvx","args":["singlestore-mcp-server","start"]}'
Kurulumdan sonra, SingleStore MCP sunucusu VS Code'daki GitHub Copilot aracınızla kullanıma hazır olacaktır.
Windsurf
Otomatik kurulum:
uvx singlestore-mcp-server init --client=windsurf
Manuel kurulum: Windsurf MCP dokümantasyonunu takip edin. Yukarıdaki standart yapılandırmayı kullanın.
Gemini CLI
Otomatik kurulum:
uvx singlestore-mcp-server init --client=gemini
Manuel kurulum: MCP yükleme kılavuzunu takip edin, yukarıdaki standart yapılandırmayı kullanın.
LM Studio
Otomatik kurulum:
uvx singlestore-mcp-server init --client=lm-studio
Manuel kurulum:
Sağ kenar çubuğundaki Program -> Install -> Edit mcp.json yoluna gidin. Yukarıdaki standart yapılandırmayı kullanın.
Goose
Yalnızca manuel kurulum:
Advanced settings -> Extensions -> Add custom extension yoluna gidin. İsteğinize göre adlandırın, STDIO türünü kullanın ve command değerini uvx singlestore-mcp-server start olarak ayarlayın. "Eklenti Ekle"ye tıklayın.
Qodo Gen
Yalnızca manuel kurulum: VSCode veya IntelliJ'de Qodo Gen sohbet panelini açın → Daha fazla araç bağlayın → + Yeni MCP ekle → Yukarıdaki standart yapılandırmayı yapıştırın.
Kaydet düğmesine tıklayın.
Docker Kullanımı
NOT: Docker kullanırken bir API anahtarı gereklidir, çünkü OAuth akışı Docker konteynerlerinde çalışan sunucular için desteklenmez.
{
"mcpServers": {
"singlestore-mcp-server": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--init", "--pull=always",
"-e", "MCP_API_KEY=your_api_key_here",
"singlestore/mcp-server-singlestore"
]
}
}
}
Docker imajını kendiniz oluşturabilirsiniz:
docker build -t singlestore/mcp-server-singlestore .
Daha iyi güvenlik için, SingleStore MCP sunucusunu yapılandırmak üzere Docker Desktop kullanmanızı öneririz—Docker'ın yeni MCP Kataloğu hakkında ayrıntılar için bu blog gönderisine bakın.
Bileşenler
Araçlar
Sunucu aşağıdaki araçları uygular:
-
get_user_info: Mevcut kullanıcı hakkında ayrıntıları alır
- Argüman gerekmez
- Kullanıcı bilgilerini ve ayrıntılarını döndürür
-
organization_info: Kullanıcının mevcut organizasyonu hakkında ayrıntıları alır
- Argüman gerekmez
- Organizasyon ayrıntılarını döndürür
-
choose_organization: Mevcut organizasyonlar arasından seçim yapar (yalnızca API anahtarı ortam değişkeni ayarlanmadığında kullanılabilir)
- Argüman gerekmez
- Seçilebilecek mevcut organizasyonların listesini döndürür
-
set_organization: Aktif organizasyonu ayarlar (yalnızca API anahtarı ortam değişkeni ayarlanmadığında kullanılabilir)
- Argümanlar:
organization_id(string) - Belirtilen organizasyonu aktif olarak ayarlar
- Argümanlar:
-
workspace_groups_info: Kullanıcının erişebildiği çalışma alanı grupları hakkında ayrıntıları alır
- Argüman gerekmez
- Çalışma alanı gruplarının ayrıntılarını döndürür
-
workspaces_info: Belirli bir çalışma alanı grubundaki çalışma alanları hakkında ayrıntıları alır
- Argümanlar:
workspace_group_id(string) - Çalışma alanlarının ayrıntılarını döndürür
- Argümanlar:
-
resume_workspace: Askıya alınmış bir çalışma alanını devam ettirir
- Argümanlar:
workspace_id(string) - Belirtilen çalışma alanını devam ettirir
- Argümanlar:
-
list_starter_workspaces: Kullanıcının erişebildiği tüm başlangıç çalışma alanlarını listeler
- Argüman gerekmez
- Mevcut başlangıç çalışma alanlarının ayrıntılarını döndürür
-
create_starter_workspace: Yeni bir başlangıç çalışma alanı oluşturur
- Argümanlar: çalışma alanı yapılandırma parametreleri
- Oluşturulan başlangıç çalışma alanının ayrıntılarını döndürür
-
terminate_starter_workspace: Mevcut bir başlangıç çalışma alanını sonlandırır
- Argümanlar:
workspace_id(string) - Belirtilen başlangıç çalışma alanını sonlandırır
- Argümanlar:
-
list_regions: Çalışma alanlarını destekleyen tüm bölgelerin listesini alır
- Argüman gerekmez
- Mevcut bölgelerin listesini döndürür
-
list_sharedtier_regions: Paylaşımlı katman bölgelerinin listesini alır
- Argüman gerekmez
- Paylaşımlı katman bölgelerinin listesini döndürür
-
run_sql: Bağlı bir çalışma alanında SQL işlemleri yürütür
- Argümanlar:
workspace_id,database,sql_queryve bağlantı parametreleri - SQL sorgusunun sonuçlarını yapılandırılmış bir formatta döndürür
- Argümanlar:
-
create_notebook_file: SingleStore Spaces'te yeni bir not defteri dosyası oluşturur
- Argümanlar:
notebook_name,content(isteğe bağlı) - Oluşturulan not defterinin ayrıntılarını döndürür
- Argümanlar:
-
upload_notebook_file: SingleStore Spaces'e bir not defteri dosyası yükler
- Argümanlar:
file_path,notebook_name - Yüklenen not defterinin ayrıntılarını döndürür
- Argümanlar:
-
create_job_from_notebook: Bir not defterinden zamanlanmış bir iş oluşturur
- Argümanlar:
notebook_path,schedule_modevb. dahil iş yapılandırması - Oluşturulan işin ayrıntılarını döndürür
- Argümanlar:
-
get_job: Mevcut bir işin ayrıntılarını alır
- Argümanlar:
job_id(string) - Belirtilen işin ayrıntılarını döndürür
- Argümanlar:
-
delete_job: Mevcut bir işi siler
- Argümanlar:
job_id(string) - Belirtilen işi siler
- Argümanlar:
-
stage_list_files: Bir Stage dağıtımının dosya sistemindeki dosya ve klasörleri listeler
- Argümanlar:
deployment_id(string),path(string, isteğe bağlı) - Dosyalar ve alt klasörler dahil klasör içeriklerini döndürür
- Argümanlar:
-
stage_get_file: Stage'den yol ile bir dosya alır
- Argümanlar:
deployment_id(string),path(string),return_type(string: 'metadata', 'url' veya 'content') - Dosya meta verilerini, bir indirme URL'sini veya metin içeriğini döndürür
- Argümanlar:
-
stage_create_folder: Stage'de bir klasör oluşturur
- Argümanlar:
deployment_id(string),path(string) - Oluşturma durumunu döndürür
- Argümanlar:
-
stage_upload_file: Stage'e metin içerikli bir dosya yükler
- Argümanlar:
deployment_id(string),path(string),content(string),local_path(string) - Yükleme durumunu döndürür
- Argümanlar:
-
stage_move: Stage'de bir dosya veya klasörü taşır veya yeniden adlandırır
- Argümanlar:
deployment_id(string),source_path(string),destination_path(string) - Taşıma durumunu döndürür
- Argümanlar:
-
stage_delete: Stage'den bir dosya veya klasörü siler
- Argümanlar:
deployment_id(string),path(string) - Silme durumunu döndürür
- Argümanlar:
Not: Organizasyon yönetim araçları (choose_organization ve set_organization), yalnızca API anahtarı ortam değişkeni ayarlanmadığında kullanılabilir, bu da OAuth kimlik doğrulaması sırasında etkileşimli organizasyon seçimine olanak tanır.
Geliştirme
Ön Koşullar
- Python >= 3.11
- Bağımlılık yönetimi için uv
Kurulum
- Depoyu klonlayın:
git clone https://github.com/singlestore-labs/mcp-server-singlestore.git
cd mcp-server-singlestore
- Bağımlılıkları yükleyin:
uv sync --dev
- Ön işleme kancalarını ayarlayın (isteğe bağlı ancak önerilir):
uv run pre-commit install
Geliştirme İş Akışı
# Quick quality checks (fast feedback)
./scripts/check.sh
# Run tests independently
./scripts/test.sh
# Comprehensive validation (before PRs)
./scripts/check-all.sh
# Create and publish releases
./scripts/release.sh
Testleri Çalıştırma
# Run test suite with coverage
./scripts/test.sh
# Or use pytest directly
uv run pytest
uv run pytest --cov=src --cov-report=html
Kod Kalitesi
Hem linting hem de biçimlendirme için Ruff kullanıyoruz:
# Format code
uv run ruff format src/ tests/
# Lint code
uv run ruff check src/ tests/
# Lint and fix issues automatically
uv run ruff check --fix src/ tests/
Sürüm Süreci
Sürümler git etiketleri ve otomatik PyPI yayını aracılığıyla yönetilir:
- Sürüm oluşturma:
./scripts/release.sh(etkileşimli araç) - Otomatik yayın: Sürüm etiketlerinin gönderilmesiyle tetiklenir
- Manuel PyPI yüklemeleri yok - tamamen otomatikleştirilmiş işlem hattı
Ayrıntılı iş akışı dokümantasyonu için scripts/dev-workflow.md sayfasına bakın.