vantadb 0.1.4

VantaDB: An embedded persistent memory and vector retrieval engine for local-first AI applications.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
# VantaDB Editor Integrations

This guide explains how to integrate VantaDB with popular code editors and AI-assisted development environments using the Model Context Protocol (MCP).

## Overview

VantaDB provides a complete MCP server implementation that enables AI assistants in code editors to access persistent memory, perform hybrid vector and text search, and maintain context across sessions.

## Supported Editors

### Cursor

Cursor has native MCP support for AI assistants.

#### Configuration

Add to your Cursor configuration file (`~/.cursor/config.json`):

```json
{
  "mcpServers": {
    "vantadb": {
      "command": "vanta-server",
      "args": ["--mcp", "--path", "~/.vantadb"],
      "env": {
        "VANTADB_PATH": "~/.vantadb"
      }
    }
  }
}
```

#### Usage

Once configured, Cursor's AI assistant can:
- Store and retrieve project context
- Search through code documentation
- Maintain conversation history
- Access operational metrics

### VS Code

VS Code requires an MCP-compatible extension.

#### Prerequisites

1. Install an MCP-compatible extension (e.g., "MCP Client" or similar)
2. Ensure VantaDB server is installed

#### Configuration

Configure the MCP client extension:

```json
{
  "mcpServers": {
    "vantadb": {
      "command": "vanta-server",
      "args": ["--mcp", "--path", "${workspaceFolder}/.vantadb"],
      "cwd": "${workspaceFolder}"
    }
  }
}
```

#### Workspace-Specific Setup

For workspace-specific VantaDB instances:

```json
{
  "mcpServers": {
    "vantadb-workspace": {
      "command": "vanta-server",
      "args": ["--mcp", "--path", "${workspaceFolder}/.vantadb"],
      "cwd": "${workspaceFolder}"
    }
  }
}
```

### OpenCode

OpenCode supports MCP through its AI assistant features.

#### Configuration

```json
{
  "mcp": {
    "servers": {
      "vantadb": {
        "command": "vanta-server",
        "args": ["--mcp", "--path", "~/.vantadb"],
        "enabled": true
      }
    }
  }
}
```

### OpenClaw

OpenClaw integrates with MCP for AI-powered development.

#### Configuration

```yaml
mcp:
  servers:
    vantadb:
      command: vanta-server
      args:
        - --mcp
        - --path
        - ~/.vantadb
```

### Devin

Devin (AI-powered IDE) supports MCP for persistent memory.

#### Configuration

```json
{
  "ai": {
    "memory": {
      "backend": "vantadb",
      "mcp": {
        "command": "vanta-server",
        "args": ["--mcp", "--path", "~/.vantadb"]
      }
    }
  }
}
```

### Antigravity

Antigravity editor with AI features supports MCP.

#### Configuration

```toml
[mcp]
[[mcp.servers]]
name = "vantadb"
command = "vanta-server"
args = ["--mcp", "--path", "~/.vantadb"]
```

## Common Configuration Patterns

### Project-Level Memory

Configure VantaDB to store memory per project:

```json
{
  "mcpServers": {
    "vantadb-project": {
      "command": "vanta-server",
      "args": ["--mcp", "--path", "${workspaceFolder}/.vantadb"],
      "cwd": "${workspaceFolder}",
      "env": {
        "VANTADB_NAMESPACE": "project-${workspaceFolderBasename}"
      }
    }
  }
}
```

### Global Memory

Use a single global VantaDB instance across all projects:

```json
{
  "mcpServers": {
    "vantadb-global": {
      "command": "vanta-server",
      "args": ["--mcp", "--path", "~/.vantadb/global"],
      "env": {
        "VANTADB_NAMESPACE": "global"
      }
    }
  }
}
```

### Multi-Workspace Setup

Configure separate VantaDB instances for different workspaces:

```json
{
  "mcpServers": {
    "vantadb-workspace-1": {
      "command": "vanta-server",
      "args": ["--mcp", "--path", "${workspaceFolder}/.vantadb"],
      "cwd": "${workspaceFolder}",
      "condition": "workspaceFolder =~ /project1/"
    },
    "vantadb-workspace-2": {
      "command": "vanta-server",
      "args": ["--mcp", "--path", "${workspaceFolder}/.vantadb"],
      "cwd": "${workspaceFolder}",
      "condition": "workspaceFolder =~ /project2/"
    }
  }
}
```

