dynamic-mysql-mcp
Enables secure, runtime-authenticated MySQL database querying and mutation through dynamic tools, allowing AI assistants to list databases/tables, describe schemas, and perform CRUD operations.
README
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
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)
auth_mysql(host default127.0.0.1, pass user/password and optional host/port/database/ssl)- Optional:
use_databaseto switch default DB like SQLUSE <db> get_auth_status- Use schema/data tools
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:
- "Log in to local MySQL using root with an empty password."
- "Set the active database to my_app."
- "Show all tables in the active database."
- "Describe the users table, including column names and data types."
- "Fetch the 10 most recent rows from users, ordered by id descending."
- "Insert one new user into users with email test@example.com."
- "Update the user with id 1 and set the name to Budi."
- "Delete the user row with id 1."
- "Switch the active database to analytics."
- "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
healthauth_mysqlget_auth_statuslogoutlist_databasesuse_databaselist_tablesdescribe_tableselect_rowsinsert_rowupdate_rowsdelete_rowsexecute_sql
Development
bun install
bun run dev
bun run typecheck
bun run test
bun run build
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.