Integrations
Uses .env files for configuration and secure management of database credentials and connection parameters
Offers cross-platform compatibility for Linux systems with specified log file locations and installation instructions
Provides cross-platform support for macOS with documented log file locations and installation procedures
MySQL Navigator MCP
A powerful MySQL/MariaDB database navigation tool using MCP (Model Control Protocol) for easy database querying and management.
Features
- Connect to MySQL/MariaDB databases
- Switch between different databases dynamically
- Execute SQL queries with type safety
- Retrieve database schema information
- Pydantic model validation for query parameters
- Secure credential management
- Comprehensive logging system
- Connection pooling and retry mechanisms
- SSL/TLS support for secure connections
Log File Location (Cross-Platform)
By default, all logs are written to:
- Windows:
C:\Users\<YourUsername>\.mcp\mcp-db.log
- macOS/Linux:
/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:
macOS/Linux:
Installation
From PyPI (recommended for most users):
From source (for development):
- Create a
.env
file with your database credentials:
Usage Examples
1. Command Line
Run the MCP server directly from your terminal:
2. In Cursor
To use this MCP server in Cursor:
- Open Cursor settings and add a new MCP server.
- Use the following configuration (example):
- Make sure the path to your
.env
file is absolute.
3. In Claude Desktop
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.
Query Parameters
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 conditions
Security Features
- Database credentials are managed through a config file
- Passwords are stored as SecretStr in Pydantic models
- Input validation for all query parameters
- SQL injection prevention through parameterized queries
- SSL/TLS support for encrypted connections
- Connection string sanitization
- Rate limiting for queries
- Query parameter sanitization
Production Features
Error Handling
- Comprehensive error handling for database operations
- Connection timeout handling
- Automatic retry mechanism for failed connections
- Input validation for all parameters
Performance
- Connection pooling for optimal resource usage
- Query execution time logging
- Connection pool statistics
- Performance metrics collection
Monitoring
- Structured logging with different log levels
- Query execution tracking
- Connection state monitoring
- Error rate tracking
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
MySQL Navigator MCP
Related MCP Servers
- -securityFlicense-qualityA TypeScript-based MCP server that facilitates SQL query execution and MySQL database connectivity using environment variables.Last updated -25JavaScript
- AsecurityAlicenseAqualityAn MCP server that provides read-only access to MySQL databases.Last updated -469517JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.Last updated -TypeScriptMIT License
- AsecurityFlicenseAqualityMCP server that allows Claude AI to interact directly with MySQL databases, enabling query execution and table information retrieval through natural language.Last updated -163JavaScript