Elicitation / Confirmation for Tool Calls
- reference
Require user confirmation before the LLM executes specific Couchbase MCP Server tools.
The CB_MCP_CONFIRMATION_REQUIRED_TOOLS environment variable enables user confirmation prompts for tools marked as requiring confirmation.
This allows users to double-check the tool call before the LLM executes the actions.
How It Works
The commands on this page start the operational server, which is the default.
Adding operational to the command, as in uvx couchbase-mcp-server operational, gives the same result.
|
When a tool requires confirmation, the server sends an elicitation request to the client.
Clients with elicitation support:
-
Prompt the user for confirmation.
-
Send the user’s response back to the server.
Clients without elicitation support: The tool executes without confirmation.
The server logs this at DEBUG level only, so no warning appears at the default log level.
When audit logging is on, the server records a confirmation skipped event (57491).
See Audit Events.
| Full functionality requires client support for elicitation. |
Configuration
| Environment Variable | CLI Argument | Description | Default | |
|---|---|---|---|---|
|
|
Comma-separated list or file path of tool names that require elicitation/user confirmation before execution |
None |
Supported Formats
Both settings accept the same two formats.
Comma-Separated List
# Environment variable
CB_MCP_CONFIRMATION_REQUIRED_TOOLS="delete_document_by_id, upsert_document_by_id"
# Command line
uvx couchbase-mcp-server --confirmation-required-tools "delete_document_by_id, upsert_document_by_id"
File Path (One Tool Per Line)
# Environment variable
CB_MCP_CONFIRMATION_REQUIRED_TOOLS=/path/to/confirmation_required_tools.txt
# Command line
uvx couchbase-mcp-server --confirmation-required-tools /path/to/confirmation_required_tools.txt
File format example (confirmation_required_tools.txt):
# Write operations
upsert_document_by_id
delete_document_by_id
# Replace operations
replace_document_by_id
The server treats lines starting with # as comments and ignores them.
MCP Client Configuration Examples
Using comma-separated list:
{
"mcpServers": {
"couchbase": {
"command": "uvx",
"args": ["couchbase-mcp-server"],
"env": {
"CB_CONNECTION_STRING": "couchbases://your-connection-string",
"CB_USERNAME": "username",
"CB_PASSWORD": "password",
"CB_MCP_CONFIRMATION_REQUIRED_TOOLS": "upsert_document_by_id,delete_document_by_id"
}
}
}
}
Using file path (recommended for many tools):
{
"mcpServers": {
"couchbase": {
"command": "uvx",
"args": ["couchbase-mcp-server"],
"env": {
"CB_CONNECTION_STRING": "couchbases://your-connection-string",
"CB_USERNAME": "username",
"CB_PASSWORD": "password",
"CB_MCP_CONFIRMATION_REQUIRED_TOOLS": "/path/to/confirmation_required_tools.txt"
}
}
}
}
Important Limitations
-
Elicitation does not work with workers or stateless mode. A confirmation prompt needs a session, and stateless mode keeps no session. The server refuses to start when you combine
--confirmation-required-toolswith--workersset to more than1or with--stateless-http. See Scaling with Workers. -
Setting
CB_MCP_CONFIRMATION_REQUIRED_TOOLSfor a tool that did not load has no effect, as the tool is not available. A tool does not load if it’s explicitly listed under thedisabled_toolsconfiguration, or if the server runs in READ_ONLY mode and the tool is not a READ_ONLY tool.
|
The confirmation_required setting applies explicitly to tools, not to individual actions (such as read, update, or delete operations). For example, if you enable confirmation_required for the |