mysql-mcp
Enables read-only SQL queries and datasource listing for MySQL databases via MCP.
README
mysql-mcp
mysql-mcp is a read-only MySQL MCP server that can be used by Codex, Claude Code, and other Model Context Protocol clients.
It exposes two tools:
query_mysql: execute a read-only SQL query against a configured datasourcelist_datasources: list the available datasource names from the config file
Features
- Read-only query workflow through MCP stdio transport
- Multiple datasource definitions in one YAML config file
- Simple installation from PyPI once published
- Works with Codex and Claude Code global MCP configuration
Installation
From PyPI
pipx install mysql-mcp
Or with uv:
uv tool install mysql-mcp
Local development
python3 -m pip install -e ".[dev]"
Configuration
Create a YAML config file. You can start from config.example.yaml:
datasources:
dev:
host: "127.0.0.1"
port: 3306
user: "mysql"
password: "${MYSQL_PASSWORD}"
database: "app_dev"
pool_size: 5
pool_name: "dev_pool"
query:
default_timeout: 30
max_rows: 10000
The MCP process must receive any referenced environment variables such as MYSQL_PASSWORD.
Running the server
cp config.example.yaml config.yaml
mysql-mcp /absolute/path/to/config.yaml
Codex setup
Add it as a global MCP server:
codex mcp add mysql-mcp \
--env MYSQL_PASSWORD=your-password \
-- mysql-mcp /absolute/path/to/config.yaml
If you prefer not to preinstall the package, you can also run it through uvx:
codex mcp add mysql-mcp \
--env MYSQL_PASSWORD=your-password \
-- uvx mysql-mcp /absolute/path/to/config.yaml
Claude Code setup
Add this to ~/.claude/settings.json:
{
"mcpServers": {
"mysql-mcp": {
"type": "stdio",
"command": "mysql-mcp",
"args": ["/absolute/path/to/config.yaml"],
"env": {
"MYSQL_PASSWORD": "your-password"
}
}
}
}
Or use uvx:
{
"mcpServers": {
"mysql-mcp": {
"type": "stdio",
"command": "uvx",
"args": ["mysql-mcp", "/absolute/path/to/config.yaml"],
"env": {
"MYSQL_PASSWORD": "your-password"
}
}
}
}
Publish to PyPI
- Update the version in
pyproject.toml. - Build the package:
python3 -m build
- Upload to TestPyPI first:
python3 -m twine upload --repository testpypi dist/*
- Upload to PyPI:
python3 -m twine upload dist/*
Development
Run tests:
pytest -q
Build artifacts:
python3 -m build
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.