MCP ExplorerExplorer

Python Mysql Mcp Server

@bensonHeon 8 days ago
1 MIT
FreeCommunity
AI Systems
# A MySQL and MCP SERVER Service Written in Python This service is designed to facilitate cursor expansion.

Overview

What is Python Mysql Mcp Server

A MySQL database server utilizing the Model Context Protocol (MCP) designed to enable database operations within the Cursor IDE environment.

Use cases

Suitable for developers needing to execute SQL queries, manage database schemas, and perform data operations through a structured IDE interface, enhancing productivity and reducing errors in database management tasks.

How to use

Install dependencies via pip, configure a mcp-config.json file with the database connection details, and integrate the MCP server settings into the Cursor IDE to start executing SQL commands directly from the platform.

Key features

Key features include data querying, data modification capabilities, schema management, metadata operations such as listing databases and tables, and robust security measures like using environment variables for database credentials.

Where to use

Ideal for environments where developers use Cursor IDE for database development, particularly when working with MySQL databases, allowing for a streamlined and secure workflow in application development.

Content

MySQL MCP Server

English | 中文

English

A MySQL database server based on MCP (Model Context Protocol) that provides database operation capabilities for Cursor IDE.

✨ Features

  • 🔍 Data Querying: Execute SELECT queries with formatted results
  • ✏️ Data Modification: Support INSERT, UPDATE, DELETE operations
  • 🏗️ Schema Management: Create tables, add columns, view table structures
  • 📊 Metadata Operations: List databases and tables, describe table structures
  • 🔒 Security: Database connection configured through environment variables
  • 🚀 Easy Integration: Seamless integration with Cursor IDE via MCP protocol

📋 Prerequisites

  • Python 3.7+
  • MySQL 5.7+ or 8.0+
  • Cursor IDE with MCP support

🚀 Installation & Setup

1. Install Dependencies

pip install -r requirements.txt

2. Configure Database Connection

Copy the example configuration file:

cp mcp-config.example.json mcp-config.json

Edit mcp-config.json with your database connection details:

{
  "mcpServers": {
    "mysql-server": {
      "command": "python",
      "args": [
        "mysql_mcp_server.py"
      ],
      "env": {
        "MYSQL_HOST": "your-mysql-host",
        "MYSQL_PORT": "3306",
        "MYSQL_DATABASE": "your-database-name",
        "MYSQL_USER": "your-username",
        "MYSQL_PASSWORD": "your-password",
        "MYSQL_CHARSET": "utf8mb4"
      }
    }
  }
}

3. Cursor IDE Integration

Add the MCP server configuration to Cursor settings:

  1. Open Cursor Settings
  2. Search for “MCP”
  3. Add your mcp-config.json configuration to MCP server settings

🛠️ Available Tools

Tool Description Example
query_database Execute SELECT queries SELECT * FROM users WHERE age > 18
execute_sql Execute INSERT/UPDATE/DELETE INSERT INTO users (name, email) VALUES (...)
create_table Create new tables Create users table with columns
add_column Add columns to existing tables Add phone column to users table
show_tables List all tables in database -
describe_table Show table structure View columns, types, constraints
show_databases List all available databases -

🔧 Environment Variables

Variable Required Default Description
MYSQL_HOST - MySQL server host
MYSQL_PORT 3306 MySQL server port
MYSQL_DATABASE - Database name
MYSQL_USER - Database username
MYSQL_PASSWORD - Database password
MYSQL_CHARSET utf8mb4 Character set
MYSQL_CONNECTION_TIMEOUT 10 Connection timeout (seconds)

🔒 Security Features

  • 🔐 Database credentials passed via environment variables
  • 🛡️ Only safe SQL operation types allowed
  • ⚠️ Query result limits to prevent large data output
  • 🔍 Basic security checks for all SQL operations

🐛 Development & Testing

Run the server directly for testing:

# Set environment variables
export MYSQL_HOST="your-host"
export MYSQL_USER="your-user"
export MYSQL_PASSWORD="your-password" 
export MYSQL_DATABASE="your-database"

# Run server
python mysql_mcp_server.py

📄 License

MIT License

🤝 Contributing

Issues and Pull Requests are welcome!


中文

一个基于 MCP (Model Context Protocol) 的 MySQL 数据库服务器,为 Cursor IDE 提供数据库操作功能。

✨ 功能特性

  • 🔍 数据查询: 执行 SELECT 查询并格式化返回结果
  • ✏️ 数据修改: 支持 INSERT, UPDATE, DELETE 操作
  • 🏗️ 结构管理: 创建表、添加列、查看表结构
  • 📊 元数据查看: 列出数据库、表,查看表结构
  • 🔒 安全控制: 通过环境变量配置数据库连接信息
  • 🚀 轻松集成: 通过 MCP 协议无缝集成到 Cursor IDE

📋 环境要求

  • Python 3.7+
  • MySQL 5.7+ 或 8.0+
  • 支持 MCP 的 Cursor IDE

🚀 安装配置

1. 安装依赖

pip install -r requirements.txt

2. 配置数据库连接

复制配置示例文件:

cp mcp-config.example.json mcp-config.json

编辑 mcp-config.json 文件,填入您的数据库连接信息:

3. Cursor IDE 集成

将 MCP 服务器配置添加到 Cursor 的设置中:

  1. 打开 Cursor 设置 (Settings)
  2. 搜索 “MCP”
  3. 在 MCP 服务器配置中添加您的 mcp-config.json 配置

🛠️ 可用工具

工具 描述 示例
query_database 执行 SELECT 查询 SELECT * FROM users WHERE age > 18
execute_sql 执行 INSERT/UPDATE/DELETE INSERT INTO users (name, email) VALUES (...)
create_table 创建新表 创建带有列定义的用户表
add_column 为现有表添加列 为用户表添加电话列
show_tables 列出数据库中的所有表 -
describe_table 查看表结构 查看列、类型、约束
show_databases 列出所有可用数据库 -

🔧 环境变量说明

变量名 必需 默认值 说明
MYSQL_HOST - MySQL 服务器地址
MYSQL_PORT 3306 MySQL 服务器端口
MYSQL_DATABASE - 数据库名称
MYSQL_USER - 数据库用户名
MYSQL_PASSWORD - 数据库密码
MYSQL_CHARSET utf8mb4 字符集
MYSQL_CONNECTION_TIMEOUT 10 连接超时时间(秒)

🔒 安全注意事项

  • 🔐 数据库凭据通过环境变量传递,避免硬编码
  • 🛡️ 只允许安全的 SQL 操作类型
  • ⚠️ 查询结果有行数限制,防止大量数据输出
  • 🔍 所有 SQL 操作都会进行基本的安全检查

🐛 开发和调试

直接运行服务器进行测试:

# 设置环境变量
export MYSQL_HOST="your-host"
export MYSQL_USER="your-user"
export MYSQL_PASSWORD="your-password"
export MYSQL_DATABASE="your-database"

# 运行服务器
python mysql_mcp_server.py

📄 许可证

MIT License

🤝 贡献

欢迎提交 Issue 和 Pull Request!

Tools

No tools

Comments