Koskamo

TokenLite MySQL MCP

A robust MySQL server for MCP that ensures safety through AST-based query optimization, write permissions, and session-level read-only enforcement. It bridges raw data with business logic via semantic dictionaries and templates, while optimizing token usage through CSV compression and intelligent schema context packaging.

Package and access

Local package with source-attributed installation metadata. Koskamo does not execute packages during review.

TokenLite MySQL MCP logo, by andezdevCommunity listingLocal stdioSource reviewed; not executedPublished by andezdev
Vendor documentation

What you can do with it

  • Execute safe, pre-analyzed SQL queries with automatic LIMIT injection
  • Enforce strict read-only access with AST-based write permission controls
  • Generate semantic schema context to reduce LLM context window usage
  • Compress database results into CSV format to save output tokens

Source and maintenance

Community listingRegistry 4.1.0MIT
Last repository push
Latest release
tokenlite-mysql-mcp-v4.1.0
Maintenance checked

Packages and installation

Source-provided package data. Koskamo has not executed or live-probed this package.

@andezdev/tokenlite-mysql-mcp 4.1.0

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

Tools

Reported by the attributed source; not independently observed by Koskamo.

No tool definitions available.

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · repository · passed · metadata changed · updated
  • · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "mcpServers": {
    "tokenlite-mysql-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@andezdev/tokenlite-mysql-mcp@4.1.0"
      ],
      "env": {
        "DB_HOST": "<YOUR_DB_HOST>",
        "DB_PORT": "<YOUR_DB_PORT>",
        "DB_USER": "<YOUR_DB_USER>",
        "DB_PASSWORD": "<YOUR_DB_PASSWORD>",
        "DB_NAME": "<YOUR_DB_NAME>",
        "MCP_EXPLAIN_MAX_SCAN_ROWS": "<YOUR_MCP_EXPLAIN_MAX_SCAN_ROWS>",
        "MCP_QUERY_ROW_LIMIT": "<YOUR_MCP_QUERY_ROW_LIMIT>",
        "MCP_SAFE_QUERY_MAX_ROWS": "<YOUR_MCP_SAFE_QUERY_MAX_ROWS>",
        "MCP_SAFE_QUERY_ENABLE_BLOCKING": "<YOUR_MCP_SAFE_QUERY_ENABLE_BLOCKING>",
        "MCP_METADATA_PATH": "<YOUR_MCP_METADATA_PATH>",
        "MCP_TEMPLATES_PATH": "<YOUR_MCP_TEMPLATES_PATH>",
        "TOOL_PREFIX": "<YOUR_TOOL_PREFIX>",
        "MCP_RATE_LIMIT_RPM": "<YOUR_MCP_RATE_LIMIT_RPM>",
        "MYSQL_QUERY_TIMEOUT": "<YOUR_MYSQL_QUERY_TIMEOUT>",
        "MYSQL_CONNECTION_LIMIT": "<YOUR_MYSQL_CONNECTION_LIMIT>",
        "MYSQL_CONNECT_TIMEOUT": "<YOUR_MYSQL_CONNECT_TIMEOUT>",
        "MYSQL_RETRY_ATTEMPTS": "<YOUR_MYSQL_RETRY_ATTEMPTS>",
        "MYSQL_RETRY_DELAY_MS": "<YOUR_MYSQL_RETRY_DELAY_MS>",
        "MYSQL_QUEUE_LIMIT": "<YOUR_MYSQL_QUEUE_LIMIT>",
        "MCP_DDL_CACHE_TTL": "<YOUR_MCP_DDL_CACHE_TTL>",
        "MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>",
        "ALLOW_INSERT_OPERATION": "<YOUR_ALLOW_INSERT_OPERATION>",
        "ALLOW_UPDATE_OPERATION": "<YOUR_ALLOW_UPDATE_OPERATION>",
        "ALLOW_DELETE_OPERATION": "<YOUR_ALLOW_DELETE_OPERATION>",
        "ALLOW_DDL_OPERATION": "<YOUR_ALLOW_DDL_OPERATION>",
        "DB_SSL": "<YOUR_DB_SSL>",
        "DB_SSL_REJECT_UNAUTHORIZED": "<YOUR_DB_SSL_REJECT_UNAUTHORIZED>"
      }
    }
  }
}

