Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.couchbase/mcp-server-couchbase

OCI · DOCKER.IO/COUCHBASE/MCP-SERVER:1.0.1 · 2 COMPONENTS · SCANNED AUG 22

Couchbase MCP Server - Enable AI agents to connect to and interact with Couchbase clusters.

+5 this week 40 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency45
Schema Quality & AI Usability69
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2264 tokens (~107/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
  • Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage76
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 17% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

oci · docker.io/couchbase/mcp-server:1.0.1

# add to Claude Code
claude mcp add couchbase-mcp-server-couchbase -- docker run --rm -i docker.io/couchbase/mcp-server:1.0.1
# add to Codex CLI
codex mcp add couchbase-mcp-server-couchbase -- docker run --rm -i docker.io/couchbase/mcp-server:1.0.1
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "couchbase-mcp-server-couchbase": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "docker.io/couchbase/mcp-server:1.0.1"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  couchbase-mcp-server-couchbase:
    command: "docker"
    args: ["run", "--rm", "-i", "docker.io/couchbase/mcp-server:1.0.1"]
// mcp.json
{
  "mcpServers": {
    "couchbase-mcp-server-couchbase": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/couchbase/mcp-server:1.0.1"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 22 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Aug 26 +4
    • Stability: unverified → 0.23 functional
  • 13 Aug 26 35

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 22 Aug 2026 · Analysed oci/docker.io/couchbase/mcp-server:1.0.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason Verification failed
Discovered via OCI referrers API
MCP tools · 21 exposed · ~2,264 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
explain_sql_plus_plus_query ~88

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.

NameTypeReqDescription
bucket_namestringyes
querystringyes
scope_namestringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_buckets_in_cluster ~23

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

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultarrayyes

No examples provided.

get_cluster_health_and_services ~122

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

NameTypeReqDescription
bucket_name

Structured output declared, but exposes no named fields.

No examples provided.

get_collections_in_scope ~40

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

NameTypeReqDescription
bucket_namestringyes
scope_namestringyes
NameTypeReqDescription
resultarrayyes

No examples provided.

get_document_by_id ~68

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

NameTypeReqDescription
bucket_namestringyes
collection_namestringyes
document_idstringyes
scope_namestringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_index_advisor_recommendations ~169

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

NameTypeReqDescription
bucket_namestringyes
querystringyes
scope_namestringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_longest_running_queries ~60

Get the N longest running queries from the system:completed_requests catalog. Prefer this over writing a raw system:completed_requests query via run_sql_plus_plus_query.

NameTypeReqDescription
limitintegerNumber of queries to return (default: 10)
NameTypeReqDescription
resultarrayyes

No examples provided.

get_most_frequent_queries ~61

Get the N most frequent queries from the system:completed_requests catalog. Prefer this over writing a raw system:completed_requests query via run_sql_plus_plus_query.

NameTypeReqDescription
limitintegerNumber of queries to return (default: 10)
NameTypeReqDescription
resultarrayyes

No examples provided.

get_queries_not_selective ~61

Get queries that are not very selective from the system:completed_requests catalog. Prefer this over writing a raw system:completed_requests query via run_sql_plus_plus_query.

NameTypeReqDescription
limitintegerNumber of queries to return (default: 10)
NameTypeReqDescription
resultarrayyes

No examples provided.

get_queries_not_using_covering_index ~64

Get queries that don't use a covering index from the system:completed_requests catalog. Prefer this over writing a raw system:completed_requests query via run_sql_plus_plus_query.

NameTypeReqDescription
limitintegerNumber of queries to return (default: 10)
NameTypeReqDescription
resultarrayyes

No examples provided.

get_queries_using_primary_index ~61

Get queries that use a primary index from the system:completed_requests catalog. Prefer this over writing a raw system:completed_requests query via run_sql_plus_plus_query.

NameTypeReqDescription
limitintegerNumber of queries to return (default: 10)
NameTypeReqDescription
resultarrayyes

No examples provided.

get_queries_with_large_result_count ~62

Get queries with the largest result counts from the system:completed_requests catalog. Prefer this over writing a raw system:completed_requests query via run_sql_plus_plus_query.

NameTypeReqDescription
limitintegerNumber of queries to return (default: 10)
NameTypeReqDescription
resultarrayyes

No examples provided.

get_queries_with_largest_response_sizes ~63

Get queries with the largest response sizes from the system:completed_requests catalog. Prefer this over writing a raw system:completed_requests query via run_sql_plus_plus_query.

NameTypeReqDescription
limitintegerNumber of queries to return (default: 10)
NameTypeReqDescription
resultarrayyes

No examples provided.

get_schema_for_collection ~67

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.

NameTypeReqDescription
bucket_namestringyes
collection_namestringyes
scope_namestringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_scopes_and_collections_in_bucket ~50

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.

NameTypeReqDescription
bucket_namestringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_scopes_in_bucket ~30

Get the names of all scopes in the given bucket.

NameTypeReqDescription
bucket_namestringyes
NameTypeReqDescription
resultarrayyes

No examples provided.

get_server_configuration_status ~37

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.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_indexes ~205

List 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``.

NameTypeReqDescription
bucket_name
collection_name
index_name
return_raw_index_statsboolean
scope_name
NameTypeReqDescription
resultarrayyes

No examples provided.

lookup_subdocument ~634

Look up parts of a document without fetching the whole thing, using Couchbase sub-document operations. Use this instead of get_document_by_id when you only need a few fields, a presence check, or the size of an array/object inside a document — AND you already know the exact field path(s) to look up (e.g. from a prior get_document_by_id call on this same document, from the user explicitly naming the field, or from a known/confirmed schema for this collection). IMPORTANT: Do NOT guess field paths. If you don't already know the document's exact field names/structure, call get_document_by_id first (or instead) — a guessed path that doesn't exist returns a per-path error here rather than the real data, and reporting "not found" for a wrong guess is worse than just fetching the whole document and reading the right field. Provide one or more of the following. Each is a list of sub-document paths using Couchbase's dot/bracket path syntax (e.g. "address.city", "tags[0]", "tags[-1]" for the last array element): - get_paths: fetch the VALUE at each path. - exists_paths: check whether each path exists, without fetching its value (cheaper than get_paths — no payload transfer — when you only need a yes/no answer). - count_paths: get the number of elements in the array or object at each path (fails per-path if the path isn't an array/object). At least one of get_paths, exists_paths, or count_paths must be provided. As a rule of thumb, keep the combined number of paths across all three to 16 or fewer — Couchbase limits subdocument operations per call, though the exact limit is server-side and may change. If the server rejects the call (too many paths, or another constraint like path length or nesting depth), the whole call fails with {"error": "..."}. A path that doesn't exist (or otherwise fails, e.g. count on a non-array/object) does NOT fail the whole call — it is reported individually as {"error": ...} in the returned dict so the other requested paths can still be reso…

NameTypeReqDescription
bucket_namestringyes
collection_namestringyes
count_paths
document_idstringyes
exists_paths
get_paths
scope_namestringyes

Structured output declared, but exposes no named fields.

No examples provided.

run_sql_plus_plus_query ~217

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. 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" For creating a new index, prefer the create_index tool over a raw CREATE INDEX statement here — it defers the build by default and tells you the recommended next step. Use list_indexes to check whether an index is online before relying on it in a query plan.

NameTypeReqDescription
bucket_namestringyes
named_parameters
querystringyes
scope_namestringyes
NameTypeReqDescription
resultarrayyes

No examples provided.

test_cluster_connection ~82

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.

NameTypeReqDescription
bucket_name

Structured output declared, but exposes no named fields.

No examples provided.