Server data from the Official MCP Registry
MCP server for read-only MySQL database queries in Claude Desktop
MCP server for read-only MySQL database queries in Claude Desktop
Valid MCP server (2 strong, 4 medium validity signals). 4 known CVEs in dependencies (0 critical, 2 high severity) Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (3/3 approved).
4 files analyzed · 5 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"mcp-server": {
"args": [
"-y",
"@hovecapital/read-only-mysql-mcp-server"
],
"command": "npx"
}
}
}From the project's GitHub README.
A Model Context Protocol (MCP) server that enables Claude Desktop to interact with MySQL databases through natural language queries.
claude mcp add mysql -s user -- npx -y @hovecapital/read-only-mysql-mcp-server@latest
Then set your database environment variables:
export DB_HOST=localhost
export DB_PORT=3306
export DB_DATABASE=your_database_name
export DB_USERNAME=your_username
export DB_PASSWORD=your_password
Done! Restart Claude Code and ask: "What tables are in my database?"
1. Open your config file:
# macOS
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json
2. Add this configuration:
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@hovecapital/read-only-mysql-mcp-server@latest"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_DATABASE": "your_database_name",
"DB_USERNAME": "your_username",
"DB_PASSWORD": "your_password"
}
}
}
}
3. Save, restart Claude Desktop, and test!
This server is published in the Model Context Protocol Registry as capital.hove/read-only-local-mysql-mcp-server.
claude mcp add mysql -s user -- npx -y @hovecapital/read-only-mysql-mcp-server@latest
Then configure your database credentials using environment variables. Restart Claude Code and you're done!
Benefits:
For Claude Desktop:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@hovecapital/read-only-mysql-mcp-server@latest"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_DATABASE": "your_database_name",
"DB_USERNAME": "your_username",
"DB_PASSWORD": "your_password"
}
}
}
}
For Claude Code:
Edit ~/.config/claude-code/settings.json (macOS/Linux) or %APPDATA%\claude-code\settings.json (Windows):
{
"mcp": {
"servers": {
"mysql": {
"command": "npx",
"args": ["-y", "@hovecapital/read-only-mysql-mcp-server@latest"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_DATABASE": "your_database_name",
"DB_USERNAME": "your_username",
"DB_PASSWORD": "your_password"
}
}
}
}
}
npm install -g @hovecapital/read-only-mysql-mcp-server
If you're using Claude Code, you can easily install this MCP server:
# Clone the repository
git clone https://github.com/hovecapital/read-only-local-mysql-mcp-server.git
cd read-only-local-mysql-mcp-server
# Install dependencies and build
npm install
npm run build
Then configure Claude Code by adding to your MCP settings.
Save the repository to a directory on your system:
mkdir ~/mcp-servers/mysql
cd ~/mcp-servers/mysql
git clone https://github.com/hovecapital/read-only-local-mysql-mcp-server.git .
npm install
npm run build
Note: If you installed via Option 1 (MCP Registry with npx), you've already configured everything! This section is for users who chose Options 2, 3, or 4 (npm or manual installation).
If you're using Claude Code with a manual installation, add the MySQL server to your MCP settings:
Open your Claude Code settings (typically in ~/.config/claude-code/settings.json on macOS/Linux or %APPDATA%\claude-code\settings.json on Windows)
Add the MySQL MCP server configuration:
{
"mcp": {
"servers": {
"mysql": {
"command": "node",
"args": ["/absolute/path/to/read-only-local-mysql-mcp-server/dist/index.js"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_DATABASE": "your_database_name",
"DB_USERNAME": "your_username",
"DB_PASSWORD": "your_password"
}
}
}
}
}
If you're using Claude Desktop with a manual installation, open your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the MySQL server configuration:
{
"mcpServers": {
"mysql": {
"command": "node",
"args": ["/absolute/path/to/read-only-local-mysql-mcp-server/dist/index.js"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_DATABASE": "your_database_name",
"DB_USERNAME": "your_username",
"DB_PASSWORD": "your_password"
}
}
}
}
If you're using mise for Node.js version management, make sure to use the full path to the Node.js executable in your configuration.
| Variable | Description | Default |
|---|---|---|
DB_HOST | MySQL server hostname | mysql |
DB_PORT | MySQL server port | 3306 |
DB_DATABASE | Database name | database |
DB_USERNAME | MySQL username | root |
DB_PASSWORD | MySQL password | (empty) |
"Show me all tables in my database"
"What's the structure of the users table?"
"Get the first 10 records from the products table"
"How many orders were placed last month?"
"Show me users with email addresses ending in @gmail.com"
Claude will automatically convert your natural language requests into appropriate SQL queries and execute them against your database.
connectConnect to a MySQL database using a connection string. The connection persists for subsequent queries until changed or disconnected.
Parameters:
| Parameter | Required | Description |
|---|---|---|
connectionString | Yes | MySQL connection string (e.g., mysql://user:password@host:port/database) |
disconnectDisconnect from the current runtime database and revert to the default environment-configured connection. Takes no parameters.
queryRun a read-only SQL query against the currently connected database.
Parameters:
| Parameter | Required | Description |
|---|---|---|
sql | Yes | SQL query to execute (read-only) |
connectionString | No | MySQL connection string to override the current connection for this query only |
The server supports switching databases at runtime without restarting. Connection priority:
connectionString — overrides everything for a single queryconnect tool) — persists until disconnect is calledConnection string format:
mysql://username:password@hostname:port/database_name
Example workflow:
1. connect → mysql://analyst:pass@prod-db:3306/analytics
2. query → SELECT COUNT(*) FROM events
3. query → SELECT * FROM users LIMIT 5 (uses the same analytics connection)
4. query → SELECT * FROM orders LIMIT 5, connectionString: mysql://analyst:pass@prod-db:3306/sales
(one-off override — does not change the stored connection)
5. disconnect → reverts to env var defaults
The server only allows SELECT queries. The following operations are blocked:
INSERT - Adding new recordsUPDATE - Modifying existing recordsDELETE - Removing recordsDROP - Removing tables/databasesALTER - Modifying table structureCREATE - Creating new tables/databasesFor enhanced security, create a dedicated read-only user for the MCP server:
-- Create a read-only user
CREATE USER 'claude_readonly'@'localhost' IDENTIFIED BY 'secure_password';
-- Grant only SELECT permissions on your specific database
GRANT SELECT ON your_database_name.* TO 'claude_readonly'@'localhost';
-- Apply the changes
FLUSH PRIVILEGES;
dist/index.js is correctclaude_desktop_config.json formatTo see server logs, you can run the server manually:
node dist/index.js
~/mcp-servers/mysql/
├── src/
│ └── index.ts
├── dist/
│ ├── index.js
│ └── index.d.ts
├── package.json
├── tsconfig.json
└── node_modules/
Feel free to submit issues and enhancement requests!
This project is open source and available under the MIT License.
If you encounter issues:
Note: This server is designed for development and analysis purposes. For production use, consider additional security measures and monitoring.
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by Taylorwilsdon · Productivity
Control Gmail, Calendar, Docs, Sheets, Drive, and more from your AI