Cline

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "mcpServers": {
    "tokenlite-mysql-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@andezdev/tokenlite-mysql-mcp@4.1.0"
      ],
      "env": {
        "DB_HOST": "<YOUR_DB_HOST>",
        "DB_PORT": "<YOUR_DB_PORT>",
        "DB_USER": "<YOUR_DB_USER>",
        "DB_PASSWORD": "<YOUR_DB_PASSWORD>",
        "DB_NAME": "<YOUR_DB_NAME>",
        "MCP_EXPLAIN_MAX_SCAN_ROWS": "<YOUR_MCP_EXPLAIN_MAX_SCAN_ROWS>",
        "MCP_QUERY_ROW_LIMIT": "<YOUR_MCP_QUERY_ROW_LIMIT>",
        "MCP_SAFE_QUERY_MAX_ROWS": "<YOUR_MCP_SAFE_QUERY_MAX_ROWS>",
        "MCP_SAFE_QUERY_ENABLE_BLOCKING": "<YOUR_MCP_SAFE_QUERY_ENABLE_BLOCKING>",
        "MCP_METADATA_PATH": "<YOUR_MCP_METADATA_PATH>",
        "MCP_TEMPLATES_PATH": "<YOUR_MCP_TEMPLATES_PATH>",
        "TOOL_PREFIX": "<YOUR_TOOL_PREFIX>",
        "MCP_RATE_LIMIT_RPM": "<YOUR_MCP_RATE_LIMIT_RPM>",
        "MYSQL_QUERY_TIMEOUT": "<YOUR_MYSQL_QUERY_TIMEOUT>",
        "MYSQL_CONNECTION_LIMIT": "<YOUR_MYSQL_CONNECTION_LIMIT>",
        "MYSQL_CONNECT_TIMEOUT": "<YOUR_MYSQL_CONNECT_TIMEOUT>",
        "MYSQL_RETRY_ATTEMPTS": "<YOUR_MYSQL_RETRY_ATTEMPTS>",
        "MYSQL_RETRY_DELAY_MS": "<YOUR_MYSQL_RETRY_DELAY_MS>",
        "MYSQL_QUEUE_LIMIT": "<YOUR_MYSQL_QUEUE_LIMIT>",
        "MCP_DDL_CACHE_TTL": "<YOUR_MCP_DDL_CACHE_TTL>",
        "MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>",
        "ALLOW_INSERT_OPERATION": "<YOUR_ALLOW_INSERT_OPERATION>",
        "ALLOW_UPDATE_OPERATION": "<YOUR_ALLOW_UPDATE_OPERATION>",
        "ALLOW_DELETE_OPERATION": "<YOUR_ALLOW_DELETE_OPERATION>",
        "ALLOW_DDL_OPERATION": "<YOUR_ALLOW_DDL_OPERATION>",
        "DB_SSL": "<YOUR_DB_SSL>",
        "DB_SSL_REJECT_UNAUTHORIZED": "<YOUR_DB_SSL_REJECT_UNAUTHORIZED>"
      }
    }
  }
}

VS Code

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "servers": {
    "tokenlite-mysql-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@andezdev/tokenlite-mysql-mcp@4.1.0"
      ],
      "env": {
        "DB_HOST": "<YOUR_DB_HOST>",
        "DB_PORT": "<YOUR_DB_PORT>",
        "DB_USER": "<YOUR_DB_USER>",
        "DB_PASSWORD": "<YOUR_DB_PASSWORD>",
        "DB_NAME": "<YOUR_DB_NAME>",
        "MCP_EXPLAIN_MAX_SCAN_ROWS": "<YOUR_MCP_EXPLAIN_MAX_SCAN_ROWS>",
        "MCP_QUERY_ROW_LIMIT": "<YOUR_MCP_QUERY_ROW_LIMIT>",
        "MCP_SAFE_QUERY_MAX_ROWS": "<YOUR_MCP_SAFE_QUERY_MAX_ROWS>",
        "MCP_SAFE_QUERY_ENABLE_BLOCKING": "<YOUR_MCP_SAFE_QUERY_ENABLE_BLOCKING>",
        "MCP_METADATA_PATH": "<YOUR_MCP_METADATA_PATH>",
        "MCP_TEMPLATES_PATH": "<YOUR_MCP_TEMPLATES_PATH>",
        "TOOL_PREFIX": "<YOUR_TOOL_PREFIX>",
        "MCP_RATE_LIMIT_RPM": "<YOUR_MCP_RATE_LIMIT_RPM>",
        "MYSQL_QUERY_TIMEOUT": "<YOUR_MYSQL_QUERY_TIMEOUT>",
        "MYSQL_CONNECTION_LIMIT": "<YOUR_MYSQL_CONNECTION_LIMIT>",
        "MYSQL_CONNECT_TIMEOUT": "<YOUR_MYSQL_CONNECT_TIMEOUT>",
        "MYSQL_RETRY_ATTEMPTS": "<YOUR_MYSQL_RETRY_ATTEMPTS>",
        "MYSQL_RETRY_DELAY_MS": "<YOUR_MYSQL_RETRY_DELAY_MS>",
        "MYSQL_QUEUE_LIMIT": "<YOUR_MYSQL_QUEUE_LIMIT>",
        "MCP_DDL_CACHE_TTL": "<YOUR_MCP_DDL_CACHE_TTL>",
        "MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>",
        "ALLOW_INSERT_OPERATION": "<YOUR_ALLOW_INSERT_OPERATION>",
        "ALLOW_UPDATE_OPERATION": "<YOUR_ALLOW_UPDATE_OPERATION>",
        "ALLOW_DELETE_OPERATION": "<YOUR_ALLOW_DELETE_OPERATION>",
        "ALLOW_DDL_OPERATION": "<YOUR_ALLOW_DDL_OPERATION>",
        "DB_SSL": "<YOUR_DB_SSL>",
        "DB_SSL_REJECT_UNAUTHORIZED": "<YOUR_DB_SSL_REJECT_UNAUTHORIZED>"
      }
    }
  }
}

