Skip to main content
Glama
fadlee

dynamic-mysql-mcp

by fadlee

Dynamic MySQL MCP Server

Model Context Protocol (MCP) server for MySQL, enabling AI assistants to query and mutate MySQL data safely through tools.

Features

  • ๐Ÿ”ง Tool-based MySQL access (no required env vars)

  • ๐Ÿ” Runtime authentication via auth_mysql

  • ๐Ÿ—‚๏ธ List databases and tables

  • ๐Ÿงฑ Describe table schemas

  • ๐Ÿ“„ CRUD-like row operations (select_rows, insert_row, update_rows, delete_rows)

  • ๐Ÿงพ Custom SQL execution (execute_sql) with optional parameters

  • ๐ŸŒ MCP resources for table schema discovery

Related MCP server: MySQL MCP

Why Dynamic (vs static MySQL MCP servers)

Many MySQL MCP servers are configured statically (fixed host/user/password via env or config file). This project is intentionally dynamic.

  • Runtime auth via tool calls (auth_mysql) instead of requiring credentials at server boot

  • Switch database context during a session using use_database (or per-call database override)

  • Work across multiple databases/environments from one running MCP server session

  • Better fit for agent workflows where connection details change per task

  • No required auth environment variables for normal use

Capability

Dynamic MySQL MCP Server

Typical static MySQL MCP

Credentials

Provided at runtime with auth_mysql

Fixed in env/config at startup

Environment switching

Re-auth per task/session

Usually restart/reconfigure

Database switching

use_database + per-call database

Often single default DB

Agent workflow fit

High (task-driven connections)

Medium (preconfigured only)

Secrets handling model

No required auth env vars

Often relies on persistent env secrets

Installation

npm install dynamic-mysql-mcp
# or
bun install dynamic-mysql-mcp

Usage

With Claude Desktop

{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["dynamic-mysql-mcp"]
    }
  }
}

Direct Usage

npx dynamic-mysql-mcp

Authentication Flow (via tools)

  1. auth_mysql (host default 127.0.0.1, pass user/password and optional host/port/database/ssl)

  2. Optional: use_database to switch default DB like SQL USE <db>

  3. get_auth_status

  4. Use schema/data tools

  5. logout

No environment variable is required for auth.

Quick Tutorial

Use prompt-style language like this when chatting with an AI connected to this MCP:

  1. "Log in to local MySQL using root with an empty password."

  2. "Set the active database to my_app."

  3. "Show all tables in the active database."

  4. "Describe the users table, including column names and data types."

  5. "Fetch the 10 most recent rows from users, ordered by id descending."

  6. "Insert one new user into users with email test@example.com."

  7. "Update the user with id 1 and set the name to Budi."

  8. "Delete the user row with id 1."

  9. "Switch the active database to analytics."

  10. "Run custom SQL: SELECT id, email FROM users WHERE created_at >= ? with params ["2026-01-01"]."

Tip: if you want to run an operation on a specific database without switching the active database, mention the database directly in your prompt, for example: "Fetch 5 rows from analytics.events".

More Prompt Examples

  • Date filters:

    • "Fetch orders from the last 30 days based on created_at."

    • "Show payments between 2026-02-01 and 2026-02-10."

  • Pagination:

    • "Fetch 20 users starting from row 21."

    • "Show page 3 of products with 10 rows per page."

  • Keyword search:

    • "Find users whose email contains admin."

    • "Fetch posts whose title contains promo."

  • Combined filter + sort:

    • "Fetch 10 paid invoices, ordered by id descending."

    • "Show error-level logs, newest first, limited to 50 rows."

Available Tools

  • health

  • auth_mysql

  • get_auth_status

  • logout

  • list_databases

  • use_database

  • list_tables

  • describe_table

  • select_rows

  • insert_row

  • update_rows

  • delete_rows

  • execute_sql

Development

bun install
bun run dev
bun run typecheck
bun run test
bun run build

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fadlee/dynamic-mysql-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server