logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

LLM-Interface-for-Couchbase-on-Capella

Provides large language models the capability to interface directly with Couchbase datastores hosted on Capella environments, supporting natural language commands for data manipulation (CRUD), executing N1QL queries, and overall data administration.

Author

LLM-Interface-for-Couchbase-on-Capella logo

Aniket310101

No License

Quick Info

GitHub GitHub Stars 7
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

couchbaseapisdatabasescouchbase facilitatesserver couchbasecouchbase databases

Verified on MseeP

💾 Capella Couchbase Connector for Conversational AI

This Model Context Protocol (MCP) service unit empowers sophisticated language models to issue commands against Couchbase instances running within the Capella managed service structure. Users can invoke data retrieval, modification, deletion, and advanced N1QL statements purely via conversational input.

▶️ Initial Setup Guide

  1. Prerequisites Checklist

  2. Node.js runtime, version 16 or newer.

  3. An active Couchbase deployment situated on Capella.
  4. The Claude Desktop application installed.

  5. Installation Procedure

There are two primary methods to deploy the Couchbase MCP Server:

### Method A: Utilizing NPX (Recommended Approach)

Execute this command for the fastest deployment:

bash npx -y @couchbasedatabase/couchbase-mcp

### Method B: Manual Source Deployment

For those preferring local source control:

bash # Obtain the repository source git clone https://github.com/Aniket310101/MCP-Server-Couchbase.git cd MCP-Server-Couchbase

# Install required dependencies npm install

# Compile the source code npm run build

  1. Integration with Claude Desktop

Incorporate the following configuration block into your Claude Desktop configuration file:

Windows Path: %APPDATA%/Claude/claude_desktop_config.json
MacOS Path: ~/Library/Application Support/Claude/claude_desktop_config.json

### Configuration Option 1: Via Package Deployment

{ "mcpServers": { "couchbase": { "command": "npx", "args": ["-y", "@couchbasedatabase/couchbase-mcp"], "env": { "COUCHBASE_URL": "", "COUCHBASE_BUCKET": "", "COUCHBASE_USERNAME": "", "COUCHBASE_PASSWORD": "" } } } }

### Configuration Option 2: Via Local Build Path

{ "mcpServers": { "couchbase": { "command": "node", "args": ["path/to/MCP-Server-Couchbase/dist/index.js"], "env": { "COUCHBASE_URL": "", "COUCHBASE_BUCKET": "", "COUCHBASE_USERNAME": "", "COUCHBASE_PASSWORD": "" } } } }

  1. Connection Validation

  2. Restart the Claude Desktop application.

  3. Confirm that the Couchbase data access utility is now accessible within your ongoing conversational contexts.

🛠️ Available Functionalities

Core Access Methods

  • query: Execute arbitrary N1QL statements.
  • listBuckets: Retrieve a roster of accessible data buckets.

Schema Structuring (Scope Control)

  • createScope: Instantiate a new logical grouping (scope) within a bucket.
  • deleteScope: Erase an existing scope.
  • listScopes: Enumerate all scopes affiliated with a specified bucket.

Data Organization Units (Collection Control)

  • createCollection: Provision a new collection within a defined scope.
  • dropCollection: Deprovision (remove) a collection associated with a scope.

Record Manipulation (Document Interface)

  • createDocument: Insert a novel data record identified by a unique ID.
  • getDocument: Fetch a record based on its ID.
  • updateDocument: Modify the contents of an existing record.
  • deleteDocument: Permanently remove a record by its identifier.
  • bulkCreateDocuments: Facilitate the simultaneous ingestion of multiple data records.

Index Optimization

  • createIndex: Establish an index across designated field(s).
  • createPrimaryIndex: Set up the default primary index for a collection.
  • listIndexes: Display current indexing definitions for a bucket.
  • dropIndex: Retire (delete) a specified index.

Note: All service methods support optional collection and scope arguments for precise data targeting.

