Skip to main content
Glama
jaydb-cloud

@jaydb/mcp

by jaydb-cloud

JayDB MCP Server (@jaydb/mcp)

Model Context Protocol (MCP) server for JayDB 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}.


Related MCP server: Jazz MCP Server

πŸš€ Setup & Configuration

1. Cursor IDE

Add to your .cursor/mcp.json (or Cursor Settings > Features > MCP):

{
  "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):

{
  "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

Available Tools

5 tools
jaydb_deleteC

Delete a document from JayDB or JayDB Cloud

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesThe document path key to delete
ifMatchNoExpected ETag for optimistic locking guard
namespaceNoNamespace name (defaults to JAYDB_NAMESPACE or "default")

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Delete' implies a destructive mutation, but the description never states that deletion is permanent/irreversible, what happens when the key does not exist, whether a failed optimistic-locking (ifMatch) guard aborts the operation, or any error behavior. For a mutation tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with zero filler words, front-loaded with the operative verb 'Delete.' It is disciplined and scannable, though the brevity is partly a consequence of under-specification rather than deliberate compression.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description alone must make the tool safely callable, and it does not. It omits return-value/confirmation behavior, missing-key semantics, the effect of supplying ifMatch, and any cloud-vs-local differences hinted at by 'JayDB or JayDB Cloud.' An agent can invoke it correctly at a basic level, but cannot predict the consequences of edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter (key, ifMatch, namespace) already has an inline description in the schema, including the default resolution for namespace. The tool description adds nothing about the parameters, so the baseline 3 applies: the schema carries the heavy lifting and the description neither helps nor hurts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource+scope: 'Delete a document from JayDB or JayDB Cloud.' The verb 'Delete' alone cleanly distinguishes it from sibling tools (jaydb_get, jaydb_put, jaydb_list, jaydb_health) without opening any schemas. It doesn't explicitly name a sibling, but the operation class is unambiguous, so it clears the bar for purpose clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus jaydb_put (which can overwrite/delete in some stores) or jaydb_get, and no mention of prerequisites, exclusions, or the optional ifMatch pattern for guarded deletes. The description is purely definitional and leaves the decision of when to delete to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jaydb_getA

Retrieve a document by key from JayDB or JayDB Cloud

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesThe document path key, e.g. "users/123/profile" or "boards/task-4"
namespaceNoNamespace name (defaults to JAYDB_NAMESPACE or "default")

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the burden of conveying behavior. 'Retrieve' correctly implies a safe, non-mutating read, but the description does not disclose what happens when the key doesn't exist, whether errors are thrown, or whether any special auth/rate limits apply. It is adequate as a read operation summary but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence: 'Retrieve a document by key from JayDB or JayDB Cloud.' It is front-loaded, contains no filler, and every word contributes to identifying the operation and source resource. This is an ideal level of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two fully documented parameters and no output schema, the description covers the essential use. It could mention error/not-found behavior but the clarity of 'retrieve by key' plus the complete parameter schema is nearly sufficient; a very minor gap prevents a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes both 'key' and 'namespace' with concrete examples and defaults. The description adds only the top-level context 'document by key' and does not need to re-explain the parameters. A baseline 3 is therefore appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Retrieve a document by key from JayDB or JayDB Cloud.' It clearly conveys a point read by key, which distinguishes it from sibling tools like jaydb_list (listing), jaydb_put (writing), or jaydb_delete (deleting). It communicates the exact operation an agent needs to identify.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by key' gives a clear context: this tool is for retrieving a single known document, not for listing or querying. It doesn't explicitly name alternatives or state when-not-to-use, but the sibling tool names and the key-based wording are sufficient for a tool of this simplicity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jaydb_healthA

Check connectivity and health of the JayDB endpoint

ParametersJSON Schema
NameRequiredDescriptionDefault
baseUrlNoJayDB base URL to test (defaults to configured JAYDB_URL)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only network probe, but does not describe what response to expect, whether any state changes occur, or what 'healthy' means. This leaves meaningful ambiguity for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word contributes to conveying the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple health-check tool with one optional parameter fully documented in the schema. However, with no output schema and no annotations, the description does not clarify what the tool returns or how an agent should interpret the health result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents the single optional baseUrl parameter with a clear description and default behavior. The tool description adds no parameter information, but the high schema coverage sets the baseline at 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: checking connectivity and health of the JayDB endpoint. This is clearly distinct from the sibling data-operation tools (jaydb_get, jaydb_put, jaydb_delete, jaydb_list).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied by the sibling tool names: this is for endpoint health checks, not data operations. However, the description does not explicitly state when to prefer this tool or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jaydb_listA

List keys and metadata by prefix in JayDB or JayDB Cloud

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax items to return (default: 50)
prefixNoKey prefix to list, e.g. "users/" or "boards/"
namespaceNoNamespace name (defaults to JAYDB_NAMESPACE or "default")

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does disclose the core read-only behavior and the fact that metadata is returned, but it does not mention pagination, ordering, or what happens when a prefix matches a large number of keys. This is adequate but leaves some behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It immediately states the verb, resource, and scope, and every word contributes to the agent's understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description should carry more contextual weight. It names the return concept ('keys and metadata') but does not explain the response shape, pagination behavior, or additional omitted details. It is sufficient for a simple list tool, but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and all three parameters have meaningful descriptions in the schema. The tool description adds only the 'by prefix' notion, which reinforces the prefix parameter but does not add substantive semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and names the resource ('keys and metadata by prefix') in JayDB or JayDB Cloud. The plural 'keys' and prefix scoping implicitly distinguish it from siblings like jaydb_get, jaydb_put, and jaydb_delete, so an agent can identify this as the enumeration tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states what the tool does but gives no explicit guidance on when to choose it over alternatives such as jaydb_get or jaydb_health. There are no usage conditions, exclusions, or comparative hints, so the agent must infer when listing is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jaydb_putA

Create or update a document with optimistic concurrency control (CAS)

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesThe document path key, e.g. "users/123/profile"
dataYesThe document content (JSON object, array, or string)
ifMatchNoExpected ETag for optimistic locking (CAS). Rejects write if modified concurrently.
namespaceNoNamespace name (defaults to JAYDB_NAMESPACE or "default")
createOnlyNoIf true, fails if document already exists (If-None-Match: *)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It does disclose the important CAS behavior, but it does not describe side effects such as overwriting, conflict error responses, or what the tool returns. The schema partially compensates by describing ifMatch and createOnly behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core operation and the distinctive CAS behavior. There is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The required parameters are clear and the schema covers all fields, so an agent can invoke the tool. However, with no output schema and no mention of return values, version/ETag responses, or failure semantics, the description is not fully complete for confident use in all scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents key, data, ifMatch, namespace, and createOnly. The description does not add parameter-level meaning, but none is needed given the complete schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action, 'Create or update', on a specific resource, 'a document', and includes the key mechanism 'optimistic concurrency control (CAS)'. It is clearly distinguishable from the sibling read/delete/health tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied by the verb: use when creating or updating a document. However, there is no explicit guidance about when not to use it or how it compares to get/delete/list/health, leaving the agent to infer routing from the tool name and siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.0
    • First observedjaydb_delete
    • First observedjaydb_get
    • First observedjaydb_health
    • First observedjaydb_list
    • First observedjaydb_put

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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact natively with MongoDB databases, including schema discovery, CRUD operations, aggregation pipelines, and index management via natural language.
    19 npm
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with 4D databases via REST API, supporting authentication, schema inspection, data querying, manipulation, and ORDA function calls.
    6
    -