mcp db navigator
MySQL Navigator MCP
MySQL Navigator MCP
A powerful MySQL/MariaDB database navigation tool using MCP (Model Control Protocol) for easy database querying and management.
By default, all logs are written to:
C:Users<YourUsername>.mcpmcp-db.log
/home/<yourusername>/.mcp/mcp-db.log
or /Users/<yourusername>/.mcp/mcp-db.log
If the .mcp
folder does not exist in your home directory, the application will automatically create it. If you run into any issues, you can manually create the folder:
Windows:
mkdir $env:USERPROFILE.mcp
macOS/Linux:
mkdir -p ~/.mcp
pip install mcp-db-navigator
git clone <your-repo-url>
cd mcp-db
pip install -e .
.env
file with your database credentials:
DB_HOST=your_host
DB_PORT=your_port
DB_NAME=your_database_name
DB_USER=your_username
DB_PASSWORD=your_password
DB_SSL_CA=/path/to/ssl/ca.pem # Optional: for SSL/TLS connections
DB_MAX_RETRIES=3 # Optional: number of connection retries
DB_RETRY_DELAY=1.0 # Optional: delay between retries in seconds
Run the MCP server directly from your terminal:
mcp-db --config /path/to/your/project/.env
To use this MCP server in Cursor: - Open Cursor settings and add a new MCP server. - Use the following configuration (example):
{
"mcpServers": {
"mysql-navigator": {
"command": "mcp-db",
"args": [
"--config",
"/absolute/path/to/your/.env"
]
}
}
}
- Make sure the path to your .env
file is absolute.
If Claude Desktop supports MCP servers:
- Add a new MCP server and point it to the mcp-db
command with the --config
argument as above.
- Refer to Claude Desktop s documentation for details on adding custom MCP servers.
The query dictionary supports the following parameters:
table_name
(required): Name of the table to queryselect_fields
(optional): List of fields to select (defaults to ["*"])where_conditions
(optional): Dictionary of field-value pairs for WHERE clauseorder_by
(optional): List of fields to order byorder_direction
(optional): Sort direction "ASC" or "DESC" (default: "ASC")limit
(optional): Number of records to returnoffset
(optional): Number of records to skipgroup_by
(optional): List of fields to group byhaving
(optional): Dictionary of field-value pairs for HAVING clausejoin_table
(optional): Name of the table to join withjoin_type
(optional): Type of JOIN operation (default: "INNER")join_conditions
(optional): Dictionary of join conditionsgit checkout -b feature/amazing-feature
)git commit -m Add some amazing feature
)git push origin feature/amazing-feature
)This project is licensed under the MIT License - see the LICENSE file for details.