x=hub

your toolset

    build deployment
    sign in

    tokenlite-mysql-mcp

    mcpkey · package
    io.github.andezdev/tokenlite-mysql-mcp · v4.1.0
    deploy just this

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

    run it

    on your own machines, one way per deploy method
    generated from the record, not tested yet
    #!/usr/bin/env bash
    # tokenlite-mysql (io.github.andezdev/tokenlite-mysql-mcp), recipe baremetal (generated).
    # Generated by Hub for toolset "my-agent"; started by mcp-my-agent-tokenlite-mysql.service.
    set -euo pipefail
    export HOST=127.0.0.1 PORT=8101
    exec npx -y supergateway@4 --stdio 'npx -y @andezdev/[email protected]' --outputTransport streamableHttp --stateful --host 127.0.0.1 --port 8101 --streamableHttpPath /mcp --healthEndpoint /healthz
    
    [Unit]
    Description=MCP server tokenlite-mysql (toolset my-agent), generated by Hub
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    Type=simple
    User=mcp
    Group=mcp
    EnvironmentFile=/etc/mcp/my-agent.env
    Environment=HOME=/var/lib/mcp/tokenlite-mysql
    WorkingDirectory=/var/lib/mcp/tokenlite-mysql
    ExecStart=/opt/mcp/my-agent/bin/tokenlite-mysql.sh
    Restart=on-failure
    RestartSec=5
    NoNewPrivileges=true
    ProtectSystem=strict
    ProtectHome=true
    PrivateTmp=true
    ReadWritePaths=/var/lib/mcp/tokenlite-mysql
    
    [Install]
    WantedBy=multi-user.target
    
    generated from the record, not tested yet
    docker run --rm -p 127.0.0.1:8101:8000 -e DB_HOST -e DB_PORT -e DB_USER -e DB_PASSWORD -e DB_NAME -e MCP_EXPLAIN_MAX_SCAN_ROWS -e MCP_QUERY_ROW_LIMIT -e MCP_SAFE_QUERY_MAX_ROWS -e MCP_SAFE_QUERY_ENABLE_BLOCKING -e MCP_METADATA_PATH -e MCP_TEMPLATES_PATH -e TOOL_PREFIX -e MCP_RATE_LIMIT_RPM -e MYSQL_QUERY_TIMEOUT -e MYSQL_CONNECTION_LIMIT -e MYSQL_CONNECT_TIMEOUT -e MYSQL_RETRY_ATTEMPTS -e MYSQL_RETRY_DELAY_MS -e MYSQL_QUEUE_LIMIT -e MCP_DDL_CACHE_TTL -e MCP_LOG_LEVEL -e ALLOW_INSERT_OPERATION -e ALLOW_UPDATE_OPERATION -e ALLOW_DELETE_OPERATION -e ALLOW_DDL_OPERATION -e DB_SSL -e DB_SSL_REJECT_UNAUTHORIZED node:22-alpine sh -c 'npx -y supergateway@4 --stdio '"'"'npx -y @andezdev/[email protected]'"'"' --outputTransport streamableHttp --stateful --host 0.0.0.0 --port 8000 --streamableHttpPath /mcp --healthEndpoint /healthz'
    
    generated from the record, not tested yet
    # Generated by Hub for toolset "my-agent" (2026-10-18T00:25:37+00:00).
    # Each package server runs behind a stdio->HTTP bridge and listens on localhost only.
    #   cp .env.example .env    # fill the ${VAR}s
    #   docker compose up -d && bash smoke.sh
    # Remote servers are not here: clients reach them directly (see clients/).
    name: mcp-my-agent
    services:
      tokenlite-mysql:
        image: node:22-alpine
        command:
        - sh
        - -c
        - npx -y supergateway@4 --stdio 'npx -y @andezdev/[email protected]' --outputTransport streamableHttp
          --stateful --host 0.0.0.0 --port 8000 --streamableHttpPath /mcp --healthEndpoint /healthz
        ports:
        - 127.0.0.1:8101:8000
        volumes:
        - npm-cache:/root/.npm
        healthcheck:
          test:
          - CMD-SHELL
          - wget -qO- http://127.0.0.1:8000/healthz || exit 1
          interval: 30s
          timeout: 5s
          retries: 5
          start_period: 2m
        restart: unless-stopped
        environment:
          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}
    volumes:
      npm-cache: {}
      uv-cache: {}
    
    generated from the record, not tested yet
    # Generated by Hub for toolset "my-agent" (2026-10-18T00:25:37+00:00).
    #   kubectl create namespace mcp
    #   kubectl -n mcp create secret generic mcp-credentials --from-env-file=.env
    #   kubectl apply -f kubernetes.yaml
    # Services are cluster-internal: <name>.mcp.svc.cluster.local:8000/mcp. Put an ingress
    # with auth in front before exposing any of them.
    apiVersion: v1
    kind: Namespace
    metadata:
      name: mcp
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: tokenlite-mysql
      namespace: mcp
      labels: &id001
        app: tokenlite-mysql
    spec:
      replicas: 1
      selector:
        matchLabels: *id001
      template:
        metadata:
          labels: *id001
        spec:
          containers:
          - name: tokenlite-mysql
            image: node:22-alpine
            ports:
            - containerPort: 8000
              name: http
            env:
            - name: DB_HOST
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: DB_HOST
            - name: DB_PORT
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: DB_PORT
            - name: DB_USER
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: DB_USER
            - name: DB_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: DB_PASSWORD
            - name: DB_NAME
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: DB_NAME
            - name: MCP_EXPLAIN_MAX_SCAN_ROWS
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MCP_EXPLAIN_MAX_SCAN_ROWS
            - name: MCP_QUERY_ROW_LIMIT
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MCP_QUERY_ROW_LIMIT
            - name: MCP_SAFE_QUERY_MAX_ROWS
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MCP_SAFE_QUERY_MAX_ROWS
            - name: MCP_SAFE_QUERY_ENABLE_BLOCKING
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MCP_SAFE_QUERY_ENABLE_BLOCKING
            - name: MCP_METADATA_PATH
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MCP_METADATA_PATH
            - name: MCP_TEMPLATES_PATH
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MCP_TEMPLATES_PATH
            - name: TOOL_PREFIX
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: TOOL_PREFIX
            - name: MCP_RATE_LIMIT_RPM
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MCP_RATE_LIMIT_RPM
            - name: MYSQL_QUERY_TIMEOUT
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MYSQL_QUERY_TIMEOUT
            - name: MYSQL_CONNECTION_LIMIT
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MYSQL_CONNECTION_LIMIT
            - name: MYSQL_CONNECT_TIMEOUT
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MYSQL_CONNECT_TIMEOUT
            - name: MYSQL_RETRY_ATTEMPTS
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MYSQL_RETRY_ATTEMPTS
            - name: MYSQL_RETRY_DELAY_MS
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MYSQL_RETRY_DELAY_MS
            - name: MYSQL_QUEUE_LIMIT
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MYSQL_QUEUE_LIMIT
            - name: MCP_DDL_CACHE_TTL
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MCP_DDL_CACHE_TTL
            - name: MCP_LOG_LEVEL
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: MCP_LOG_LEVEL
            - name: ALLOW_INSERT_OPERATION
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: ALLOW_INSERT_OPERATION
            - name: ALLOW_UPDATE_OPERATION
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: ALLOW_UPDATE_OPERATION
            - name: ALLOW_DELETE_OPERATION
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: ALLOW_DELETE_OPERATION
            - name: ALLOW_DDL_OPERATION
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: ALLOW_DDL_OPERATION
            - name: DB_SSL
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: DB_SSL
            - name: DB_SSL_REJECT_UNAUTHORIZED
              valueFrom:
                secretKeyRef:
                  name: mcp-credentials
                  key: DB_SSL_REJECT_UNAUTHORIZED
            command:
            - sh
            - -c
            - npx -y supergateway@4 --stdio 'npx -y @andezdev/[email protected]' --outputTransport
              streamableHttp --stateful --host 0.0.0.0 --port 8000 --streamableHttpPath /mcp --healthEndpoint
              /healthz
            readinessProbe:
              httpGet:
                path: /healthz
                port: http
              initialDelaySeconds: 10
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: tokenlite-mysql
      namespace: mcp
    spec:
      selector:
        app: tokenlite-mysql
      ports:
      - port: 8000
        targetPort: http
        name: http
    
    generated from the record, not tested yet
    # Generated by Hub for toolset "my-agent" (2026-10-18T00:25:37+00:00).
    # Credentials come from the Secret 'mcp-credentials' (kubectl create secret generic ... --from-env-file=.env).
    # Each server under `servers` is one Deployment + Service; the keys after it configure
    # upstream charts a worker verified.
    servers:
      tokenlite-mysql:
        enabled: true
        replicas: 1
        port: 8000
        path: /mcp
        container:
          name: tokenlite-mysql
          image: node:22-alpine
          ports:
          - containerPort: 8000
            name: http
          env:
          - name: DB_HOST
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: DB_HOST
          - name: DB_PORT
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: DB_PORT
          - name: DB_USER
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: DB_USER
          - name: DB_PASSWORD
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: DB_PASSWORD
          - name: DB_NAME
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: DB_NAME
          - name: MCP_EXPLAIN_MAX_SCAN_ROWS
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MCP_EXPLAIN_MAX_SCAN_ROWS
          - name: MCP_QUERY_ROW_LIMIT
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MCP_QUERY_ROW_LIMIT
          - name: MCP_SAFE_QUERY_MAX_ROWS
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MCP_SAFE_QUERY_MAX_ROWS
          - name: MCP_SAFE_QUERY_ENABLE_BLOCKING
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MCP_SAFE_QUERY_ENABLE_BLOCKING
          - name: MCP_METADATA_PATH
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MCP_METADATA_PATH
          - name: MCP_TEMPLATES_PATH
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MCP_TEMPLATES_PATH
          - name: TOOL_PREFIX
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: TOOL_PREFIX
          - name: MCP_RATE_LIMIT_RPM
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MCP_RATE_LIMIT_RPM
          - name: MYSQL_QUERY_TIMEOUT
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MYSQL_QUERY_TIMEOUT
          - name: MYSQL_CONNECTION_LIMIT
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MYSQL_CONNECTION_LIMIT
          - name: MYSQL_CONNECT_TIMEOUT
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MYSQL_CONNECT_TIMEOUT
          - name: MYSQL_RETRY_ATTEMPTS
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MYSQL_RETRY_ATTEMPTS
          - name: MYSQL_RETRY_DELAY_MS
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MYSQL_RETRY_DELAY_MS
          - name: MYSQL_QUEUE_LIMIT
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MYSQL_QUEUE_LIMIT
          - name: MCP_DDL_CACHE_TTL
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MCP_DDL_CACHE_TTL
          - name: MCP_LOG_LEVEL
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: MCP_LOG_LEVEL
          - name: ALLOW_INSERT_OPERATION
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: ALLOW_INSERT_OPERATION
          - name: ALLOW_UPDATE_OPERATION
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: ALLOW_UPDATE_OPERATION
          - name: ALLOW_DELETE_OPERATION
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: ALLOW_DELETE_OPERATION
          - name: ALLOW_DDL_OPERATION
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: ALLOW_DDL_OPERATION
          - name: DB_SSL
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: DB_SSL
          - name: DB_SSL_REJECT_UNAUTHORIZED
            valueFrom:
              secretKeyRef:
                name: mcp-credentials
                key: DB_SSL_REJECT_UNAUTHORIZED
          command:
          - sh
          - -c
          - npx -y supergateway@4 --stdio 'npx -y @andezdev/[email protected]' --outputTransport streamableHttp
            --stateful --host 0.0.0.0 --port 8000 --streamableHttpPath /mcp --healthEndpoint /healthz
          readinessProbe:
            httpGet:
              path: /healthz
              port: http
            initialDelaySeconds: 10
    
    # helm install my-agent helm/my-agent -n mcp
    

    in the cloud

    one click: the provider's deploy form opens filled in, in your own account
    koyeb

    The form opens with CHANGE_ME for each value you supply: DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME, MCP_EXPLAIN_MAX_SCAN_ROWS, MCP_QUERY_ROW_LIMIT, MCP_SAFE_QUERY_MAX_ROWS, MCP_SAFE_QUERY_ENABLE_BLOCKING, MCP_METADATA_PATH, MCP_TEMPLATES_PATH, TOOL_PREFIX, MCP_RATE_LIMIT_RPM, MYSQL_QUERY_TIMEOUT, MYSQL_CONNECTION_LIMIT, MYSQL_CONNECT_TIMEOUT, MYSQL_RETRY_ATTEMPTS, MYSQL_RETRY_DELAY_MS, MYSQL_QUEUE_LIMIT, MCP_DDL_CACHE_TTL, MCP_LOG_LEVEL, ALLOW_INSERT_OPERATION, ALLOW_UPDATE_OPERATION, ALLOW_DELETE_OPERATION, ALLOW_DDL_OPERATION, DB_SSL, DB_SSL_REJECT_UNAUTHORIZED. Fill them in before you deploy.

    Clients connect to the service's https://…koyeb.app address plus /mcp.

    azure

    A Container Apps environment with one app per server, each with HTTPS ingress and one replica. The portal asks for each value you supply as a secure parameter; the deployment's outputs list the endpoints.

    connect to it

    copy what your client needs
    npx -y @andezdev/[email protected]
    # env: DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME, MCP_EXPLAIN_MAX_SCAN_ROWS, MCP_QUERY_ROW_LIMIT, MCP_SAFE_QUERY_MAX_ROWS, MCP_SAFE_QUERY_ENABLE_BLOCKING, MCP_METADATA_PATH, MCP_TEMPLATES_PATH, TOOL_PREFIX, MCP_RATE_LIMIT_RPM, MYSQL_QUERY_TIMEOUT, MYSQL_CONNECTION_LIMIT, MYSQL_CONNECT_TIMEOUT, MYSQL_RETRY_ATTEMPTS, MYSQL_RETRY_DELAY_MS, MYSQL_QUEUE_LIMIT, MCP_DDL_CACHE_TTL, MCP_LOG_LEVEL, ALLOW_INSERT_OPERATION, ALLOW_UPDATE_OPERATION, ALLOW_DELETE_OPERATION, ALLOW_DDL_OPERATION, DB_SSL, DB_SSL_REJECT_UNAUTHORIZED
    {
      "mcpServers": {
        "tokenlite-mysql": {
          "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}"
          }
        }
      }
    }
    #!/usr/bin/env bash
    # Registers every server with Claude Code (run once; `claude mcp list` to check).
    set -euo pipefail
    set -a; [ -f .env ] && source .env; set +a
    claude mcp add tokenlite-mysql -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]
    
    {
      "mcpServers": {
        "tokenlite-mysql": {
          "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}"
          }
        }
      }
    }
    {
      "servers": {
        "tokenlite-mysql": {
          "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}"
          }
        }
      }
    }
    name: my-agent
    target: local
    servers:
    - hub: io.github.andezdev/tokenlite-mysql-mcp
    
    • not probed yet: tools unpinned, ingest lists them

    tools

    Not probed yetThe tools appear once the hub or its worker has listed this entry. Running it still works: your client lists them on first start.