Couchbase is a distributed document database with a powerful search engine and in-built operation...
10K+
Couchbase is a distributed document database with a powerful search engine and in-built operational and analytical capabilities.
| Attribute | Details |
|---|---|
| Docker Image | mcp/couchbase |
| Author | couchbase |
| Repository | https://github.com/Couchbase-Ecosystem/mcp-server-couchbase |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/Couchbase-Ecosystem/mcp-server-couchbase/blob/1454b7b57b85fcb7fb1a72b8f248af9fbb0b5cdc/Dockerfile |
| Commit | 1454b7b57b85fcb7fb1a72b8f248af9fbb0b5cdc |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/couchbase --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | Apache License 2.0 |
| Tools provided by this Server | Short Description |
|---|---|
explain_sql_plus_plus_query | Generate and evaluate an EXPLAIN plan for a SQL++ query. |
get_buckets_in_cluster | Get the names of all the accessible buckets in the cluster. |
get_cluster_health_and_services | Get cluster health status and list of all running services. |
get_collections_in_scope | Get the names of all collections in the given scope and bucket. |
get_document_by_id | Get a document by its ID from the specified scope and collection. |
get_index_advisor_recommendations | Get index recommendations from Couchbase Index Advisor for a given SQL++ query. |
get_longest_running_queries | Get the N longest running queries from the system:completed_requests catalog. |
get_most_frequent_queries | Get the N most frequent queries from the system:completed_requests catalog. |
get_queries_not_selective | Get queries that are not very selective from the system:completed_requests catalog. |
get_queries_not_using_covering_index | Get queries that don't use a covering index from the system:completed_requests catalog. |
get_queries_using_primary_index | Get queries that use a primary index from the system:completed_requests catalog. |
get_queries_with_large_result_count | Get queries with the largest result counts from the system:completed_requests catalog. |
get_queries_with_largest_response_sizes | Get queries with the largest response sizes from the system:completed_requests catalog. |
get_schema_for_collection | Get the schema for a collection in the specified scope. |
get_scopes_and_collections_in_bucket | Get the names of all scopes and collections in the bucket. |
get_scopes_in_bucket | Get the names of all scopes in the given bucket. |
get_server_configuration_status | Get the server status and configuration without establishing connection. |
list_indexes | List indexes in the cluster with optional filtering by bucket, scope, collection, and index name. |
run_sql_plus_plus_query | Run a SQL++ query on a scope and return the results as a list of JSON objects. |
test_cluster_connection | Test the connection to Couchbase cluster and optionally to a bucket. |
explain_sql_plus_plus_queryGenerate 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.
| Parameters | Type | Description |
|---|---|---|
bucket_name | string | |
query | string | |
scope_name | string |
This tool is read-only. It does not modify its environment.
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.
This tool provides health monitoring by:
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:
bucket_name|string optional|This tool is read-only. It does not modify its environment.
get_collections_in_scopeGet the names of all collections in the given scope and bucket.
| Parameters | Type | Description |
|---|---|---|
bucket_name | string | |
scope_name | string |
This tool is read-only. It does not modify its environment.
get_document_by_idGet a document by its ID from the specified scope and collection. If the document is not found, it will raise an exception.
| Parameters | Type | Description |
|---|---|---|
bucket_name | string | |
collection_name | string | |
document_id | string | |
scope_name | string |
This tool is read-only. It does not modify its environment.
get_index_advisor_recommendationsGet 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:
Each index object contains:
bucket_name|string|
query|string|
scope_name|string|This tool is read-only. It does not modify its environment.
get_longest_running_queriesGet the N longest running queries from the system:completed_requests catalog.
| Parameters | Type | Description |
|---|---|---|
limit | integer optional | Number of queries to return (default: 10) |
This tool is read-only. It does not modify its environment.
get_most_frequent_queriesGet the N most frequent queries from the system:completed_requests catalog.
| Parameters | Type | Description |
|---|---|---|
limit | integer optional | Number of queries to return (default: 10) |
This tool is read-only. It does not modify its environment.
get_queries_not_selectiveGet queries that are not very selective from the system:completed_requests catalog.
| Parameters | Type | Description |
|---|---|---|
limit | integer optional | Number of queries to return (default: 10) |
This tool is read-only. It does not modify its environment.
get_queries_not_using_covering_indexGet queries that don't use a covering index from the system:completed_requests catalog.
| Parameters | Type | Description |
|---|---|---|
limit | integer optional | Number of queries to return (default: 10) |
This tool is read-only. It does not modify its environment.
get_queries_using_primary_indexGet queries that use a primary index from the system:completed_requests catalog.
| Parameters | Type | Description |
|---|---|---|
limit | integer optional | Number of queries to return (default: 10) |
This tool is read-only. It does not modify its environment.
get_queries_with_large_result_countGet queries with the largest result counts from the system:completed_requests catalog.
| Parameters | Type | Description |
|---|---|---|
limit | integer optional | Number of queries to return (default: 10) |
This tool is read-only. It does not modify its environment.
get_queries_with_largest_response_sizesGet queries with the largest response sizes from the system:completed_requests catalog.
| Parameters | Type | Description |
|---|---|---|
limit | integer optional | Number of queries to return (default: 10) |
This tool is read-only. It does not modify its environment.
get_schema_for_collectionGet 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.
| Parameters | Type | Description |
|---|---|---|
bucket_name | string | |
collection_name | string | |
scope_name | string |
This tool is read-only. It does not modify its environment.
get_scopes_and_collections_in_bucketGet 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.
| Parameters | Type | Description |
|---|---|---|
bucket_name | string |
This tool is read-only. It does not modify its environment.
get_scopes_in_bucketGet the names of all scopes in the given bucket.
| Parameters | Type | Description |
|---|---|---|
bucket_name | string |
This tool is read-only. It does not modify its environment.
get_server_configuration_statusGet the server status and configuration without establishing connection. This tool can be used to verify if the server is running and check the configuration.
list_indexesList indexes in the cluster with optional filtering by bucket, scope, collection, and index name.
Filters must be provided hierarchically: scope requires bucket, collection requires both, index requires all three.
Set return_raw_index_stats=True to get the unprocessed source row for each index.
Each result contains: name, definition (CREATE INDEX statement), status, isPrimary, bucket, scope, collection, lastScanTime. If a required field is missing, the entry contains warning and raw_index_stats instead.
Source depends on cluster version: v8+ queries system:indexes via the
query service (RBAC-scoped — the connected user sees only indexes on
keyspaces they can access); older clusters fall back to the admin-level
Index Service REST API /getIndexStatus.
| Parameters | Type | Description |
|---|---|---|
bucket_name | string optional | |
collection_name | string optional | |
index_name | string optional | |
return_raw_index_stats | boolean optional | |
scope_name | string optional |
This tool is read-only. It does not modify its environment.
run_sql_plus_plus_queryRun 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.
Use named_parameters to bind values to $name placeholders in the
query instead of concatenating user input into the statement. This prevents
SQL++ injection
Example: query = "SELECT * FROM users WHERE age > 18" # Incorrect: "SELECT * FROM bucket.scope.users WHERE age > 18"
| Parameters | Type | Description |
|---|---|---|
bucket_name | string | |
query | string | |
scope_name | string | |
named_parameters | string optional |
test_cluster_connectionTest 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.
| Parameters | Type | Description |
|---|---|---|
bucket_name | string optional |
This tool is read-only. It does not modify its environment.
{
"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>"
}
}
}
}
Content type
Image
Digest
sha256:85a104706…
Size
105 MB
Last updated
18 days ago
docker pull mcp/couchbasePulls:
977
Jul 6 to Jul 12