Parameters do not bind for MySQL custom tools

Author: mihai1gitCreated Sep 18, 2026Updated Sep 18, 2026
Labelstype: bug

Prerequisites

  • I've searched the current open issues
  • I've updated to the latest version of Toolbox

Toolbox version

toolbox version 1.12.0+binary.windows.amd64.c97ca4d

Environment

  1. OS type and version: Windows 11 v.25H2
  2. How are you running Toolbox:
  • As a downloaded binary (e.g. from curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe")
  1. Database: mysql-8.0.26-winx64

Client

  1. Client: windows command line
  2. Version: Windows 11 command line
  3. Example:
cmd
# Windows 11 command line (complex JSON syntax due to error: params must be a valid JSON string):
toolbox --config tools.yaml invoke search-language "{\""language\"": \""en\""}" 
yaml
# tools.yaml
kind: source
name: datasets-db
type: mysql
host: 127.0.0.1
port: 3308
database: datasets
user: <user>
password: <pass>
---
kind: tool
name: search-language
type: mysql-sql
source: datasets-db
description: >-
    Retrieves all countries where language as parameter (ex: English) is spoken.
statement: |
  select name , languages from countries_data where languages LIKE CONCAT('%', $1, '%');
parameters:
  - name: language
    type: string
    description: "The searched language code (ex: ps,uz,tk,en,sm )"

Expected Behavior

Replace the positional parameter $1 and execute query from tool: search-language.

Current Behavior

Parameter $1 is not replaced with the given value. Error: tool execution failed: error processing request: unable to execute query: Error 1054 (42S22): Unknown column '$1' in 'where clause'

Steps to reproduce?

  1. start MySQL on localhost
  2. invoke localhost-tool from command line

Additional Details

No response