Couchbase

Couchbase

Couchbase is a distributed document database with a powerful search engine and in-built operational and analytical capabilities.

5.6K

20 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Use cases

About

Couchbase MCP Server

Couchbase is a distributed document database with a powerful search engine and in-built operational and analytical capabilities.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/Couchbase-Ecosystem/mcp-server-couchbase/blob/0882993c03125577e6e1ca4b3c38f4d76e1666fe/Dockerfile
Commit0882993c03125577e6e1ca4b3c38f4d76e1666fe
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/couchbase --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceApache License 2.0

Available Tools (20)

Tools provided by this ServerShort Description
explain_sql_plus_plus_queryGenerate and evaluate an EXPLAIN plan for a SQL++ query.
get_buckets_in_clusterGet the names of all the accessible buckets in the cluster.
get_cluster_health_and_servicesGet cluster health status and list of all running services.
get_collections_in_scopeGet the names of all collections in the given scope and bucket.
get_document_by_idGet a document by its ID from the specified scope and collection.
get_index_advisor_recommendationsGet index recommendations from Couchbase Index Advisor for a given SQL++ query.
get_longest_running_queriesGet the N longest running queries from the system:completed_requests catalog.
get_most_frequent_queriesGet the N most frequent queries from the system:completed_requests catalog.
get_queries_not_selectiveGet queries that are not very selective from the system:completed_requests catalog.
get_queries_not_using_covering_indexGet queries that don't use a covering index from the system:completed_requests catalog.
get_queries_using_primary_indexGet queries that use a primary index from the system:completed_requests catalog.
get_queries_with_large_result_countGet queries with the largest result counts from the system:completed_requests catalog.
get_queries_with_largest_response_sizesGet queries with the largest response sizes from the system:completed_requests catalog.
get_schema_for_collectionGet the schema for a collection in the specified scope.
get_scopes_and_collections_in_bucketGet the names of all scopes and collections in the bucket.
get_scopes_in_bucketGet the names of all scopes in the given bucket.
get_server_configuration_statusGet the server status and configuration without establishing connection.
list_indexesList all indexes in the cluster with optional filtering by bucket, scope, collection, and index name.
run_sql_plus_plus_queryRun a SQL++ query on a scope and return the results as a list of JSON objects.
test_cluster_connectionTest the connection to Couchbase cluster and optionally to a bucket.

Tools Details

Tool: explain_sql_plus_plus_query

Generate and evaluate an EXPLAIN plan for a SQL++ query. It provides information about the execution plan for the query.

The EXPLAIN statement is run in the specified scope in the specified bucket.
It returns query metadata along with an extracted plan and plan evaluation.
ParametersTypeDescription
bucket_namestring
querystring
scope_namestring

This tool is read-only. It does not modify its environment.


Tool: get_buckets_in_cluster

Get the names of all the accessible buckets in the cluster.

Tool: get_cluster_health_and_services

Get cluster health status and list of all running services.

This tool provides health monitoring by:
- Getting health status of all running services with latency information (via ping)
- Listing all services running on the cluster with their endpoints
- Showing connection status and node information for each service

If bucket_name is provided, it actively pings services from the perspective of the bucket.
Otherwise, it uses cluster-level ping to get the health status of the cluster.

Returns:
- Cluster health status with service-level connection details and latency measurements
ParametersTypeDescription
bucket_namestringoptional

This tool is read-only. It does not modify its environment.


Tool: get_collections_in_scope

Get the names of all collections in the given scope and bucket.

ParametersTypeDescription
bucket_namestring
scope_namestring

This tool is read-only. It does not modify its environment.


Tool: get_document_by_id

Get a document by its ID from the specified scope and collection. If the document is not found, it will raise an exception.

ParametersTypeDescription
bucket_namestring
collection_namestring
document_idstring
scope_namestring

This tool is read-only. It does not modify its environment.


Tool: get_index_advisor_recommendations

Get index recommendations from Couchbase Index Advisor for a given SQL++ query.

The Index Advisor analyzes the query and provides recommendations for optimal indexes.
This tool works with SELECT, UPDATE, DELETE, or MERGE queries.
The queries will be run on the specified scope in the specified bucket.

Returns a dictionary with:
- current_used_indexes: Array of currently used indexes (if any)
- recommended_indexes: Array of recommended secondary indexes (if any)
- recommended_covering_indexes: Array of recommended covering indexes (if any)

Each index object contains:
- index: The CREATE INDEX SQL++ command
- statements: Array of statement objects with the query and run count
ParametersTypeDescription
bucket_namestring
querystring
scope_namestring

This tool is read-only. It does not modify its environment.


Tool: get_longest_running_queries

Get the N longest running queries from the system:completed_requests catalog.

