ainative-zerodb-mcp-server
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"zerodb": {
"args": [
"ainative-zerodb-mcp-server"
],
"command": "npx",
"env": {
"MCP_CONTEXT_WINDOW": "8192",
"MCP_RETENTION_DAYS": "30",
"ZERODB_API_URL": "https://api.ainative.studio",
"ZERODB_PASSWORD": "your-password",
"ZERODB_PROJECT_ID": "your-project-id-here",
"ZERODB_USERNAME": "your-email@example.com"
}
}
}
}
服务介绍
ZeroDB MCP Server v2.0.8
Enterprise-grade Model Context Protocol (MCP) server providing full access to ZeroDB's vector search, quantum compression, NoSQL operations, and persistent memory for AI agents.
Key Features
- 60 Complete Operations - Full API coverage across all ZeroDB capabilities
- Vector Search - Semantic similarity search with 1536-dimensional embeddings
- Quantum Compression - Advanced vector compression using quantum algorithms
- NoSQL Tables - Flexible table operations for structured data
- File Storage - Secure file upload, download, and management
- Event System - Event-driven architecture with pub/sub support
- Project Management - Multi-tenant project isolation and management
- RLHF Integration - Reinforcement Learning from Human Feedback collection
- Admin Tools - System monitoring, optimization, and health checks
- Enterprise Security - JWT authentication with automatic token renewal
- 90%+ Test Coverage - Comprehensive test suite for production reliability
Table of Contents
- Installation
- Quick Start
- API Reference
- Configuration
- Examples
- Migration Guide
- Troubleshooting
- Contributing
- License
Installation
NPM Global Installation
npm install -g ainative-zerodb-mcp-server
NPX (No Installation Required)
npx ainative-zerodb-mcp-server
Requirements
- Node.js >= 18.0.0
- NPM >= 9.0.0
- ZeroDB account with API credentials (see below)
Getting Started
Step 1: Create Your ZeroDB Account
Before using the MCP server, you need a ZeroDB account and project.
Option A: Register via Web (Recommended)
Visit: https://api.ainative.studio/docs
- Click on "Register User" endpoint
- Use the "Try it out" feature
- Enter your email, password, and username
Option B: Register via API
curl -X POST 'https://api.ainative.studio/v1/public/auth/register' \
-H 'Content-Type: application/json' \
-d '{
"email": "your-email@example.com",
"password": "YourSecurePassword123!",
"username": "yourname"
}'
Response:
{
"email": "your-email@example.com",
"id": "user-uuid-here",
"username": "yourname"
}
Step 2: Create a Project
After registration, create a project to get your PROJECT_ID:
# 1. Login to get your access token
curl -X POST 'https://api.ainative.studio/v1/public/auth/login-json' \
-H 'Content-Type: application/json' \
-d '{
"username": "your-email@example.com",
"password": "YourSecurePassword123!"
}'
Response:
{
"access_token": "eyJhbGc...",
"token_type": "bearer",
"expires_in": 1800
}
# 2. Create a project using your token
curl -X POST 'https://api.ainative.studio/v1/public/projects' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN_HERE' \
-H 'Content-Type: application/json' \
-d '{
"name": "My ZeroDB MCP Project",
"description": "Project for Claude Desktop MCP integration"
}'
Response:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My ZeroDB MCP Project",
"status": "ACTIVE",
...
}
Save this Project ID! You'll need it for the MCP configuration.
Quick Start
Step 3: Configure Claude Desktop
Add to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"zerodb": {
"command": "npx",
"args": ["ainative-zerodb-mcp-server"],
"env": {
"ZERODB_API_URL": "https://api.ainative.studio",
"ZERODB_PROJECT_ID": "your-project-id-here",
"ZERODB_USERNAME": "your-email@example.com",
"ZERODB_PASSWORD": "your-password",
"MCP_CONTEXT_WINDOW": "8192",
"MCP_RETENTION_DAYS": "30"
}
}
}
}
Step 4: Restart Claude Desktop
After saving the configuration, restart Claude Desktop to activate the MCP server.
Step 5: Test Your First Operation
In Claude Desktop, try:
Store a memory: "This is my first ZeroDB memory entry"
Claude will use the zerodb_store_memory tool to persist this information.
API Reference
All 60 operations are organized into 9 categories. Each operation is exposed as an MCP tool that Claude can invoke.
Memory Operations
1. zerodb_store_memory
Store agent memory in ZeroDB for persistent context across sessions.
Parameters:
content(string, required) - Memory content to storerole(string, required) - Message role:"user","assistant", or"system"session_id(string, optional) - Session identifier (auto-generated if not provided)agent_id(string, optional) - Agent identifier (auto-generated if not provided)metadata(object, optional) - Additional metadata
Returns:
{
"memory_id": "uuid",
"created_at": "2025-10-14T12:00:00Z"
}
Example:
{
"content": "User prefers dark mode and TypeScript",
"role": "system",
"metadata": {
"category": "preferences"
}
}
2. zerodb_search_memory
Search agent memory using semantic similarity.
Parameters:
query(string, required) - Search querysession_id(string, optional) - Filter by sessionagent_id(string, optional) - Filter by agentrole(string, optional) - Filter by rolelimit(number, optional) - Max results (default: 10)
Returns:
{
"memories": [
{
"memory_id": "uuid",
"content": "string",
"role": "user|assistant|system",
"created_at": "timestamp",
"similarity_score": 0.95
}
]
}
Example:
{
"query": "What were the user's preferences?",
"limit": 5
}
3. zerodb_get_context
Get agent context window for current session, optimized for token limits.
Parameters:
session_id(string, required) - Session identifieragent_id(string, optional) - Agent identifiermax_tokens(number, optional) - Max tokens in context (default: 8192)
Returns:
{
"session_id": "uuid",
"agent_id": "uuid",
"total_tokens": 1024,
"memory_count": 15,
"messages": [
{
"role": "user",
"content": "string",
"timestamp": "2025-10-14T12:00:00Z"
}
]
}
Example:
{
"session_id": "session-123",
"max_tokens": 4096
}
Vector Operations
4. zerodb_store_vector
Store vector embedding with metadata (exactly 1536 dimensions).
Parameters:
vector_embedding(array[number], required) - 1536-dimensional vectordocument(string, required) - Source document textmetadata(object, optional) - Document metadatanamespace(string, optional) - Vector namespace (default: "windsurf")
Returns:
{
"vector_id": "uuid",
"namespace": "windsurf"
}
Example:
{
"vector_embedding": [0.1, 0.2, ..., 0.9], // 1536 values
"document": "This is the source text",
"metadata": {
"source": "documentation",
"page": 42
}
}
5. zerodb_batch_upsert_vectors
Batch upsert multiple vectors for improved performance.
Parameters:
vectors(array, required) - Array of vector objectsvector_embedding(array[number], required) - 1536-dimensional vectordocument(string, required) - Source documentmetadata(object, optional) - Document metadata
namespace(string, optional) - Vector namespace
Returns:
{
"success_count": 100,
"failed_count": 0,
"vector_ids": ["uuid1", "uuid2", ...]
}
Example:
{
"vectors": [
{
"vector_embedding": [...],
"document": "Document 1",
"metadata": {"index": 1}
},
{
"vector_embedding": [...],
"document": "Document 2",
"metadata": {"index": 2}
}
],
"namespace": "knowledge-base"
}
6. zerodb_search_vectors
Search vectors using semantic similarity.
Parameters:
query_vector(array[number], required) - 1536-dimensional query vectornamespace(string, optional) - Vector namespacelimit(number, optional) - Max results (default: 10)threshold(number, optional) - Similarity threshold 0-1 (default: 0.7)
Returns:
{
"vectors": [
{
"vector_id": "uuid",
"document": "string",
"similarity_score": 0.95,
"metadata": {}
}
]
}
Example:
{
"query_vector": [...], // 1536 values
"namespace": "windsurf",
"limit": 20,
"threshold": 0.8
}
7. zerodb_delete_vector
Delete a specific vector by ID.
Parameters:
vector_id(string, required) - Vector UUID to delete
Returns:
{
"success": true,
"deleted_id": "uuid"
}
Example:
{
"vector_id": "123e4567-e89b-12d3-a456-426614174000"
}
8. zerodb_get_vector
Retrieve a specific vector by ID.
Parameters:
vector_id(string, required) - Vector UUID to retrieve
Returns:
{
"vector_id": "uuid",
"vector_embedding": [...],
"document": "string",
"metadata": {},
"created_at": "timestamp"
}
Example:
{
"vector_id": "123e4567-e89b-12d3-a456-426614174000"
}
9. zerodb_list_vectors
List vectors with pagination and filtering.
Parameters:
namespace(string, optional) - Filter by namespacelimit(number, optional) - Results per page (default: 50)offset(number, optional) - Pagination offset (default: 0)
Returns:
{
"vectors": [...],
"total_count": 1000,
"limit": 50,
"offset": 0
}
Example:
{
"namespace": "windsurf",
"limit": 100,
"offset": 200
}
10. zerodb_vector_stats
Get statistics about vector storage.
Parameters:
namespace(string, optional) - Filter by namespace
Returns:
{
"total_vectors": 10000,
"namespaces": {
"windsurf": 5000,
"default": 5000
},
"storage_bytes": 1048576,
"avg_dimension": 1536
}
Example:
{
"namespace": "windsurf"
}
11. zerodb_create_vector_index
Create a vector search index for improved performance.
Parameters:
namespace(string, required) - Namespace to indexindex_type(string, optional) - Index type: "ivfflat" or "hnsw" (default: "hnsw")params(object, optional) - Index-specific parameters
Returns:
{
"index_id": "uuid",
"namespace": "windsurf",
"index_type": "hnsw",
"status": "created"
}
Example:
{
"namespace": "windsurf",
"index_type": "hnsw",
"params": {
"m": 16,
"ef_construction": 200
}
}
12. zerodb_optimize_vectors
Optimize vector storage and indexes.
Parameters:
namespace(string, optional) - Namespace to optimize
Returns:
{
"optimized": true,
"space_saved_bytes": 102400,
"duration_ms": 1500
}
Example:
{
"namespace": "windsurf"
}
13. zerodb_export_vectors
Export vectors to external format.
Parameters:
namespace(string, required) - Namespace to exportformat(string, optional) - Export format: "json" or "csv" (default: "json")include_embeddings(boolean, optional) - Include vector data (default: false)
Returns:
{
"export_id": "uuid",
"download_url": "https://...",
"expires_at": "timestamp"
}
Example:
{
"namespace": "windsurf",
"format": "json",
"include_embeddings": true
}
Quantum Operations
14. zerodb_quantum_compress
Compress vector using quantum algorithms for reduced storage.
Parameters:
vector_embedding(array[number], required) - 1536-dimensional vector to compresscompression_ratio(number, optional) - Target ratio 0-1 (default: 0.5)algorithm(string, optional) - Algorithm: "qaoa" or "vqe" (default: "qaoa")
Returns:
{
"compressed_vector": [...],
"original_dimensions": 1536,
"compressed_dimensions": 768,
"compression_ratio": 0.5,
"fidelity_score": 0.98
}
Example:
{
"vector_embedding": [...],
"compression_ratio": 0.6,
"algorithm": "qaoa"
}
15. zerodb_quantum_decompress
Decompress quantum-compressed vector.
Parameters:
compressed_vector(array[number], required) - Compressed vector dataoriginal_dimensions(number, required) - Original dimension count
Returns:
{
"decompressed_vector": [...],
"dimensions": 1536,
"reconstruction_error": 0.02
}
Example:
{
"compressed_vector": [...],
"original_dimensions": 1536
}
16. zerodb_quantum_hybrid_search
Perform hybrid search using quantum-enhanced similarity.
Parameters:
query_vector(array[number], required) - 1536-dimensional querynamespace(string, optional) - Vector namespacelimit(number, optional) - Max results (default: 10)quantum_weight(number, optional) - Quantum influence 0-1 (default: 0.5)
Returns:
{
"vectors": [
{
"vector_id": "uuid",
"document": "string",
"similarity_score": 0.96,
"quantum_score": 0.94,
"hybrid_score": 0.95
}
]
}
Example:
{
"query_vector": [...],
"namespace": "windsurf",
"limit": 10,
"quantum_weight": 0.7
}
17. zerodb_quantum_optimize
Optimize vector space using quantum optimization.
Parameters:
namespace(string, required) - Namespace to optimizeoptimization_target(string, optional) - "storage" or "search_speed" (default: "storage")
Returns:
{
"optimized": true,
"improvement_percentage": 35.5,
"duration_ms": 5000
}
Example:
{
"namespace": "windsurf",
"optimization_target": "search_speed"
}
18. zerodb_quantum_feature_map
Generate quantum feature map for vector.
Parameters:
vector_embedding(array[number], required) - 1536-dimensional vectorfeature_map_type(string, optional) - "zz" or "pauli" (default: "zz")
Returns:
{
"feature_map": [...],
"quantum_circuit_depth": 10,
"qubit_count": 12
}
Example:
{
"vector_embedding": [...],
"feature_map_type": "pauli"
}
19. zerodb_quantum_kernel
Compute quantum kernel similarity between vectors.
Parameters:
vector_a(array[number], required) - First 1536-dimensional vectorvector_b(array[number], required) - Second 1536-dimensional vectorkernel_type(string, optional) - "linear" or "rbf" (default: "rbf")
Returns:
{
"kernel_similarity": 0.92,
"quantum_advantage": 0.15,
"computation_time_ms": 45
}
Example:
{
"vector_a": [...],
"vector_b": [...],
"kernel_type": "rbf"
}
Table/NoSQL Operations
20. zerodb_create_table
Create a new NoSQL table with schema.
Parameters:
table_name(string, required) - Table nameschema(object, required) - JSON schema definitiondescription(string, optional) - Table description
Returns:
{
"table_id": "uuid",
"table_name": "string",
"created_at": "timestamp"
}
Example:
{
"table_name": "user_profiles",
"schema": {
"user_id": "uuid",
"name": "string",
"email": "string",
"created_at": "timestamp"
},
"description": "User profile information"
}
21. zerodb_list_tables
List all tables in project.
Parameters:
limit(number, optional) - Results per page (default: 50)offset(number, optional) - Pagination offset (default: 0)
Returns:
{
"tables": [
{
"table_id": "uuid",
"table_name": "string",
"row_count": 1000,
"created_at": "timestamp"
}
],
"total_count": 10
}
Example:
{
"limit": 100,
"offset": 0
}
22. zerodb_get_table
Get table details and schema.
Parameters:
table_id(string, required) - Table UUID
Returns:
{
"table_id": "uuid",
"table_name": "string",
"schema": {},
"row_count": 1000,
"created_at": "timestamp"
}
Example:
{
"table_id": "123e4567-e89b-12d3-a456-426614174000"
}
23. zerodb_delete_table
Delete a table and all its data.
Parameters:
table_id(string, required) - Table UUID to delete
Returns:
{
"success": true,
"deleted_id": "uuid",
"rows_deleted": 1000
}
Example:
{
"table_id": "123e4567-e89b-12d3-a456-426614174000"
}
24. zerodb_insert_rows
Insert rows into table.
Parameters:
table_id(string, required) - Table UUIDrows(array, required) - Array of row objects
Returns:
{
"inserted_count": 100,
"row_ids": ["uuid1", "uuid2", ...]
}
Example:
{
"table_id": "123e4567-e89b-12d3-a456-426614174000",
"rows": [
{
"user_id": "user-1",
"name": "John Doe",
"email": "john@example.com"
},
{
"user_id": "user-2",
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
25. zerodb_query_rows
Query table rows with filters.
Parameters:
table_id(string, required) - Table UUIDfilters(object, optional) - Query filterslimit(number, optional) - Max results (default: 50)offset(number, optional) - Pagination offset (default: 0)
Returns:
{
"rows": [...],
"total_count": 1000,
"limit": 50,
"offset": 0
}
Example:
{
"table_id": "123e4567-e89b-12d3-a456-426614174000",
"filters": {
"email": {
"$contains": "@example.com"
}
},
"limit": 100
}
26. zerodb_update_rows
Update rows in table.
Parameters:
table_id(string, required) - Table UUIDfilters(object, required) - Row selection filtersupdates(object, required) - Fields to update
Returns:
{
"updated_count": 50,
"row_ids": ["uuid1", "uuid2", ...]
}
Example:
{
"table_id": "123e4567-e89b-12d3-a456-426614174000",
"filters": {
"user_id": "user-1"
},
"updates": {
"email": "newemail@example.com"
}
}
27. zerodb_delete_rows
Delete rows from table.
Parameters:
table_id(string, required) - Table UUIDfilters(object, required) - Row selection filters
Returns:
{
"deleted_count": 25,
"row_ids": ["uuid1", "uuid2", ...]
}
Example:
{
"table_id": "123e4567-e89b-12d3-a456-426614174000",
"filters": {
"created_at": {
"$lt": "2025-01-01"
}
}
}
File Operations
28. zerodb_upload_file
Upload file to ZeroDB storage.
Parameters:
file_name(string, required) - File namefile_data(string, required) - Base64-encoded file datacontent_type(string, optional) - MIME typemetadata(object, optional) - File metadata
Returns:
{
"file_id": "uuid",
"file_name": "string",
"size_bytes": 1024,
"upload_url": "string"
}
Example:
{
"file_name": "document.pdf",
"file_data": "base64encodeddata...",
"content_type": "application/pdf",
"metadata": {
"category": "documentation"
}
}
29. zerodb_download_file
Download file from ZeroDB storage.
Parameters:
file_id(string, required) - File UUID
Returns:
{
"file_id": "uuid",
"file_name": "string",
"file_data": "base64encodeddata...",
"content_type": "string",
"size_bytes": 1024
}
Example:
{
"file_id": "123e4567-e89b-12d3-a456-426614174000"
}
30. zerodb_list_files
List files with pagination.
Parameters:
limit(number, optional) - Results per page (default: 50)offset(number, optional) - Pagination offset (default: 0)content_type(string, optional) - Filter by MIME type
Returns:
{
"files": [
{
"file_id": "uuid",
"file_name": "string",
"size_bytes": 1024,
"content_type": "string",
"created_at": "timestamp"
}
],
"total_count": 100
}
Example:
{
"limit": 100,
"content_type": "application/pdf"
}
31. zerodb_delete_file
Delete file from storage.
Parameters:
file_id(string, required) - File UUID to delete
Returns:
{
"success": true,
"deleted_id": "uuid"
}
Example:
{
"file_id": "123e4567-e89b-12d3-a456-426614174000"
}
32. zerodb_get_file_metadata
Get file metadata without downloading.
Parameters:
file_id(string, required) - File UUID
Returns:
{
"file_id": "uuid",
"file_name": "string",
"size_bytes": 1024,
"content_type": "string",
"metadata": {},
"created_at": "timestamp"
}
Example:
{
"file_id": "123e4567-e89b-12d3-a456-426614174000"
}
33. zerodb_generate_presigned_url
Generate temporary download URL.
Parameters:
file_id(string, required) - File UUIDexpiry_seconds(number, optional) - URL validity (default: 3600)
Returns:
{
"file_id": "uuid",
"presigned_url": "https://...",
"expires_at": "timestamp"
}
Example:
{
"file_id": "123e4567-e89b-12d3-a456-426614174000",
"expiry_seconds": 7200
}
Event Operations
34. zerodb_create_event
Create a new event in the event system.
Parameters:
event_type(string, required) - Event type identifierevent_data(object, required) - Event payloadmetadata(object, optional) - Event metadata
Returns:
{
"event_id": "uuid",
"event_type": "string",
"created_at": "timestamp"
}
Example:
{
"event_type": "user.signup",
"event_data": {
"user_id": "user-123",
"email": "user@example.com"
},
"metadata": {
"source": "web"
}
}
35. zerodb_list_events
List events with filtering and pagination.
Parameters:
event_type(string, optional) - Filter by event typestart_date(string, optional) - Filter by start date (ISO 8601)end_date(string, optional) - Filter by end date (ISO 8601)limit(number, optional) - Results per page (default: 50)offset(number, optional) - Pagination offset (default: 0)
Returns:
{
"events": [
{
"event_id": "uuid",
"event_type": "string",
"event_data": {},
"created_at": "timestamp"
}
],
"total_count": 1000
}
Example:
{
"event_type": "user.signup",
"start_date": "2025-10-01T00:00:00Z",
"limit": 100
}
36. zerodb_get_event
Get specific event by ID.
Parameters:
event_id(string, required) - Event UUID
Returns:
{
"event_id": "uuid",
"event_type": "string",
"event_data": {},
"metadata": {},
"created_at": "timestamp"
}
Example:
{
"event_id": "123e4567-e89b-12d3-a456-426614174000"
}
37. zerodb_subscribe_events
Subscribe to event stream (WebSocket).
Parameters:
event_types(array[string], required) - Event types to subscribe tofilters(object, optional) - Additional filters
Returns:
{
"subscription_id": "uuid",
"event_types": ["user.signup", "user.login"],
"websocket_url": "wss://..."
}
Example:
{
"event_types": ["user.signup", "user.login"],
"filters": {
"source": "web"
}
}
38. zerodb_event_stats
Get event statistics and analytics.
Parameters:
event_type(string, optional) - Filter by event typestart_date(string, optional) - Start date (ISO 8601)end_date(string, optional) - End date (ISO 8601)group_by(string, optional) - Group by: "hour", "day", "week" (default: "day")
Returns:
{
"total_events": 10000,
"event_types": {
"user.signup": 1000,
"user.login": 9000
},
"timeline": [
{
"date": "2025-10-14",
"count": 500
}
]
}
Example:
{
"start_date": "2025-10-01T00:00:00Z",
"end_date": "2025-10-14T23:59:59Z",
"group_by": "day"
}
Project Operations
39. zerodb_create_project
Create a new ZeroDB project.
Parameters:
project_name(string, required) - Project namedescription(string, optional) - Project descriptionsettings(object, optional) - Project settings
Returns:
{
"project_id": "uuid",
"project_name": "string",
"created_at": "timestamp"
}
Example:
{
"project_name": "My AI Application",
"description": "Vector search for customer support",
"settings": {
"retention_days": 90
}
}
40. zerodb_get_project
Get project details.
Parameters:
project_id(string, required) - Project UUID
Returns:
{
"project_id": "uuid",
"project_name": "string",
"description": "string",
"settings": {},
"created_at": "timestamp"
}
Example:
{
"project_id": "123e4567-e89b-12d3-a456-426614174000"
}
41. zerodb_list_projects
List all accessible projects.
Parameters:
limit(number, optional) - Results per page (default: 50)offset(number, optional) - Pagination offset (default: 0)
Returns:
{
"projects": [
{
"project_id": "uuid",
"project_name": "string",
"created_at": "timestamp"
}
],
"total_count": 10
}
Example:
{
"limit": 100
}
42. zerodb_update_project
Update project settings.
Parameters:
project_id(string, required) - Project UUIDproject_name(string, optional) - New project namedescription(string, optional) - New descriptionsettings(object, optional) - Updated settings
Returns:
{
"project_id": "uuid",
"updated_fields": ["project_name", "settings"],
"updated_at": "timestamp"
}
Example:
{
"project_id": "123e4567-e89b-12d3-a456-426614174000",
"settings": {
"retention_days": 120
}
}
43. zerodb_delete_project
Delete a project and all its data.
Parameters:
project_id(string, required) - Project UUID to deleteconfirm(boolean, required) - Must be true to confirm deletion
Returns:
{
"success": true,
"deleted_id": "uuid",
"deleted_at": "timestamp"
}
Example:
{
"project_id": "123e4567-e89b-12d3-a456-426614174000",
"confirm": true
}
44. zerodb_get_project_stats
Get project usage statistics.
Parameters:
project_id(string, required) - Project UUIDstart_date(string, optional) - Start date (ISO 8601)end_date(string, optional) - End date (ISO 8601)
Returns:
{
"project_id": "uuid",
"vector_count": 10000,
"memory_count": 5000,
"table_count": 10,
"file_count": 100,
"storage_bytes": 10485760,
"api_calls": 50000
}
Example:
{
"project_id": "123e4567-e89b-12d3-a456-426614174000",
"start_date": "2025-10-01T00:00:00Z"
}
45. zerodb_enable_database
Enable database features for project.
Parameters:
project_id(string, required) - Project UUIDfeatures(array[string], required) - Features to enable: ["vectors", "tables", "files", "events"]
Returns:
{
"project_id": "uuid",
"enabled_features": ["vectors", "tables"],
"enabled_at": "timestamp"
}
Example:
{
"project_id": "123e4567-e89b-12d3-a456-426614174000",
"features": ["vectors", "tables", "files"]
}
RLHF Operations
46. zerodb_rlhf_interaction
Collect user interaction for RLHF training.
Parameters:
session_id(string, required) - Session identifieruser_input(string, required) - User's inputagent_response(string, required) - Agent's responsefeedback_score(number, optional) - User rating 1-5metadata(object, optional) - Additional context
Returns:
{
"interaction_id": "uuid",
"collected_at": "timestamp"
}
Example:
{
"session_id": "session-123",
"user_input": "How do I reset my password?",
"agent_response": "You can reset your password by...",
"feedback_score": 5,
"metadata": {
"model": "claude-3-sonnet",
"response_time_ms": 1200
}
}
47. zerodb_rlhf_agent_feedback
Collect feedback about agent performance.
Parameters:
agent_id(string, required) - Agent identifiersession_id(string, required) - Session identifierfeedback_type(string, required) - "positive" or "negative"feedback_text(string, optional) - Detailed feedbackmetrics(object, optional) - Performance metrics
Returns:
{
"feedback_id": "uuid",
"collected_at": "timestamp"
}
Example:
{
"agent_id": "agent-123",
"session_id": "session-123",
"feedback_type": "positive",
"feedback_text": "Very helpful and accurate responses",
"metrics": {
"accuracy": 0.95,
"helpfulness": 0.9
}
}
48. zerodb_rlhf_workflow
Collect feedback about workflow completion.
Parameters:
workflow_id(string, required) - Workflow identifiersession_id(string, required) - Session identifiercompleted(boolean, required) - Workflow completion statusduration_ms(number, optional) - Workflow durationfeedback(object, optional) - Workflow feedback
Returns:
{
"workflow_feedback_id": "uuid",
"collected_at": "timestamp"
}
Example:
{
"workflow_id": "workflow-123",
"session_id": "session-123",
"completed": true,
"duration_ms": 5000,
"feedback": {
"ease_of_use": 5,
"effectiveness": 4
}
}
49. zerodb_rlhf_error
Collect error reports for model improvement.
Parameters:
session_id(string, required) - Session identifiererror_type(string, required) - Error categoryerror_message(string, required) - Error descriptioncontext(object, optional) - Error contextuser_impact(string, optional) - Impact level: "low", "medium", "high"
Returns:
{
"error_report_id": "uuid",
"collected_at": "timestamp"
}
Example:
{
"session_id": "session-123",
"error_type": "hallucination",
"error_message": "Agent provided incorrect information about product pricing",
"context": {
"user_query": "What is the price?",
"agent_response": "The price is $50"
},
"user_impact": "high"
}
50. zerodb_rlhf_status
Get RLHF collection status.
Parameters:
session_id(string, optional) - Filter by sessionstart_date(string, optional) - Start date (ISO 8601)end_date(string, optional) - End date (ISO 8601)
Returns:
{
"total_interactions": 1000,
"avg_feedback_score": 4.2,
"positive_feedback": 850,
"negative_feedback": 150,
"collection_rate": 0.85
}
Example:
{
"start_date": "2025-10-01T00:00:00Z",
"end_date": "2025-10-14T23:59:59Z"
}
51. zerodb_rlhf_summary
Get RLHF analytics summary.
Parameters:
group_by(string, optional) - Group by: "agent", "workflow", "session" (default: "agent")start_date(string, optional) - Start date (ISO 8601)end_date(string, optional) - End date (ISO 8601)
Returns:
{
"summary": [
{
"group_id": "agent-123",
"interaction_count": 500,
"avg_score": 4.5,
"improvement_trend": 0.15
}
]
}
Example:
{
"group_by": "agent",
"start_date": "2025-10-01T00:00:00Z"
}
52. zerodb_rlhf_start
Start RLHF collection for session.
Parameters:
session_id(string, required) - Session i