github analyzed 7ebd527

couchbase/mcp-server-couchbase

github

MCP Server to interact with data in Couchbase Clusters

maintainer
couchbase
license
Apache-2.0
first seen
2026-06-08
last seen
2026-06-23
releases · 30d
4
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged hidden prompt content in couchbase/mcp-server-couchbase
  2. HIGH code analysis flagged hidden prompt content in couchbase/mcp-server-couchbase
capabilities 24 tools
transport stdio · streamable-http · http counts 24 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • delete_document_by_id

    Delete a document by ID from a specified scope and collection. Disabled by default when CB_MCP_READ_ONLY_MODE=true.

  • explain_sql_plus_plus_query

    Generate and evaluate an EXPLAIN plan for a SQL++ query. Returns query metadata, extracted plan, and plan evaluation findings.

  • get_buckets_in_cluster

    Get a list of all the buckets in the cluster

  • get_cluster_health_and_services

    Get cluster health status and list of all running services

  • get_collections_in_scope

    Get a list of all the collections in a specified scope and bucket. Note that this tool requires the cluster to have Query service.

  • get_document_by_id

    Get a document by ID from a specified scope and collection

  • get_index_advisor_recommendations

    Get index recommendations from Couchbase Index Advisor for a given SQL++ query to optimize query performance

  • get_longest_running_queries

    Get longest running queries by average service time

  • get_most_frequent_queries

    Get most frequently executed queries

  • get_queries_not_selective

    Get queries that are not selective (index scans return many more documents than final result)

  • get_queries_not_using_covering_index

    Get queries that don't use a covering index

  • get_queries_using_primary_index

    Get queries that use a primary index (potential performance concern)

  • get_queries_with_large_result_count

    Get queries with the largest result counts

  • get_queries_with_largest_response_sizes

    Get queries with the largest response sizes

  • get_schema_for_collection

    Get the structure for a collection

  • get_scopes_and_collections_in_bucket

    Get a list of all the scopes and collections in the specified bucket

  • get_scopes_in_bucket

    Get a list of all the scopes in the specified bucket

  • get_server_configuration_status

    Get the status of the MCP server

  • insert_document_by_id

    Insert a new document by ID (fails if document exists). Disabled by default when CB_MCP_READ_ONLY_MODE=true.

  • list_indexes

    List all indexes in the cluster with their definitions, with optional filtering by bucket, scope, collection and index name. Set return_raw_index_stats=true to return the unprocessed index information

  • replace_document_by_id

    Replace an existing document by ID (fails if document doesn't exist). Disabled by default when CB_MCP_READ_ONLY_MODE=true.

  • run_sql_plus_plus_query

    Run a [SQL++ query](https://www.couchbase.com/sqlplusplus/) on a specified scope.<br><br>Queries are automatically scoped to the specified bucket and scope, so use collection names directly (e.g., SEL

  • test_cluster_connection

    Check the cluster credentials by connecting to the cluster

  • upsert_document_by_id

    Upsert a document by ID to a specified scope and collection. Disabled by default when CB_MCP_READ_ONLY_MODE=true.

code evidence vv0.8.0.post1 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 1

  • fs couchbase-mcp-server-couchbase-7ebd527/src/cb_mcp/utils/config.py :3 from pathlib import Path

network 2

  • net couchbase-mcp-server-couchbase-7ebd527/scripts/setup_test_data.py :29 import urllib.error
  • net couchbase-mcp-server-couchbase-7ebd527/src/cb_mcp/utils/index_utils.py :12 from urllib.parse import urlparse

declared dependencies 10

  • click@>=8.2.1,<9.0.0
  • couchbase@>=4.4.0,<5.0.0
  • lark-sqlpp@>=0.1.0
  • fastmcp@>=3.2.0,<4.0.0
  • ruff@==0.12.5
  • pre-commit@==4.2.0
  • pytest@==9.0.3
  • pytest-asyncio@==1.3.0
  • pytest-cov@>=7.0.0
  • openai@>=2.0.0,<3.0.0

obfuscation 9

  • dynamic require()/import() couchbase-mcp-server-couchbase-7ebd527/src/cb_mcp/auth.py :28 from .utils.constants import (
  • dynamic require()/import() couchbase-mcp-server-couchbase-7ebd527/src/cb_mcp/tool_registration.py :12 from .utils.scope_enforcement import (
  • dynamic require()/import() couchbase-mcp-server-couchbase-7ebd527/src/cb_mcp/tools/__init__.py :19 from .kv import (
  • dynamic require()/import() couchbase-mcp-server-couchbase-7ebd527/src/cb_mcp/tools/index.py :13 from ..utils.constants import (
  • dynamic require()/import() couchbase-mcp-server-couchbase-7ebd527/src/cb_mcp/tools/query.py :18 from ..utils.query_utils import (
  • dynamic require()/import() couchbase-mcp-server-couchbase-7ebd527/src/cb_mcp/tools/server.py :16 from ..utils.context import (
  • dynamic require()/import() couchbase-mcp-server-couchbase-7ebd527/src/cb_mcp/utils/__init__.py :11 from .config import (
  • dynamic require()/import() couchbase-mcp-server-couchbase-7ebd527/src/cb_mcp/utils/logging.py :19 from .constants import (
  • dynamic require()/import() couchbase-mcp-server-couchbase-7ebd527/src/mcp_server.py :18 from cb_mcp.utils import (