Skip to main content
Glama
jaydb-cloud

@jaydb/mcp

by jaydb-cloud
README.md
# 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

A3.8/5.0

Scored across 5 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

Five tools is well-scoped for a key-value document store server. Each tool covers a core operation without unnecessary bloat or missing essentials.

Completeness5/5

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.