🛡️ Security Directives

  • Always utilize environment variables to safeguard sensitive access data.
  • In production settings, position the server behind a robust reverse proxy.
  • Implement granular access governance and authentication mechanisms as required by your operational policies.

💡 Usage Scenarios

Illustrative interactions with Claude utilizing this MCP interface:

  1. Displaying database containers:

Can you provide a complete listing of all active database buckets?

  1. Schema setup request:

Establish a new scope named "user_data" and inside it, create a collection called "sessions".

  1. Data retrieval via query language:

Retrieve records for all end-users who registered within the past thirty days.

  1. Creating a new data entry:

Provision a new user entity record containing the name "Alice Smith" and the email "alice@corp.com".

➕ Contributions

We welcome community enhancements! Feel encouraged to submit any helpful Pull Requests.

🚨 MseeP.ai Security Assurance Mark

MseeP.ai Security Assessment Badge

WIKIPEDIA: XMLHttpRequest (XHR) represents an API structured as a JavaScript construct, facilitating the transmission of HTTP requests from a running web browser environment to an external web server. Its methods permit browser-based applications to dispatch requests to the server subsequent to initial page rendering, and subsequently receive returned data. XMLHttpRequest is foundational to the programming paradigm known as Ajax. Before Ajax gained traction, the primary methods for server interaction involved standard hyperlink navigation and HTML form submissions, actions which generally necessitated reloading the entire viewing context.

== Genesis == The underlying concept for XMLHttpRequest originated in the year 2000, credited to developers working on Microsoft Outlook. This concept was subsequently integrated into the Internet Explorer 5 browser release (1999). Critically, the initial syntax did not utilize the standardized XMLHttpRequest identifier; instead, developers employed object instantiations such as ActiveXObject("Msxml2.XMLHTTP") and ActiveXObject("Microsoft.XMLHTTP"). As of IE version 7 (2006), universal adherence to the XMLHttpRequest identifier became standard across browsers. The XMLHttpRequest identifier is now the recognized baseline standard across all major browser engines, including Mozilla's Gecko (2002), Safari 1.2 (2004), and Opera 8.0 (2005).

=== Formalization === The World Wide Web Consortium (W3C) published its inaugural Working Draft specification defining the XMLHttpRequest object on April 5, 2006. A subsequent Working Draft for Level 2 was released by the W3C on February 25, 2008. The Level 2 revision introduced functionalities for monitoring transfer progress, enabling requests across different domains (cross-site), and managing raw byte data streams. By the close of 2011, the Level 2 specification components were merged back into the core, original specification. Since the end of 2012, the WHATWG organization assumed stewardship of development, maintaining a dynamic document using the Web IDL notation.

== Operational Use == Generally, deploying a request via XMLHttpRequest necessitates adherence to several sequential programming stages.

  1. Instantiate an XMLHttpRequest object by invoking its constructor:
  2. Invoke the open() method to define the request type, specify the target resource URI, and choose between synchronous or asynchronous execution mode:
  3. For asynchronous operations, assign a callback handler designed to be notified upon any state transitions of the request:
  4. Commence the network transaction by calling the send() method, optionally supplying payload data:
  5. Process state changes within the designated event handler. If the server transmits response information, this is usually held in the responseText attribute by default. Once the object completes processing the response, its state transitions to 4, the terminal "done" state. Beyond these fundamental steps, XMLHttpRequest offers numerous controls for fine-tuning request transmission and response handling. Custom header fields can be injected into the request to guide server fulfillment logic, and data can be uploaded to the destination by passing it directly into the send() call. The received payload can be automatically parsed from JSON format into a native JavaScript object, or it can be processed iteratively as chunks arrive, avoiding wait times for the complete payload. Furthermore, the request can be terminated prematurely or configured to automatically fail if a specified time limit is exceeded.

== Inter-domain Transactions ==

During the nascent stages of the World Wide Web's evolution, it became apparent that security vulnerabilities could arise from unrestricted access to resources on external domains, leading to the implementation of restrictions.

See Also

`