Atlas / MCP servers / couchbase-ecosystem / Couchbase

CouchbaseBLOCK

mcp/couchbase-ecosystem/couchbase-3

Model Context Protocol server for Couchbase - connect AI agents and LLMs like Claude, Cursor, and Copilot to Couchbase/Capella

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
—
Transport
stdio · streamable-http
License
Apache-2.0
Stars
35
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Couchbase MCP Server is a self-hosted Model Context Protocol (MCP) server that connects AI agents and LLM-powered assistants — Claude, Cursor, Windsurf, VS Code Copilot, and other MCP clients — to data in Couchbase clusters, whether hosted on Capella or self-managed. MCP is an open standard for letting AI assistants call tools and query external data sources; this server implements that standard for Couchbase, so an AI agent can inspect your cluster, run SQL++ queries, read and write documents, and analyze query performance using natural language instead of hand-written code.

It provides tools across categories including Cluster Health, Data Schema, Key-Value, Query, and Performance — with safety controls via read-only mode (on by default) and fine-grained tool disabling, so you can let an AI agent explore and query your data without risking unintended writes. It supports both STDIO and Streamable HTTP transports.

Couchbase MCP server is distributed as a Python Package Index (PyPI) package and via Docker. Enterprise support for Couchbase MCP Server is available by licensing Couchbase AI Data Plane, which also entitles use and enterprise support of Couchbase Agent Memory and Couchbase Agent Catalog.

For full documentation, visit mcp-server.couchbase.com.

[](https://docs.couchbase.com/mcp-server/get-started/overview.html) [](https://opensource.org/licenses/Apache-2.0) [](https://www.python.org/downloads/) [![PyPI version](https://badge.fury.io/p

Read from source at commit 1c0adf51af7eOBSERVED · 2026-10-08
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (pypi)
claude mcp add couchbase-mcp-server --env CB_PASSWORD=${CB_PASSWORD} --env CB_OI_PASSWORD=${CB_OI_PASSWORD} --env CB_OI_CLIENT_CERT_PASSWORD=${CB_OI_CLIENT_CERT_PASSWORD} --env CB_PASSWORD=${CB_PASSWORD} -- None couchbase-mcp-server==1.0.2rc5 operational
claude-code (pypi)
claude mcp add couchbase-mcp-server --env CB_PASSWORD=${CB_PASSWORD} --env CB_OI_PASSWORD=${CB_OI_PASSWORD} --env CB_OI_CLIENT_CERT_PASSWORD=${CB_OI_CLIENT_CERT_PASSWORD} --env CB_PASSWORD=${CB_PASSWORD} -- None couchbase-mcp-server==1.0.2rc5 operational-insights
claude-code (oci)
claude mcp add mcp-server:1.0.2rc5 --env CB_PASSWORD=${CB_PASSWORD} --env CB_OI_PASSWORD=${CB_OI_PASSWORD} --env CB_OI_CLIENT_CERT_PASSWORD=${CB_OI_CLIENT_CERT_PASSWORD} --env CB_PASSWORD=${CB_PASSWORD} -- docker run -i --rm docker.io/couchbase/mcp-server:1.0.2rc5:None operational
03

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (2 observation(s))
Network
declared (4 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (21)

HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
src/cb_mcp/utils/operational/embeddings/registry.py:188
"(env vars, ~/.aws/credentials, instance role).",
Why it matters. touches a credential store
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/oi_ci_cluster/configure_cluster.sh:47
endpoint = "http://127.0.0.1:${OI_ANALYTICS_PORT}"
MEDIUMSupply chain · supply.git_dep · CWE-829, CWE-1357
pyproject.toml:30
"couchbase-operational-insights @ git+https://github.com/couchbaselabs/operational-insights-python-client.git",
LOWInventory / provenance · inv.hidden_file · CWE-1104
.coveragerc
.coveragerc
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.pre-commit-config.yaml
.pre-commit-config.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
tests/unit/test_logger_names.py:96
module = importlib.import_module(module_path)
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/unit/operational/test_index_stats_unit.py:109
"x/../../../stats",
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/unit/operational/test_index_stats_unit.py:110
"x/../../../../getIndexStatus",
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/unit/operational/test_index_stats_unit.py:111
"../../etc/passwd",
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/unit/operational/test_index_stats_unit.py:123
"travel-sample", "inventory", "airport", "x/../../../stats"
LOWNetwork egress · net.beacon_words · CWE-200, CWE-319
.github/workflows/update-mcp-registry.yml:151
# would be a token-exfiltration path. We verify the keyless signature was
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
.github/workflows/oi-integration-tests.yml:64
CB_OI_CONNECTION_STRING: http://127.0.0.1:8095
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
.github/workflows/oi-integration-tests.yml:68
MCP_SERVER_URL: http://127.0.0.1:8001/mcp
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
.github/workflows/test.yml:281
code=$(curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:8000/mcp 2>/dev/null || echo "000")
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
.github/workflows/test.yml:298
MCP_SERVER_URL: http://127.0.0.1:8000/mcp
LOWObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
README.md:11
[![Docs](https://img.shields.io/badge/Docs-1B9E5A?logo=docusaurus&logoColor=white)](https://docs.couchbase.com/mcp-server/get-started/overview.html) [![License](https://img.shields.io/badge/License-Ap
LOWObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
README.md:577
[cursor-install-basic]: https://cursor.com/en-US/install-mcp?name=Couchbase&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJjb3VjaGJhc2UtbWNwLXNlcnZlciJdLCJlbnYiOnsiQ0JfQ09OTkVDVElPTl9TVFJJTkciOiJjb3VjaGJhc
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
README.md:349
| `bedrock` | `EMBEDDING_MODEL` | `EMBEDDING_AWS_ACCESS_KEY_ID`, `EMBEDDING_AWS_SECRET_ACCESS_KEY`, `EMBEDDING_AWS_REGION` | Titan embedding models only (e.g. `amazon.titan-embed-text-v2:0`). Omit the
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWInventory / provenance · mcp.no_tools_extracted · CWE-1104
server.json
Why it matters. the tool list is enumerated at runtime by tools/list, not declared in source
Fix. the page says so rather than showing an empty table
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
DOCKER.md:420
- Access is gated by two scopes read from the token's `scope`/`scp` claim: `couchbase-mcp:read` (read tools, including SQL++) and `couchbase-mcp:write` (write tools: KV mutations, index management, an
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
README.md:822
- Access is gated by two scopes read from the token's `scope`/`scp` claim: `couchbase-mcp:read` (read tools, including SQL++) and `couchbase-mcp:write` (write tools: KV mutations, scope/collection man

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha 1c0adf51af7efull audit observations/trust-audit/mcp-server/couchbase-ecosystem__couchbase-3.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-081c0adf51af7eBLOCKD69first audit
05

Questions

What is the Couchbase MCP server?

Model Context Protocol server for Couchbase - connect AI agents and LLMs like Claude, Cursor, and Copilot to Couchbase/Capella

Is Couchbase safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.

What credentials does Couchbase need?

It reads CB_ACCURACY_OPENAI_API_KEY, CB_CLIENT_KEY_PATH, CB_OI_CLIENT_CERT_PASSWORD, CB_OI_PASSWORD, CB_PASSWORD, EMBEDDING_API_KEY, EMBEDDING_AWS_ACCESS_KEY_ID, EMBEDDING_AWS_SECRET_ACCESS_KEY and OPENAI_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Couchbase run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on PyPI as couchbase-mcp-server.

How current is this page?

The grade is for one exact copy of the source (1c0adf51af7e), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement