Search / io.github.couchbase/mcp-server-couchbase
mcp-server-couchbase
L0· runs locallyCouchbase MCP Server - Enable AI agents to connect to and interact with Couchbase clusters.
v1.0.1 · active · repository · website · descriptor JSON · versions
Search / io.github.couchbase/mcp-server-couchbase
L0· runs locallyCouchbase MCP Server - Enable AI agents to connect to and interact with Couchbase clusters.
v1.0.1 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"mcp-server-couchbase": {
"command": "uvx",
"args": [
"couchbase-mcp-server==1.0.1",
"--connection-string",
"--username",
"--password",
"${PASSWORD}",
"--ca-cert-path",
"--client-cert-path",
"--client-key-path",
"--read-only-mode",
"--transport",
"--host",
"--port",
"--disabled-tools",
"--confirmation-required-tools",
"--log-level",
"--log-sinks",
"--log-file",
"--log-rotation-max-size-mb",
"--log-max-bytes",
"--log-error-rotation-max-size-mb",
"--log-warning-rotation-max-size-mb",
"--log-info-rotation-max-size-mb",
"--log-debug-rotation-max-size-mb",
"--log-retention-backup-count",
"--log-error-retention-backup-count",
"--log-warning-retention-backup-count",
"--log-info-retention-backup-count",
"--log-debug-retention-backup-count",
"--oauth-jwks-uri",
"--oauth-issuer",
"--oauth-audience",
"--oauth-algorithm",
"--oauth-mcp-base-url",
"--oauth-scope-read-label",
"--oauth-scope-write-label"
],
"env": {
"CB_PASSWORD": "${CB_PASSWORD}"
}
}
}
}claude mcp add mcp-server-couchbase -e "CB_PASSWORD=${CB_PASSWORD}" -- uvx couchbase-mcp-server==1.0.1 --connection-string --username --password "${PASSWORD}" --ca-cert-path --client-cert-path --client-key-path --read-only-mode --transport --host --port --disabled-tools --confirmation-required-tools --log-level --log-sinks --log-file --log-rotation-max-size-mb --log-max-bytes --log-error-rotation-max-size-mb --log-warning-rotation-max-size-mb --log-info-rotation-max-size-mb --log-debug-rotation-max-size-mb --log-retention-backup-count --log-error-retention-backup-count --log-warning-retention-backup-count --log-info-retention-backup-count --log-debug-retention-backup-count --oauth-jwks-uri --oauth-issuer --oauth-audience --oauth-algorithm --oauth-mcp-base-url --oauth-scope-read-label --oauth-scope-write-label[mcp_servers.mcp-server-couchbase]
command = "uvx"
args = ["couchbase-mcp-server==1.0.1", "--connection-string", "--username", "--password", "${PASSWORD}", "--ca-cert-path", "--client-cert-path", "--client-key-path", "--read-only-mode", "--transport", "--host", "--port", "--disabled-tools", "--confirmation-required-tools", "--log-level", "--log-sinks", "--log-file", "--log-rotation-max-size-mb", "--log-max-bytes", "--log-error-rotation-max-size-mb", "--log-warning-rotation-max-size-mb", "--log-info-rotation-max-size-mb", "--log-debug-rotation-max-size-mb", "--log-retention-backup-count", "--log-error-retention-backup-count", "--log-warning-retention-backup-count", "--log-info-retention-backup-count", "--log-debug-retention-backup-count", "--oauth-jwks-uri", "--oauth-issuer", "--oauth-audience", "--oauth-algorithm", "--oauth-mcp-base-url", "--oauth-scope-read-label", "--oauth-scope-write-label"]
env = { "CB_PASSWORD" = "${CB_PASSWORD}" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mcp-server-couchbase": {
"type": "local",
"command": [
"uvx",
"couchbase-mcp-server==1.0.1",
"--connection-string",
"--username",
"--password",
"{env:PASSWORD}",
"--ca-cert-path",
"--client-cert-path",
"--client-key-path",
"--read-only-mode",
"--transport",
"--host",
"--port",
"--disabled-tools",
"--confirmation-required-tools",
"--log-level",
"--log-sinks",
"--log-file",
"--log-rotation-max-size-mb",
"--log-max-bytes",
"--log-error-rotation-max-size-mb",
"--log-warning-rotation-max-size-mb",
"--log-info-rotation-max-size-mb",
"--log-debug-rotation-max-size-mb",
"--log-retention-backup-count",
"--log-error-retention-backup-count",
"--log-warning-retention-backup-count",
"--log-info-retention-backup-count",
"--log-debug-retention-backup-count",
"--oauth-jwks-uri",
"--oauth-issuer",
"--oauth-audience",
"--oauth-algorithm",
"--oauth-mcp-base-url",
"--oauth-scope-read-label",
"--oauth-scope-write-label"
],
"enabled": true,
"environment": {
"CB_PASSWORD": "{env:CB_PASSWORD}"
}
}
}
}{
"mcpServers": {
"mcp-server-couchbase": {
"command": "uvx",
"args": [
"couchbase-mcp-server==1.0.1",
"--connection-string",
"--username",
"--password",
"${PASSWORD}",
"--ca-cert-path",
"--client-cert-path",
"--client-key-path",
"--read-only-mode",
"--transport",
"--host",
"--port",
"--disabled-tools",
"--confirmation-required-tools",
"--log-level",
"--log-sinks",
"--log-file",
"--log-rotation-max-size-mb",
"--log-max-bytes",
"--log-error-rotation-max-size-mb",
"--log-warning-rotation-max-size-mb",
"--log-info-rotation-max-size-mb",
"--log-debug-rotation-max-size-mb",
"--log-retention-backup-count",
"--log-error-retention-backup-count",
"--log-warning-retention-backup-count",
"--log-info-retention-backup-count",
"--log-debug-retention-backup-count",
"--oauth-jwks-uri",
"--oauth-issuer",
"--oauth-audience",
"--oauth-algorithm",
"--oauth-mcp-base-url",
"--oauth-scope-read-label",
"--oauth-scope-write-label"
],
"env": {
"CB_PASSWORD": "${CB_PASSWORD}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=mcp-server-couchbase&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJjb3VjaGJhc2UtbWNwLXNlcnZlcj09MS4wLjEiLCItLWNvbm5lY3Rpb24tc3RyaW5nIiwiLS11c2VybmFtZSIsIi0tcGFzc3dvcmQiLCIke1BBU1NXT1JEfSIsIi0tY2EtY2VydC1wYXRoIiwiLS1jbGllbnQtY2VydC1wYXRoIiwiLS1jbGllbnQta2V5LXBhdGgiLCItLXJlYWQtb25seS1tb2RlIiwiLS10cmFuc3BvcnQiLCItLWhvc3QiLCItLXBvcnQiLCItLWRpc2FibGVkLXRvb2xzIiwiLS1jb25maXJtYXRpb24tcmVxdWlyZWQtdG9vbHMiLCItLWxvZy1sZXZlbCIsIi0tbG9nLXNpbmtzIiwiLS1sb2ctZmlsZSIsIi0tbG9nLXJvdGF0aW9uLW1heC1zaXplLW1iIiwiLS1sb2ctbWF4LWJ5dGVzIiwiLS1sb2ctZXJyb3Itcm90YXRpb24tbWF4LXNpemUtbWIiLCItLWxvZy13YXJuaW5nLXJvdGF0aW9uLW1heC1zaXplLW1iIiwiLS1sb2ctaW5mby1yb3RhdGlvbi1tYXgtc2l6ZS1tYiIsIi0tbG9nLWRlYnVnLXJvdGF0aW9uLW1heC1zaXplLW1iIiwiLS1sb2ctcmV0ZW50aW9uLWJhY2t1cC1jb3VudCIsIi0tbG9nLWVycm9yLXJldGVudGlvbi1iYWNrdXAtY291bnQiLCItLWxvZy13YXJuaW5nLXJldGVudGlvbi1iYWNrdXAtY291bnQiLCItLWxvZy1pbmZvLXJldGVudGlvbi1iYWNrdXAtY291bnQiLCItLWxvZy1kZWJ1Zy1yZXRlbnRpb24tYmFja3VwLWNvdW50IiwiLS1vYXV0aC1qd2tzLXVyaSIsIi0tb2F1dGgtaXNzdWVyIiwiLS1vYXV0aC1hdWRpZW5jZSIsIi0tb2F1dGgtYWxnb3JpdGhtIiwiLS1vYXV0aC1tY3AtYmFzZS11cmwiLCItLW9hdXRoLXNjb3BlLXJlYWQtbGFiZWwiLCItLW9hdXRoLXNjb3BlLXdyaXRlLWxhYmVsIl0sImVudiI6eyJDQl9QQVNTV09SRCI6IiR7Q0JfUEFTU1dPUkR9In19"
}{
"servers": {
"mcp-server-couchbase": {
"type": "stdio",
"command": "uvx",
"args": [
"couchbase-mcp-server==1.0.1",
"--connection-string",
"--username",
"--password",
"${PASSWORD}",
"--ca-cert-path",
"--client-cert-path",
"--client-key-path",
"--read-only-mode",
"--transport",
"--host",
"--port",
"--disabled-tools",
"--confirmation-required-tools",
"--log-level",
"--log-sinks",
"--log-file",
"--log-rotation-max-size-mb",
"--log-max-bytes",
"--log-error-rotation-max-size-mb",
"--log-warning-rotation-max-size-mb",
"--log-info-rotation-max-size-mb",
"--log-debug-rotation-max-size-mb",
"--log-retention-backup-count",
"--log-error-retention-backup-count",
"--log-warning-retention-backup-count",
"--log-info-retention-backup-count",
"--log-debug-retention-backup-count",
"--oauth-jwks-uri",
"--oauth-issuer",
"--oauth-audience",
"--oauth-algorithm",
"--oauth-mcp-base-url",
"--oauth-scope-read-label",
"--oauth-scope-write-label"
],
"env": {
"CB_PASSWORD": "${CB_PASSWORD}"
}
}
}
}{
"mcpServers": {
"mcp-server-couchbase": {
"command": "uvx",
"args": [
"couchbase-mcp-server==1.0.1",
"--connection-string",
"--username",
"--password",
"${PASSWORD}",
"--ca-cert-path",
"--client-cert-path",
"--client-key-path",
"--read-only-mode",
"--transport",
"--host",
"--port",
"--disabled-tools",
"--confirmation-required-tools",
"--log-level",
"--log-sinks",
"--log-file",
"--log-rotation-max-size-mb",
"--log-max-bytes",
"--log-error-rotation-max-size-mb",
"--log-warning-rotation-max-size-mb",
"--log-info-rotation-max-size-mb",
"--log-debug-rotation-max-size-mb",
"--log-retention-backup-count",
"--log-error-retention-backup-count",
"--log-warning-retention-backup-count",
"--log-info-retention-backup-count",
"--log-debug-retention-backup-count",
"--oauth-jwks-uri",
"--oauth-issuer",
"--oauth-audience",
"--oauth-algorithm",
"--oauth-mcp-base-url",
"--oauth-scope-read-label",
"--oauth-scope-write-label"
],
"env": {
"CB_PASSWORD": "${CB_PASSWORD}"
}
}
}
}extensions:
"mcp-server-couchbase":
enabled: true
name: "mcp-server-couchbase"
type: stdio
cmd: "uvx"
args:
- "couchbase-mcp-server==1.0.1"
- "--connection-string"
- "--username"
- "--password"
- "${PASSWORD}"
- "--ca-cert-path"
- "--client-cert-path"
- "--client-key-path"
- "--read-only-mode"
- "--transport"
- "--host"
- "--port"
- "--disabled-tools"
- "--confirmation-required-tools"
- "--log-level"
- "--log-sinks"
- "--log-file"
- "--log-rotation-max-size-mb"
- "--log-max-bytes"
- "--log-error-rotation-max-size-mb"
- "--log-warning-rotation-max-size-mb"
- "--log-info-rotation-max-size-mb"
- "--log-debug-rotation-max-size-mb"
- "--log-retention-backup-count"
- "--log-error-retention-backup-count"
- "--log-warning-retention-backup-count"
- "--log-info-retention-backup-count"
- "--log-debug-retention-backup-count"
- "--oauth-jwks-uri"
- "--oauth-issuer"
- "--oauth-audience"
- "--oauth-algorithm"
- "--oauth-mcp-base-url"
- "--oauth-scope-read-label"
- "--oauth-scope-write-label"
envs:
"CB_PASSWORD": "${CB_PASSWORD}"
timeout: 300
Placeholders to fill from your own secret store: ${CB_PASSWORD}, ${PASSWORD}. The registry never accepts secret values.
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns1 advisory of lower severity or without a published fix: PYSEC-2023-235 in [email protected] (direct, no fix yet)deps.mcp_sdk_versionmcp 1.30.0, no known advisorydeps.resolvable[email protected] resolved: 73 packagesNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website ~liveness-unmeasured ~updated-68d-ago -unpinned-packages(1)
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
[email protected] PyPI72 dependencies, resolved · MCP SDK mcp 1.30.0 · advisories checked 2026-10-19
| advisory | severity | package | fixed in |
|---|---|---|---|
| PYSEC-2023-235An issue was discovered in Couchbase Server 7.2.0. There is a private key leak in debug.log while adding a pre-7.0 node to a 7.2 cluster. | unrated | [email protected]direct | no fix yet |
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
couchbase-mcp-server | pypi | 1.0.1 | – | CB_PASSWORD, --password |
docker.io/couchbase/mcp-server:1.0.1 | oci | unpinned | – | CB_PASSWORD |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.couchbase/mcp-server-couchbase",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "1.0.1",
"packages": [
{
"version": "1.0.1",
"transport": {
"type": "stdio"
},
"identifier": "couchbase-mcp-server",
"registryType": "pypi",
"packageArguments": [
{
"name": "--connection-string",
"type": "named",
"format": "string",
"description": "Couchbase connection string. Required for connecting to the cluster."
},
{
"name": "--username",
"type": "named",
"format": "string",
"description": "Couchbase database username. Required for basic authentication."
},
{
"name": "--password",
"type": "named",
"format": "string",
"isSecret": true,
"description": "Couchbase database password. Required for basic authentication."
},
{
"name": "--ca-cert-path",
"type": "named",
"format": "string",
"description": "Couchbase CA certificate path. Required for TLS authentication in non Capella clusters."
},
{
"name": "--client-cert-path",
"type": "named",
"format": "string",
"description": "Couchbase client certificate path. Required for mTLS authentication."
},
{
"name": "--client-key-path",
"type": "named",
"format": "string",
"description": "Couchbase client key path. Required for mTLS authentication."
},
{
"name": "--read-only-mode",
"type": "named",
"format": "boolean",
"description": "Couchbase read only mode. Set to true to disable write operations across both KV and query. KV write tools are not loaded and SQL++ queries that modify data are blocked. Set to false to allow data modification queries and tools."
},
{
"name": "--transport",
"type": "named",
"format": "string",
"description": "Transport mode for the server (stdio, http or sse). Default is stdio"
},
{
"name": "--host",
"type": "named",
"format": "string",
"description": "Host to run the MCP server on (default: 127.0.0.1). Used only for HTTP and SSE transport modes."
},
{
"name": "--port",
"type": "named",
"format": "number",
"description": "Port to run the MCP server on (default: 8000). Used only for HTTP and SSE transport modes."
},
{
"name": "--disabled-tools",
"type": "named",
"format": "string",
"description": "Tools to disable. Accepts comma-separated tool names (e.g., 'tool_1,tool_2') or a file path containing one tool name per line."
},
{
"name": "--confirmation-required-tools",
"type": "named",
"format": "string",
"description": "Comma-separated tool names that require user confirmation before execution. Also accepts a file path containing one tool name per line. Requires the MCP client to support elicitation."
},
{
"name": "--log-level",
"type": "named",
"format": "string",
"description": "Logging level for the MCP server. One of off, debug, info, warning, error. Use 'off' to disable logging entirely. Invalid values fall back to info. Default is info."
},
{
"name": "--log-sinks",
"type": "named",
"format": "string",
"description": "Comma-separated list of log destinations. Allowed values: stderr, file. Include 'file' to write per-level log files; include 'stderr' to write to the console. Default is stderr."
},
{
"name": "--log-file",
"type": "named",
"format": "string",
"description": "Base path for the per-level log files. One rotating file is written per level (e.g. mcp_server.info.log, mcp_server.error.log). Only used when 'file' is in --log-sinks. Default is mcp_server.log."
},
{
"name": "--log-rotation-max-size-mb",
"type": "named",
"format": "number",
"description": "Global maximum size in MB per-level log file before it rotates, inherited by every level unless overridden by a per-level --log-<level>-rotation-max-size-mb. A value of 0 is invalid and falls back to the default (1 MB) with a startup warning. Default is 1 (1 MB)."
},
{
"name": "--log-max-bytes",
"type": "named",
"format": "number",
"description": "[DEPRECATED] Global rotation size in bytes; use --log-rotation-max-size-mb (MB) instead. Still honored for backward compatibility but ignored when --log-rotation-max-size-mb is also set. A value of 0 is invalid and falls back to the default with a startup warning."
},
{
"name": "--log-error-rotation-max-size-mb",
"type": "named",
"format": "number",
"description": "Rotation size in MB for the ERROR log file. Overrides --log-rotation-max-size-mb for ERROR; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "--log-warning-rotation-max-size-mb",
"type": "named",
"format": "number",
"description": "Rotation size in MB for the WARNING log file. Overrides --log-rotation-max-size-mb for WARNING; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "--log-info-rotation-max-size-mb",
"type": "named",
"format": "number",
"description": "Rotation size in MB for the INFO log file. Overrides --log-rotation-max-size-mb for INFO; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "--log-debug-rotation-max-size-mb",
"type": "named",
"format": "number",
"description": "Rotation size in MB for the DEBUG log file. Overrides --log-rotation-max-size-mb for DEBUG; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "--log-retention-backup-count",
"type": "named",
"format": "number",
"description": "Number of rotated backup files kept per-level log file, excluding the live file. Applies to every level unless overridden per level. Set to 0 to keep only the live file (still capped by the rotation size). Default is 1."
},
{
"name": "--log-error-retention-backup-count",
"type": "named",
"format": "number",
"description": "Rotated backups kept for the ERROR log file. Overrides --log-retention-backup-count for ERROR; inherits it when unset."
},
{
"name": "--log-warning-retention-backup-count",
"type": "named",
"format": "number",
"description": "Rotated backups kept for the WARNING log file. Overrides --log-retention-backup-count for WARNING; inherits it when unset."
},
{
"name": "--log-info-retention-backup-count",
"type": "named",
"format": "number",
"description": "Rotated backups kept for the INFO log file. Overrides --log-retention-backup-count for INFO; inherits it when unset."
},
{
"name": "--log-debug-retention-backup-count",
"type": "named",
"format": "number",
"description": "Rotated backups kept for the DEBUG log file. Overrides --log-retention-backup-count for DEBUG; inherits it when unset."
},
{
"name": "--oauth-jwks-uri",
"type": "named",
"format": "string",
"description": "JWKS endpoint of the identity provider used to verify bearer JWT signatures. Required to enable OAuth, along with --oauth-issuer and --oauth-audience. Only honored when --transport=http."
},
{
"name": "--oauth-issuer",
"type": "named",
"format": "string",
"description": "Expected JWT 'iss' claim value. Also advertised as the authorization server in Protected Resource Metadata when --oauth-mcp-base-url is set. Required to enable OAuth."
},
{
"name": "--oauth-audience",
"type": "named",
"format": "string",
"description": "Expected JWT 'aud' claim value. Required to enable OAuth."
},
{
"name": "--oauth-algorithm",
"type": "named",
"format": "string",
"description": "JWT signing algorithm. One of RS256/384/512, ES256/384/512, PS256/384/512. Default is RS256."
},
{
"name": "--oauth-mcp-base-url",
"type": "named",
"format": "string",
"description": "Public base URL of this MCP server. When set, the server publishes RFC 9728 Protected Resource Metadata at <base_url>/.well-known/oauth-protected-resource/mcp so PRM-aware clients can discover the authorization server. Optional."
},
{
"name": "--oauth-scope-read-label",
"type": "named",
"format": "string",
"description": "Override the OAuth scope label the server treats as 'read' access; advertised in PRM and matched against the token's scope/scp claim. Use when your IdP cannot emit the canonical form. Default is couchbase-mcp:read."
},
{
"name": "--oauth-scope-write-label",
"type": "named",
"format": "string",
"description": "Override the OAuth scope label the server treats as 'write' access; same semantics as --oauth-scope-read-label. Default is couchbase-mcp:write."
}
],
"environmentVariables": [
{
"name": "CB_CONNECTION_STRING",
"format": "string",
"description": "Couchbase connection string. Required for connecting to the cluster."
},
{
"name": "CB_USERNAME",
"format": "string",
"description": "Couchbase database username. Required for basic authentication."
},
{
"name": "CB_PASSWORD",
"format": "string",
"isSecret": true,
"description": "Couchbase database password. Required for basic authentication."
},
{
"name": "CB_CA_CERT_PATH",
"format": "string",
"description": "Couchbase CA certificate path. Required for TLS authentication in non Capella clusters."
},
{
"name": "CB_CLIENT_CERT_PATH",
"format": "string",
"description": "Couchbase client certificate path. Required for mTLS authentication."
},
{
"name": "CB_CLIENT_KEY_PATH",
"format": "string",
"description": "Couchbase client key path. Required for mTLS authentication."
},
{
"name": "CB_MCP_READ_ONLY_MODE",
"format": "boolean",
"description": "Couchbase read only mode. Set to true to allow disable write operations across both KV and query. KV write tools are not loaded and SQL++ queries that modify data are blocked. Set to false to allow data modification queries and tools."
},
{
"name": "CB_MCP_TRANSPORT",
"format": "string",
"description": "Transport mode for the server (stdio, http or sse). Default is stdio"
},
{
"name": "CB_MCP_HOST",
"format": "string",
"description": "Host to run the MCP server on (default: 127.0.0.1). Used only for HTTP and SSE transport modes."
},
{
"name": "CB_MCP_PORT",
"format": "number",
"description": "Port to run the MCP server on (default: 8000). Used only for HTTP and SSE transport modes."
},
{
"name": "CB_MCP_DISABLED_TOOLS",
"format": "string",
"description": "Tools to disable. Accepts comma-separated tool names (e.g., 'tool_1,tool_2') or a file path containing one tool name per line."
},
{
"name": "CB_MCP_CONFIRMATION_REQUIRED_TOOLS",
"format": "string",
"description": "Comma-separated tool names that require user confirmation before execution. Also accepts a file path containing one tool name per line. Requires the MCP client to support elicitation."
},
{
"name": "CB_MCP_LOG_LEVEL",
"format": "string",
"description": "Logging level for the MCP server. One of off, debug, info, warning, error. Use 'off' to disable logging entirely. Invalid values fall back to info. Default is info."
},
{
"name": "CB_MCP_LOG_SINKS",
"format": "string",
"description": "Comma-separated list of log destinations. Allowed values: stderr, file. Include 'file' to write per-level log files; include 'stderr' to write to the console. Default is stderr."
},
{
"name": "CB_MCP_LOG_FILE",
"format": "string",
"description": "Base path for the per-level log files. One rotating file is written per level (e.g. mcp_server.info.log, mcp_server.error.log). Only used when 'file' is in CB_MCP_LOG_SINKS. Default is mcp_server.log."
},
{
"name": "CB_MCP_LOG_ROTATION_MAX_SIZE_MB",
"format": "number",
"description": "Global maximum size in MB per-level log file before it rotates, inherited by every level unless overridden by a per-level CB_MCP_LOG_<LEVEL>_ROTATION_MAX_SIZE_MB. A value of 0 is invalid and falls back to the default (1 MB) with a startup warning. Default is 1 (1 MB)."
},
{
"name": "CB_MCP_LOG_MAX_BYTES",
"format": "number",
"description": "[DEPRECATED] Global rotation size in bytes; use CB_MCP_LOG_ROTATION_MAX_SIZE_MB (MB) instead. Still honored for backward compatibility but ignored when CB_MCP_LOG_ROTATION_MAX_SIZE_MB is also set. A value of 0 is invalid and falls back to the default with a startup warning."
},
{
"name": "CB_MCP_LOG_ERROR_ROTATION_MAX_SIZE_MB",
"format": "number",
"description": "Rotation size in MB for the ERROR log file. Overrides CB_MCP_LOG_ROTATION_MAX_SIZE_MB for ERROR; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "CB_MCP_LOG_WARNING_ROTATION_MAX_SIZE_MB",
"format": "number",
"description": "Rotation size in MB for the WARNING log file. Overrides CB_MCP_LOG_ROTATION_MAX_SIZE_MB for WARNING; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "CB_MCP_LOG_INFO_ROTATION_MAX_SIZE_MB",
"format": "number",
"description": "Rotation size in MB for the INFO log file. Overrides CB_MCP_LOG_ROTATION_MAX_SIZE_MB for INFO; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "CB_MCP_LOG_DEBUG_ROTATION_MAX_SIZE_MB",
"format": "number",
"description": "Rotation size in MB for the DEBUG log file. Overrides CB_MCP_LOG_ROTATION_MAX_SIZE_MB for DEBUG; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "CB_MCP_LOG_RETENTION_BACKUP_COUNT",
"format": "number",
"description": "Number of rotated backup files kept per-level log file, excluding the live file. Applies to every level unless overridden per level. Set to 0 to keep only the live file (still capped by the rotation size). Default is 1."
},
{
"name": "CB_MCP_LOG_ERROR_RETENTION_BACKUP_COUNT",
"format": "number",
"description": "Rotated backups kept for the ERROR log file. Overrides CB_MCP_LOG_RETENTION_BACKUP_COUNT for ERROR; inherits it when unset."
},
{
"name": "CB_MCP_LOG_WARNING_RETENTION_BACKUP_COUNT",
"format": "number",
"description": "Rotated backups kept for the WARNING log file. Overrides CB_MCP_LOG_RETENTION_BACKUP_COUNT for WARNING; inherits it when unset."
},
{
"name": "CB_MCP_LOG_INFO_RETENTION_BACKUP_COUNT",
"format": "number",
"description": "Rotated backups kept for the INFO log file. Overrides CB_MCP_LOG_RETENTION_BACKUP_COUNT for INFO; inherits it when unset."
},
{
"name": "CB_MCP_LOG_DEBUG_RETENTION_BACKUP_COUNT",
"format": "number",
"description": "Rotated backups kept for the DEBUG log file. Overrides CB_MCP_LOG_RETENTION_BACKUP_COUNT for DEBUG; inherits it when unset."
},
{
"name": "CB_MCP_OAUTH_JWT_JWKS_URI",
"format": "string",
"description": "JWKS endpoint of the identity provider used to verify bearer JWT signatures. Required to enable OAuth, along with CB_MCP_OAUTH_JWT_ISSUER and CB_MCP_OAUTH_JWT_AUDIENCE. Only honored when CB_MCP_TRANSPORT=http."
},
{
"name": "CB_MCP_OAUTH_JWT_ISSUER",
"format": "string",
"description": "Expected JWT 'iss' claim value. Also advertised as the authorization server in Protected Resource Metadata when CB_MCP_OAUTH_MCP_BASE_URL is set. Required to enable OAuth."
},
{
"name": "CB_MCP_OAUTH_JWT_AUDIENCE",
"format": "string",
"description": "Expected JWT 'aud' claim value. Required to enable OAuth."
},
{
"name": "CB_MCP_OAUTH_JWT_ALGORITHM",
"format": "string",
"description": "JWT signing algorithm. One of RS256/384/512, ES256/384/512, PS256/384/512. Default is RS256."
},
{
"name": "CB_MCP_OAUTH_MCP_BASE_URL",
"format": "string",
"description": "Public base URL of this MCP server. When set, the server publishes RFC 9728 Protected Resource Metadata at <base_url>/.well-known/oauth-protected-resource/mcp so PRM-aware clients can discover the authorization server. Optional."
},
{
"name": "CB_MCP_OAUTH_SCOPE_READ_LABEL",
"format": "string",
"description": "Override the OAuth scope label the server treats as 'read' access; advertised in PRM and matched against the token's scope/scp claim. Use when your IdP cannot emit the canonical form. Default is couchbase-mcp:read."
},
{
"name": "CB_MCP_OAUTH_SCOPE_WRITE_LABEL",
"format": "string",
"description": "Override the OAuth scope label the server treats as 'write' access; same semantics as CB_MCP_OAUTH_SCOPE_READ_LABEL. Default is couchbase-mcp:write."
}
]
},
{
"transport": {
"type": "stdio"
},
"identifier": "docker.io/couchbase/mcp-server:1.0.1",
"registryType": "oci",
"environmentVariables": [
{
"name": "CB_CONNECTION_STRING",
"format": "string",
"description": "Couchbase connection string. Required for connecting to the cluster."
},
{
"name": "CB_USERNAME",
"format": "string",
"description": "Couchbase database username. Required for basic authentication."
},
{
"name": "CB_PASSWORD",
"format": "string",
"isSecret": true,
"description": "Couchbase database password. Required for basic authentication."
},
{
"name": "CB_CA_CERT_PATH",
"format": "string",
"description": "Couchbase CA certificate path. Required for TLS authentication in non Capella clusters."
},
{
"name": "CB_CLIENT_CERT_PATH",
"format": "string",
"description": "Couchbase client certificate path. Required for mTLS authentication."
},
{
"name": "CB_CLIENT_KEY_PATH",
"format": "string",
"description": "Couchbase client key path. Required for mTLS authentication."
},
{
"name": "CB_MCP_READ_ONLY_MODE",
"format": "boolean",
"description": "Couchbase read only mode. Set to true to disable write operations across both KV and query. KV write tools are not loaded and SQL++ queries that modify data are blocked. Set to false to allow data modification queries and tools."
},
{
"name": "CB_MCP_TRANSPORT",
"format": "string",
"description": "Transport mode for the server (stdio, http or sse). Default is stdio"
},
{
"name": "CB_MCP_HOST",
"format": "string",
"description": "Host to run the MCP server on (default: 127.0.0.1). Used only for HTTP and SSE transport modes."
},
{
"name": "CB_MCP_PORT",
"format": "number",
"description": "Port to run the MCP server on (default: 8000). Used only for HTTP and SSE transport modes."
},
{
"name": "CB_MCP_DISABLED_TOOLS",
"format": "string",
"description": "Tools to disable. Accepts comma-separated tool names (e.g., 'tool_1,tool_2') or a file path containing one tool name per line."
},
{
"name": "CB_MCP_CONFIRMATION_REQUIRED_TOOLS",
"format": "string",
"description": "Comma-separated tool names that require user confirmation before execution. Also accepts a file path containing one tool name per line. Requires the MCP client to support elicitation."
},
{
"name": "CB_MCP_LOG_LEVEL",
"format": "string",
"description": "Logging level for the MCP server. One of off, debug, info, warning, error. Use 'off' to disable logging entirely. Invalid values fall back to info. Default is info."
},
{
"name": "CB_MCP_LOG_SINKS",
"format": "string",
"description": "Comma-separated list of log destinations. Allowed values: stderr, file. Include 'file' to write per-level log files; include 'stderr' to write to the console. Default is stderr."
},
{
"name": "CB_MCP_LOG_FILE",
"format": "string",
"description": "Base path for the per-level log files. One rotating file is written per level (e.g. mcp_server.info.log, mcp_server.error.log). Only used when 'file' is in CB_MCP_LOG_SINKS. Default is mcp_server.log."
},
{
"name": "CB_MCP_LOG_ROTATION_MAX_SIZE_MB",
"format": "number",
"description": "Global maximum size in MB per-level log file before it rotates, inherited by every level unless overridden by a per-level CB_MCP_LOG_<LEVEL>_ROTATION_MAX_SIZE_MB. A value of 0 is invalid and falls back to the default (1 MB) with a startup warning. Default is 1 (1 MB)."
},
{
"name": "CB_MCP_LOG_MAX_BYTES",
"format": "number",
"description": "[DEPRECATED] Global rotation size in bytes; use CB_MCP_LOG_ROTATION_MAX_SIZE_MB (MB) instead. Still honored for backward compatibility but ignored when CB_MCP_LOG_ROTATION_MAX_SIZE_MB is also set. A value of 0 is invalid and falls back to the default with a startup warning."
},
{
"name": "CB_MCP_LOG_ERROR_ROTATION_MAX_SIZE_MB",
"format": "number",
"description": "Rotation size in MB for the ERROR log file. Overrides CB_MCP_LOG_ROTATION_MAX_SIZE_MB for ERROR; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "CB_MCP_LOG_WARNING_ROTATION_MAX_SIZE_MB",
"format": "number",
"description": "Rotation size in MB for the WARNING log file. Overrides CB_MCP_LOG_ROTATION_MAX_SIZE_MB for WARNING; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "CB_MCP_LOG_INFO_ROTATION_MAX_SIZE_MB",
"format": "number",
"description": "Rotation size in MB for the INFO log file. Overrides CB_MCP_LOG_ROTATION_MAX_SIZE_MB for INFO; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "CB_MCP_LOG_DEBUG_ROTATION_MAX_SIZE_MB",
"format": "number",
"description": "Rotation size in MB for the DEBUG log file. Overrides CB_MCP_LOG_ROTATION_MAX_SIZE_MB for DEBUG; inherits it when unset. 0 is invalid and falls back to the inherited global with a startup warning."
},
{
"name": "CB_MCP_LOG_RETENTION_BACKUP_COUNT",
"format": "number",
"description": "Number of rotated backup files kept per-level log file, excluding the live file. Applies to every level unless overridden per level. Set to 0 to keep only the live file (still capped by the rotation size). Default is 1."
},
{
"name": "CB_MCP_LOG_ERROR_RETENTION_BACKUP_COUNT",
"format": "number",
"description": "Rotated backups kept for the ERROR log file. Overrides CB_MCP_LOG_RETENTION_BACKUP_COUNT for ERROR; inherits it when unset."
},
{
"name": "CB_MCP_LOG_WARNING_RETENTION_BACKUP_COUNT",
"format": "number",
"description": "Rotated backups kept for the WARNING log file. Overrides CB_MCP_LOG_RETENTION_BACKUP_COUNT for WARNING; inherits it when unset."
},
{
"name": "CB_MCP_LOG_INFO_RETENTION_BACKUP_COUNT",
"format": "number",
"description": "Rotated backups kept for the INFO log file. Overrides CB_MCP_LOG_RETENTION_BACKUP_COUNT for INFO; inherits it when unset."
},
{
"name": "CB_MCP_LOG_DEBUG_RETENTION_BACKUP_COUNT",
"format": "number",
"description": "Rotated backups kept for the DEBUG log file. Overrides CB_MCP_LOG_RETENTION_BACKUP_COUNT for DEBUG; inherits it when unset."
},
{
"name": "CB_MCP_OAUTH_JWT_JWKS_URI",
"format": "string",
"description": "JWKS endpoint of the identity provider used to verify bearer JWT signatures. Required to enable OAuth, along with CB_MCP_OAUTH_JWT_ISSUER and CB_MCP_OAUTH_JWT_AUDIENCE. Only honored when CB_MCP_TRANSPORT=http."
},
{
"name": "CB_MCP_OAUTH_JWT_ISSUER",
"format": "string",
"description": "Expected JWT 'iss' claim value. Also advertised as the authorization server in Protected Resource Metadata when CB_MCP_OAUTH_MCP_BASE_URL is set. Required to enable OAuth."
},
{
"name": "CB_MCP_OAUTH_JWT_AUDIENCE",
"format": "string",
"description": "Expected JWT 'aud' claim value. Required to enable OAuth."
},
{
"name": "CB_MCP_OAUTH_JWT_ALGORITHM",
"format": "string",
"description": "JWT signing algorithm. One of RS256/384/512, ES256/384/512, PS256/384/512. Default is RS256."
},
{
"name": "CB_MCP_OAUTH_MCP_BASE_URL",
"format": "string",
"description": "Public base URL of this MCP server. When set, the server publishes RFC 9728 Protected Resource Metadata at <base_url>/.well-known/oauth-protected-resource/mcp so PRM-aware clients can discover the authorization server. Optional."
},
{
"name": "CB_MCP_OAUTH_SCOPE_READ_LABEL",
"format": "string",
"description": "Override the OAuth scope label the server treats as 'read' access; advertised in PRM and matched against the token's scope/scp claim. Use when your IdP cannot emit the canonical form. Default is couchbase-mcp:read."
},
{
"name": "CB_MCP_OAUTH_SCOPE_WRITE_LABEL",
"format": "string",
"description": "Override the OAuth scope label the server treats as 'write' access; same semantics as CB_MCP_OAUTH_SCOPE_READ_LABEL. Default is couchbase-mcp:write."
}
]
}
],
"repository": {
"url": "https://github.com/couchbase/mcp-server-couchbase",
"source": "github"
},
"websiteUrl": "https://mcp-server.couchbase.com/",
"description": "Couchbase MCP Server - Enable AI agents to connect to and interact with Couchbase clusters."
}