Claude Desktop

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "mcpServers": {
    "tokenlite-mysql-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@andezdev/tokenlite-mysql-mcp@4.1.0"
      ],
      "env": {
        "DB_HOST": "<YOUR_DB_HOST>",
        "DB_PORT": "<YOUR_DB_PORT>",
        "DB_USER": "<YOUR_DB_USER>",
        "DB_PASSWORD": "<YOUR_DB_PASSWORD>",
        "DB_NAME": "<YOUR_DB_NAME>",
        "MCP_EXPLAIN_MAX_SCAN_ROWS": "<YOUR_MCP_EXPLAIN_MAX_SCAN_ROWS>",
        "MCP_QUERY_ROW_LIMIT": "<YOUR_MCP_QUERY_ROW_LIMIT>",
        "MCP_SAFE_QUERY_MAX_ROWS": "<YOUR_MCP_SAFE_QUERY_MAX_ROWS>",
        "MCP_SAFE_QUERY_ENABLE_BLOCKING": "<YOUR_MCP_SAFE_QUERY_ENABLE_BLOCKING>",
        "MCP_METADATA_PATH": "<YOUR_MCP_METADATA_PATH>",
        "MCP_TEMPLATES_PATH": "<YOUR_MCP_TEMPLATES_PATH>",
        "TOOL_PREFIX": "<YOUR_TOOL_PREFIX>",
        "MCP_RATE_LIMIT_RPM": "<YOUR_MCP_RATE_LIMIT_RPM>",
        "MYSQL_QUERY_TIMEOUT": "<YOUR_MYSQL_QUERY_TIMEOUT>",
        "MYSQL_CONNECTION_LIMIT": "<YOUR_MYSQL_CONNECTION_LIMIT>",
        "MYSQL_CONNECT_TIMEOUT": "<YOUR_MYSQL_CONNECT_TIMEOUT>",
        "MYSQL_RETRY_ATTEMPTS": "<YOUR_MYSQL_RETRY_ATTEMPTS>",
        "MYSQL_RETRY_DELAY_MS": "<YOUR_MYSQL_RETRY_DELAY_MS>",
        "MYSQL_QUEUE_LIMIT": "<YOUR_MYSQL_QUEUE_LIMIT>",
        "MCP_DDL_CACHE_TTL": "<YOUR_MCP_DDL_CACHE_TTL>",
        "MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>",
        "ALLOW_INSERT_OPERATION": "<YOUR_ALLOW_INSERT_OPERATION>",
        "ALLOW_UPDATE_OPERATION": "<YOUR_ALLOW_UPDATE_OPERATION>",
        "ALLOW_DELETE_OPERATION": "<YOUR_ALLOW_DELETE_OPERATION>",
        "ALLOW_DDL_OPERATION": "<YOUR_ALLOW_DDL_OPERATION>",
        "DB_SSL": "<YOUR_DB_SSL>",
        "DB_SSL_REJECT_UNAUTHORIZED": "<YOUR_DB_SSL_REJECT_UNAUTHORIZED>"
      }
    }
  }
}

Let your agent find its tools

Find servers like TokenLite MySQL MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.