## Available MCP Tools

When VantaDB is connected via MCP, the following tools are available to AI assistants:

### Memory Operations

- `memory_put` - Store memory with optional vector and metadata
- `memory_get` - Retrieve memory by key
- `memory_delete` - Delete memory
- `memory_list` - List memories with pagination
- `memory_list_namespaces` - List all namespaces

### Search Operations

- `search_memory` - Hybrid vector + text search
- `search_semantic` - Pure vector search

### Graph Operations

- `query_lisp` - Execute VantaLISP queries
- `get_node_neighbors` - Inspect graph relationships
- `inject_context` - Inject context into threads
- `read_axioms` - Read system axioms

### Resources

- `metrics://` - Operational metrics
- `schema://` - Database schema information
- `memory://{namespace}/{key}` - Individual memory records
- `namespace://{namespace}` - Namespace contents

## Example Workflows

### Code Review Assistant

AI assistant can:
1. Store code review comments in VantaDB
2. Search for similar issues across projects
3. Maintain review history with metadata
4. Retrieve relevant context for new reviews

### Documentation Search

AI assistant can:
1. Index project documentation
2. Perform semantic search for relevant docs
3. Maintain versioned documentation history
4. Cross-reference related documentation

### Context-Aware Coding

AI assistant can:
1. Store project-specific preferences
2. Maintain coding style guidelines
3. Track architectural decisions
4. Retrieve relevant context for code generation

## Troubleshooting

### Connection Issues

**Problem**: Editor cannot connect to VantaDB MCP server

**Solutions**:
1. Verify VantaDB server is installed: `vanta-server --version`
2. Check the command path in configuration
3. Ensure the database path is writable
4. Check editor logs for connection errors

### Permission Errors

**Problem**: VantaDB cannot write to database path

**Solutions**:
1. Ensure the directory exists and is writable
2. Check file system permissions
3. Use a different path with proper permissions
4. Run editor with appropriate user permissions

### Memory Issues

**Problem**: VantaDB consuming too much memory

**Solutions**:
1. Configure memory limit in VantaConfig
2. Use namespace isolation to limit scope
3. Implement periodic cleanup of old memories
4. Adjust HNSW parameters for memory efficiency

## Performance Optimization

### Index Configuration

Optimize HNSW index for your workload:

```json
{
  "hnsw": {
    "m": 16,
    "ef_construction": 200,
    "ef_search": 50
  }
}
```

### Memory Limits

Configure appropriate memory limits:

```json
{
  "memory_limit_bytes": 512000000,
  "max_blocking_threads": 4
}
```

### Namespace Strategy

Use namespaces strategically:
- Per-project namespaces for project-specific memory
- Global namespace for shared preferences
- Session namespaces for temporary context

## Security Considerations

### Namespace Isolation

Use separate namespaces for different contexts to prevent cross-contamination.

### Read-Only Mode

For production deployments, consider read-only mode for AI assistants:

```json
{
  "read_only": true
}
```

### Access Control

Implement access control at the editor level:
- Restrict which projects can access global memory
- Use different VantaDB instances for different security levels
- Audit memory access logs

## Advanced Configuration

### Custom Tokenizer

Configure advanced tokenizer for better text search:

```json
{
  "advanced_tokenizer": {
    "language": "english",
    "stemming": true,
    "stopwords": true
  }
}
```

### Custom Metrics

Configure custom operational metrics:

```json
{
  "metrics": {
    "enable_hnsw_stats": true,
    "enable_storage_stats": true,
    "enable_query_stats": true
  }
}
```

## Migration Guide

### From Other Memory Backends

Migrating from other memory backends to VantaDB:

1. Export existing memories
2. Transform to VantaDB format
3. Import using `memory_put` tool
4. Verify search functionality
5. Update editor configuration

### Version Upgrades

When upgrading VantaDB:
1. Backup existing database
2. Update VantaDB server
3. Test MCP connectivity
4. Verify existing memories
5. Update configuration if needed

## Support

For issues with editor integrations:
- GitHub Issues: https://github.com/your-org/vantadb/issues
- Documentation: https://docs.vantadb.io
- MCP Protocol: https://modelcontextprotocol.io

## Contributing

To add support for additional editors:
1. Test MCP compatibility
2. Document configuration steps
3. Provide example configurations
4. Submit a pull request with documentation