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
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="operational_insights_create_index, operational_insights_cancel_async_query"
# Command line
uvx couchbase-mcp-server operational-insights --confirmation-required-tools "operational_insights_create_index, operational_insights_cancel_async_query"
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 operational-insights --confirmation-required-tools /path/to/confirmation_required_tools.txt
File format example (confirmation_required_tools.txt):
# Index and async query management
operational_insights_create_index
operational_insights_cancel_async_query
The server treats lines starting with # as comments and ignores them.
MCP Client Configuration Examples
Using comma-separated list:
{
"mcpServers": {
"couchbase-oi": {
"command": "uvx",
"args": ["couchbase-mcp-server", "operational-insights"],
"env": {
"CB_OPERATIONAL_INSIGHTS_CONNECTION_STRING": "https://your-oi-endpoint",
"CB_OPERATIONAL_INSIGHTS_USERNAME": "username",
"CB_OPERATIONAL_INSIGHTS_PASSWORD": "password",
"CB_MCP_CONFIRMATION_REQUIRED_TOOLS": "operational_insights_create_index,operational_insights_cancel_async_query"
}
}
}
}
Using file path (recommended for many tools):
{
"mcpServers": {
"couchbase-oi": {
"command": "uvx",
"args": ["couchbase-mcp-server", "operational-insights"],
"env": {
"CB_OPERATIONAL_INSIGHTS_CONNECTION_STRING": "https://your-oi-endpoint",
"CB_OPERATIONAL_INSIGHTS_USERNAME": "username",
"CB_OPERATIONAL_INSIGHTS_PASSWORD": "password",
"CB_MCP_CONFIRMATION_REQUIRED_TOOLS": "/path/to/confirmation_required_tools.txt"
}
}
}
}
Important Limitations
-
Elicitation does not work with 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--stateless-http. See Stateless Mode and 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 |