ParametersTypeDescription
limitintegeroptionalNumber of queries to return (default: 10)

This tool is read-only. It does not modify its environment.


Tool: get_most_frequent_queries

Get the N most frequent queries from the system:completed_requests catalog.

ParametersTypeDescription
limitintegeroptionalNumber of queries to return (default: 10)

This tool is read-only. It does not modify its environment.


Tool: get_queries_not_selective

Get queries that are not very selective from the system:completed_requests catalog.

ParametersTypeDescription
limitintegeroptionalNumber of queries to return (default: 10)

This tool is read-only. It does not modify its environment.


Tool: get_queries_not_using_covering_index

Get queries that don't use a covering index from the system:completed_requests catalog.

ParametersTypeDescription
limitintegeroptionalNumber of queries to return (default: 10)

This tool is read-only. It does not modify its environment.


Tool: get_queries_using_primary_index

Get queries that use a primary index from the system:completed_requests catalog.

ParametersTypeDescription
limitintegeroptionalNumber of queries to return (default: 10)

This tool is read-only. It does not modify its environment.


Tool: get_queries_with_large_result_count

Get queries with the largest result counts from the system:completed_requests catalog.

ParametersTypeDescription
limitintegeroptionalNumber of queries to return (default: 10)

This tool is read-only. It does not modify its environment.


Tool: get_queries_with_largest_response_sizes

Get queries with the largest response sizes from the system:completed_requests catalog.

ParametersTypeDescription
limitintegeroptionalNumber of queries to return (default: 10)

This tool is read-only. It does not modify its environment.


Tool: get_schema_for_collection

Get the schema for a collection in the specified scope. Returns a dictionary with the collection name and the schema returned by running INFER query on the Couchbase collection.

ParametersTypeDescription
bucket_namestring
collection_namestring
scope_namestring

This tool is read-only. It does not modify its environment.


Tool: get_scopes_and_collections_in_bucket

Get the names of all scopes and collections in the bucket. Returns a dictionary with scope names as keys and lists of collection names as values.

ParametersTypeDescription
bucket_namestring

This tool is read-only. It does not modify its environment.


Tool: get_scopes_in_bucket

Get the names of all scopes in the given bucket.

ParametersTypeDescription
bucket_namestring

This tool is read-only. It does not modify its environment.


Tool: get_server_configuration_status

Get the server status and configuration without establishing connection. This tool can be used to verify if the server is running and check the configuration.

Tool: list_indexes

List all indexes in the cluster with optional filtering by bucket, scope, collection, and index name. Returns a list of indexes with their names and CREATE INDEX definitions. Uses the Index Service REST API (/getIndexStatus) to retrieve index information directly.

ParametersTypeDescription
bucket_namestringoptionalOptional bucket name to filter indexes
collection_namestringoptionalOptional collection name to filter indexes (requires bucket_name and scope_name)
include_raw_index_statsbooleanoptionalIf True, include raw index stats (as-is from API) in addition
index_namestringoptionalOptional index name to filter indexes (requires bucket_name, scope_name, and collection_name)
scope_namestringoptionalOptional scope name to filter indexes (requires bucket_name)

This tool is read-only. It does not modify its environment.


Tool: run_sql_plus_plus_query

Run a SQL++ query on a scope and return the results as a list of JSON objects.

The query will be run on the specified scope in the specified bucket.
The query should use collection names directly without bucket/scope prefixes, as the scope context is automatically set.

Example:
    query = "SELECT * FROM users WHERE age > 18"
    # Incorrect: "SELECT * FROM bucket.scope.users WHERE age > 18"
ParametersTypeDescription
bucket_namestring
querystring
scope_namestring

Tool: test_cluster_connection

Test the connection to Couchbase cluster and optionally to a bucket. This tool verifies the connection to the Couchbase cluster and bucket by establishing the connection if it is not already established. If bucket name is not provided, it will not try to connect to the bucket specified in the MCP server settings. Returns connection status and basic cluster information.

ParametersTypeDescription
bucket_namestringoptional

This tool is read-only. It does not modify its environment.


Use this MCP Server

{
  "mcpServers": {
    "couchbase": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "CB_CONNECTION_STRING",
        "-e",
        "CB_USERNAME",
        "-e",
        "CB_BUCKET_NAME",
        "-e",
        "CB_MCP_READ_ONLY_QUERY_MODE",
        "-e",
        "CB_PASSWORD",
        "mcp/couchbase"
      ],
      "env": {
        "CB_CONNECTION_STRING": "couchbases://cb.example.com",
        "CB_USERNAME": "Administrator",
        "CB_BUCKET_NAME": "my-bucket",
        "CB_MCP_READ_ONLY_QUERY_MODE": "true",
        "CB_PASSWORD": "<CB_PASSWORD>"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Related servers