@jaydb/mcp
# JayDB MCP Server (`@jaydb/mcp`)
Model Context Protocol (MCP) server for **[JayDB](https://jaydb.com)** and **JayDB Cloud**.
Give AI coding assistants (**Cursor**, **Claude Desktop**, **Antigravity**, **Cline**) direct access to read, create, update (with optimistic concurrency / CAS), delete, and list documents in your JayDB databases during development.
---
## ⚡ Features & Tools Exposed to AI
- 🔍 `jaydb_get`: Read documents and view current ETags.
- ✍️ `jaydb_put`: Create or update documents with optimistic locking (`ifMatch` CAS or `createOnly`).
- 🗑️ `jaydb_delete`: Delete documents with ETag safety checks.
- 📋 `jaydb_list`: List keys and document metadata by prefix.
- 🩺 `jaydb_health`: Test database connectivity and ping the endpoint.
- 📦 Resource: Access documents directly via URI `jaydb://{namespace}/{key}`.
---
## 🚀 Setup & Configuration
### 1. Cursor IDE
Add to your `.cursor/mcp.json` (or Cursor Settings > Features > MCP):
```json
{
"mcpServers": {
"jaydb": {
"command": "npx",
"args": ["-y", "@jaydb/mcp"],
"env": {
"JAYDB_URL": "https://your-tenant.jaydb.com",
"JAYDB_API_KEY": "jcloud_sec_your_api_key_here",
"JAYDB_NAMESPACE": "production"
}
}
}
}
```
*For local JayDB development, omit the API key and set `JAYDB_URL: "http://localhost:8080"`.*
---
### 2. Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"jaydb": {
"command": "npx",
"args": ["-y", "@jaydb/mcp"],
"env": {
"JAYDB_URL": "https://your-tenant.jaydb.com",
"JAYDB_API_KEY": "jcloud_sec_your_api_key_here",
"JAYDB_NAMESPACE": "default"
}
}
}
}
```
---
## 🛠️ Environment Variables
| Variable | Description | Default |
| :--- | :--- | :--- |
| `JAYDB_URL` | Base URL of JayDB Cloud tenant or local JayDB instance | `http://localhost:8080` |
| `JAYDB_API_KEY` | Server-side API key (`X-JayDB-API-Key`) | `""` |
| `JAYDB_NAMESPACE` | Default document namespace/bucket | `"default"` |
---
## 📄 License
MIT © [JayDB](https://jaydb.com)
TDQS
Scored across 5 tools
Each tool targets a distinct operation on the JayDB store: get, put, delete, list, and health check. There is no overlap or ambiguity in what each tool does, so an agent should reliably select the right one.
All tools follow the same `jaydb_` prefix and a clear action-oriented name: get, put, delete, list, health. The naming pattern is consistent and predictable, making the tool surface easy to navigate.
Five tools is well-scoped for a key-value document store server. Each tool covers a core operation without unnecessary bloat or missing essentials.
The tool set provides full CRUD coverage through get, put, and delete, plus listing for discovery and health for operational checking. Put explicitly handles both create and update, so no lifecycle gaps are apparent.