c95bc4cd44
- Add mcp.md to: bg, fa, ru, tr, zh, ar - Add index.md to Bulgarian (bg) - Add 24 missing German (de) documentation files Translations for all supported languages now complete.
110 lines
2.2 KiB
Markdown
110 lines
2.2 KiB
Markdown
# MCP Sunucusu (Model Context Protocol)
|
||
|
||
BaraDB, AI ajanlarının (Claude, Cursor vb.) veritabanıyla doğrudan etkileşim kurmasını sağlayan yerleşik bir MCP sunucusu içerir.
|
||
|
||
## Hızlı Başlangıç
|
||
|
||
```bash
|
||
./build/baramcp --data-dir ./data
|
||
```
|
||
|
||
STDIO modunda başlar, stdin'de JSON-RPC 2.0 mesajlarını kabul eder.
|
||
|
||
## Mevcut Araçlar
|
||
|
||
### 1. `query` — SQL Yürütme
|
||
|
||
```json
|
||
{
|
||
"name": "query",
|
||
"arguments": {
|
||
"sql": "SELECT * FROM users WHERE age > ?",
|
||
"params": [25],
|
||
"tenant_id": "company-a",
|
||
"user_id": "alice"
|
||
}
|
||
}
|
||
```
|
||
|
||
`?` placeholders kullanarak parametreli sorgular. `tenant_id` ve `user_id` ile multi-tenant desteği.
|
||
|
||
### 2. `vector_search` — Anlamsal Arama
|
||
|
||
```json
|
||
{
|
||
"name": "vector_search",
|
||
"arguments": {
|
||
"table": "docs",
|
||
"column": "embedding",
|
||
"query_vector": [0.1, 0.2, 0.3],
|
||
"k": 5,
|
||
"metric": "cosine",
|
||
"filter_column": "category",
|
||
"filter_value": "news",
|
||
"tenant_id": "company-a"
|
||
}
|
||
}
|
||
```
|
||
|
||
Metrikler: `cosine`, `euclidean`, `dot_product`, `manhattan`.
|
||
|
||
### 3. `schema_inspect` — Şema Keşfi
|
||
|
||
```json
|
||
{
|
||
"name": "schema_inspect",
|
||
"arguments": {
|
||
"table": "users",
|
||
"tenant_id": "company-a"
|
||
}
|
||
}
|
||
```
|
||
|
||
Tabloları, sütunları, tipleri, birincil anahtarları, yabancı anahtarları, indeksleri ve RLS politikalarını döndürür.
|
||
|
||
## Claude Desktop Yapılandırması
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"baradb": {
|
||
"command": "/path/to/build/baramcp",
|
||
"args": ["--data-dir", "/path/to/data"]
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
## Cursor Yapılandırması
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"baradb": {
|
||
"command": "/path/to/build/baramcp",
|
||
"args": ["--data-dir", "~/.baradb/data"]
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
## Multi-Tenant İzolasyonu
|
||
|
||
Her MCP isteği `tenant_id` ve `user_id` içerebilir, bunlar session değişkenleri olarak ayarlanır:
|
||
- `app.tenant_id` — RLS filtreleme için
|
||
- `app.user_id` — `current_user` referansları için
|
||
|
||
RLS politikaları bu değişkenlere göre verileri otomatik olarak filtreler.
|
||
|
||
## JSON-RPC 2.0 Protokolü
|
||
|
||
Sunucu STDIO üzerinden JSON-RPC 2.0 kullanır:
|
||
|
||
```json
|
||
// İstek
|
||
{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {...}}
|
||
|
||
// Yanıt
|
||
{"jsonrpc": "2.0", "id": 1, "result": {"content": [{"type": "text", "text": "..."}]}}
|
||
```
|