couchbase-sql

A “couchbase-sql” tool executes a pre-defined SQL statement against a Couchbase database.

About

A couchbase-sql tool executes a pre-defined SQL statement against a Couchbase database. It’s compatible with any of the following sources:

The specified SQL statement is executed as a parameterized statement, and specified parameters will be used according to their name: e.g. $id.

Note: This tool uses parameterized queries to prevent SQL injections. Query parameters can be used as substitutes for arbitrary expressions. Parameters cannot be used as substitutes for identifiers, column names, table names, or other parts of the query.

Example

tools:
    search_products_by_category:
        kind: couchbase-sql
        source: my-couchbase-instance
        statement: |
            SELECT p.name, p.price, p.description
            FROM products p
            WHERE p.category = $category AND p.price < $max_price
            ORDER BY p.price DESC
            LIMIT 10
        description: |
            Use this tool to get a list of products for a specific category under a maximum price.
            Takes a category name, e.g. "Electronics" and a maximum price e.g 500 and returns a list of product names, prices, and descriptions.
            Do NOT use this tool with invalid category names. Do NOT guess a category name, Do NOT guess a price.
            Example:
            {{
                "category": "Electronics",
                "max_price": 500
            }}
            Example:
            {{
                "category": "Furniture",
                "max_price": 1000
            }}
        parameters:
            - name: category
              type: string
              description: Product category name
            - name: max_price
              type: integer
              description: Maximum price (positive integer)

Reference

fieldtyperequireddescription
kindstringtrueMust be “couchbase-sql”.
sourcestringtrueName of the source the SQL query should execute on.
descriptionstringtrueDescription of the tool that is passed to the LLM.
statementstringtrueSQL statement to execute
parametersparametersfalseList of parameters that will be used with the SQL statement.
authRequiredarray[string]falseList of auth services that are required to use this tool.
Last modified May 28, 2025: docs: add note to tools (#608) (1bf6003e)