NestDaddy

Tokenlite Mysql Mcp

io.github.andezdev/tokenlite-mysql-mcp · v4.1.0

A secure, efficient, and intelligent MySQL server for the Model Context Protocol

Connect Runs on your machine

Terminal
claude mcp add tokenlite-mysql-mcp -e DB_HOST=<DB_HOST> -e DB_PORT=<DB_PORT> -e DB_USER=<DB_USER> -e DB_PASSWORD=<DB_PASSWORD> -e DB_NAME=<DB_NAME> -e MCP_EXPLAIN_MAX_SCAN_ROWS=<MCP_EXPLAIN_MAX_SCAN_ROWS> -e MCP_QUERY_ROW_LIMIT=<MCP_QUERY_ROW_LIMIT> -e MCP_SAFE_QUERY_MAX_ROWS=<MCP_SAFE_QUERY_MAX_ROWS> -e MCP_SAFE_QUERY_ENABLE_BLOCKING=<MCP_SAFE_QUERY_ENABLE_BLOCKING> -e MCP_METADATA_PATH=<MCP_METADATA_PATH> -e MCP_TEMPLATES_PATH=<MCP_TEMPLATES_PATH> -e TOOL_PREFIX=<TOOL_PREFIX> -e MCP_RATE_LIMIT_RPM=<MCP_RATE_LIMIT_RPM> -e MYSQL_QUERY_TIMEOUT=<MYSQL_QUERY_TIMEOUT> -e MYSQL_CONNECTION_LIMIT=<MYSQL_CONNECTION_LIMIT> -e MYSQL_CONNECT_TIMEOUT=<MYSQL_CONNECT_TIMEOUT> -e MYSQL_RETRY_ATTEMPTS=<MYSQL_RETRY_ATTEMPTS> -e MYSQL_RETRY_DELAY_MS=<MYSQL_RETRY_DELAY_MS> -e MYSQL_QUEUE_LIMIT=<MYSQL_QUEUE_LIMIT> -e MCP_DDL_CACHE_TTL=<MCP_DDL_CACHE_TTL> -e MCP_LOG_LEVEL=<MCP_LOG_LEVEL> -e ALLOW_INSERT_OPERATION=<ALLOW_INSERT_OPERATION> -e ALLOW_UPDATE_OPERATION=<ALLOW_UPDATE_OPERATION> -e ALLOW_DELETE_OPERATION=<ALLOW_DELETE_OPERATION> -e ALLOW_DDL_OPERATION=<ALLOW_DDL_OPERATION> -e DB_SSL=<DB_SSL> -e DB_SSL_REJECT_UNAUTHORIZED=<DB_SSL_REJECT_UNAUTHORIZED> -- npx -y @andezdev/[email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "tokenlite-mysql-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@andezdev/[email protected]"
      ],
      "env": {
        "DB_HOST": "<DB_HOST>",
        "DB_PORT": "<DB_PORT>",
        "DB_USER": "<DB_USER>",
        "DB_PASSWORD": "<DB_PASSWORD>",
        "DB_NAME": "<DB_NAME>",
        "MCP_EXPLAIN_MAX_SCAN_ROWS": "<MCP_EXPLAIN_MAX_SCAN_ROWS>",
        "MCP_QUERY_ROW_LIMIT": "<MCP_QUERY_ROW_LIMIT>",
        "MCP_SAFE_QUERY_MAX_ROWS": "<MCP_SAFE_QUERY_MAX_ROWS>",
        "MCP_SAFE_QUERY_ENABLE_BLOCKING": "<MCP_SAFE_QUERY_ENABLE_BLOCKING>",
        "MCP_METADATA_PATH": "<MCP_METADATA_PATH>",
        "MCP_TEMPLATES_PATH": "<MCP_TEMPLATES_PATH>",
        "TOOL_PREFIX": "<TOOL_PREFIX>",
        "MCP_RATE_LIMIT_RPM": "<MCP_RATE_LIMIT_RPM>",
        "MYSQL_QUERY_TIMEOUT": "<MYSQL_QUERY_TIMEOUT>",
        "MYSQL_CONNECTION_LIMIT": "<MYSQL_CONNECTION_LIMIT>",
        "MYSQL_CONNECT_TIMEOUT": "<MYSQL_CONNECT_TIMEOUT>",
        "MYSQL_RETRY_ATTEMPTS": "<MYSQL_RETRY_ATTEMPTS>",
        "MYSQL_RETRY_DELAY_MS": "<MYSQL_RETRY_DELAY_MS>",
        "MYSQL_QUEUE_LIMIT": "<MYSQL_QUEUE_LIMIT>",
        "MCP_DDL_CACHE_TTL": "<MCP_DDL_CACHE_TTL>",
        "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
        "ALLOW_INSERT_OPERATION": "<ALLOW_INSERT_OPERATION>",
        "ALLOW_UPDATE_OPERATION": "<ALLOW_UPDATE_OPERATION>",
        "ALLOW_DELETE_OPERATION": "<ALLOW_DELETE_OPERATION>",
        "ALLOW_DDL_OPERATION": "<ALLOW_DDL_OPERATION>",
        "DB_SSL": "<DB_SSL>",
        "DB_SSL_REJECT_UNAUTHORIZED": "<DB_SSL_REJECT_UNAUTHORIZED>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "tokenlite-mysql-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@andezdev/[email protected]"
      ],
      "env": {
        "DB_HOST": "<DB_HOST>",
        "DB_PORT": "<DB_PORT>",
        "DB_USER": "<DB_USER>",
        "DB_PASSWORD": "<DB_PASSWORD>",
        "DB_NAME": "<DB_NAME>",
        "MCP_EXPLAIN_MAX_SCAN_ROWS": "<MCP_EXPLAIN_MAX_SCAN_ROWS>",
        "MCP_QUERY_ROW_LIMIT": "<MCP_QUERY_ROW_LIMIT>",
        "MCP_SAFE_QUERY_MAX_ROWS": "<MCP_SAFE_QUERY_MAX_ROWS>",
        "MCP_SAFE_QUERY_ENABLE_BLOCKING": "<MCP_SAFE_QUERY_ENABLE_BLOCKING>",
        "MCP_METADATA_PATH": "<MCP_METADATA_PATH>",
        "MCP_TEMPLATES_PATH": "<MCP_TEMPLATES_PATH>",
        "TOOL_PREFIX": "<TOOL_PREFIX>",
        "MCP_RATE_LIMIT_RPM": "<MCP_RATE_LIMIT_RPM>",
        "MYSQL_QUERY_TIMEOUT": "<MYSQL_QUERY_TIMEOUT>",
        "MYSQL_CONNECTION_LIMIT": "<MYSQL_CONNECTION_LIMIT>",
        "MYSQL_CONNECT_TIMEOUT": "<MYSQL_CONNECT_TIMEOUT>",
        "MYSQL_RETRY_ATTEMPTS": "<MYSQL_RETRY_ATTEMPTS>",
        "MYSQL_RETRY_DELAY_MS": "<MYSQL_RETRY_DELAY_MS>",
        "MYSQL_QUEUE_LIMIT": "<MYSQL_QUEUE_LIMIT>",
        "MCP_DDL_CACHE_TTL": "<MCP_DDL_CACHE_TTL>",
        "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
        "ALLOW_INSERT_OPERATION": "<ALLOW_INSERT_OPERATION>",
        "ALLOW_UPDATE_OPERATION": "<ALLOW_UPDATE_OPERATION>",
        "ALLOW_DELETE_OPERATION": "<ALLOW_DELETE_OPERATION>",
        "ALLOW_DDL_OPERATION": "<ALLOW_DDL_OPERATION>",
        "DB_SSL": "<DB_SSL>",
        "DB_SSL_REJECT_UNAUTHORIZED": "<DB_SSL_REJECT_UNAUTHORIZED>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "tokenlite-mysql-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@andezdev/[email protected]"
      ],
      "env": {
        "DB_HOST": "<DB_HOST>",
        "DB_PORT": "<DB_PORT>",
        "DB_USER": "<DB_USER>",
        "DB_PASSWORD": "<DB_PASSWORD>",
        "DB_NAME": "<DB_NAME>",
        "MCP_EXPLAIN_MAX_SCAN_ROWS": "<MCP_EXPLAIN_MAX_SCAN_ROWS>",
        "MCP_QUERY_ROW_LIMIT": "<MCP_QUERY_ROW_LIMIT>",
        "MCP_SAFE_QUERY_MAX_ROWS": "<MCP_SAFE_QUERY_MAX_ROWS>",
        "MCP_SAFE_QUERY_ENABLE_BLOCKING": "<MCP_SAFE_QUERY_ENABLE_BLOCKING>",
        "MCP_METADATA_PATH": "<MCP_METADATA_PATH>",
        "MCP_TEMPLATES_PATH": "<MCP_TEMPLATES_PATH>",
        "TOOL_PREFIX": "<TOOL_PREFIX>",
        "MCP_RATE_LIMIT_RPM": "<MCP_RATE_LIMIT_RPM>",
        "MYSQL_QUERY_TIMEOUT": "<MYSQL_QUERY_TIMEOUT>",
        "MYSQL_CONNECTION_LIMIT": "<MYSQL_CONNECTION_LIMIT>",
        "MYSQL_CONNECT_TIMEOUT": "<MYSQL_CONNECT_TIMEOUT>",
        "MYSQL_RETRY_ATTEMPTS": "<MYSQL_RETRY_ATTEMPTS>",
        "MYSQL_RETRY_DELAY_MS": "<MYSQL_RETRY_DELAY_MS>",
        "MYSQL_QUEUE_LIMIT": "<MYSQL_QUEUE_LIMIT>",
        "MCP_DDL_CACHE_TTL": "<MCP_DDL_CACHE_TTL>",
        "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
        "ALLOW_INSERT_OPERATION": "<ALLOW_INSERT_OPERATION>",
        "ALLOW_UPDATE_OPERATION": "<ALLOW_UPDATE_OPERATION>",
        "ALLOW_DELETE_OPERATION": "<ALLOW_DELETE_OPERATION>",
        "ALLOW_DDL_OPERATION": "<ALLOW_DDL_OPERATION>",
        "DB_SSL": "<DB_SSL>",
        "DB_SSL_REJECT_UNAUTHORIZED": "<DB_SSL_REJECT_UNAUTHORIZED>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
DB_HOST
Optional
MySQL Host address (defaults to localhost)
DB_PORT
Optional
MySQL Port (defaults to 3306)
DB_USER
Optional
MySQL Username (defaults to root)
DB_PASSWORD
Optional, secret
MySQL Password (defaults to empty string)
DB_NAME
Required
MySQL Database name
MCP_EXPLAIN_MAX_SCAN_ROWS
Optional
EXPLAIN guardrail: max estimated rows for unindexed full table scans before blocking (defaults to 1000). MCP_SAFE_QUERY_MAX_ROWS is a deprecated alias.
MCP_QUERY_ROW_LIMIT
Optional
Max rows returned per SELECT; injected as LIMIT at the AST level (defaults to 500)
MCP_SAFE_QUERY_MAX_ROWS
Optional
Deprecated alias for MCP_EXPLAIN_MAX_SCAN_ROWS
MCP_SAFE_QUERY_ENABLE_BLOCKING
Optional
Enable or disable the EXPLAIN guardrail (defaults to true)
MCP_METADATA_PATH
Optional
Absolute path to your custom metadata.json dictionary
MCP_TEMPLATES_PATH
Optional
Absolute path to your custom templates.json pre-approved queries
TOOL_PREFIX
Optional
Prefix for tool names, e.g., to run multiple instances (defaults to DB_NAME, e.g. mydb_). Only set to override.
MCP_RATE_LIMIT_RPM
Optional
Max tool invocations per minute, sliding window (defaults to 60). Set to 0 to disable.
MYSQL_QUERY_TIMEOUT
Optional
Max execution time for a query in milliseconds to protect against DoS (defaults to 15000)
MYSQL_CONNECTION_LIMIT
Optional
Max concurrent pool connections (defaults to 10)
MYSQL_CONNECT_TIMEOUT
Optional
Max time to wait for a connection socket to establish in milliseconds (defaults to 10000)
MYSQL_RETRY_ATTEMPTS
Optional
Max retries on transient connection errors (defaults to 3)
MYSQL_RETRY_DELAY_MS
Optional
Base delay in milliseconds for exponential backoff between retries (defaults to 1000)
MYSQL_QUEUE_LIMIT
Optional
Max queued requests when all pool connections are busy to prevent memory leak (defaults to 50)
MCP_DDL_CACHE_TTL
Optional
Time-to-live in seconds for cached DDL statements (defaults to 60)
MCP_LOG_LEVEL
Optional
Minimum severity level for MCP log notifications (defaults to info). Levels: debug, info, notice, warning, error, critical, alert, emergency
ALLOW_INSERT_OPERATION
Optional
Enable INSERT and REPLACE queries (defaults to false)
ALLOW_UPDATE_OPERATION
Optional
Enable UPDATE queries (defaults to false)
ALLOW_DELETE_OPERATION
Optional
Enable DELETE and TRUNCATE queries (defaults to false)
ALLOW_DDL_OPERATION
Optional
Enable Data Definition Language queries like CREATE, ALTER, DROP, RENAME (defaults to false)
DB_SSL
Optional
Enable TLS for the MySQL connection (defaults to false)
DB_SSL_REJECT_UNAUTHORIZED
Optional
Reject self-signed or untrusted TLS certificates when DB_SSL is true (defaults to true)

Details

Package@andezdev/[email protected] (NPM, stdio)
First published7 Jun 2026
Last updated7 Jun 2026
Registry nameio.github.andezdev/tokenlite-mysql-mcp

More databases servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.