io.github.daedalus/mcp-mysql-connector

السجل الرسمي البيانات وقواعدها

MCP server exposing MySQL database functionalities as tools

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

PYPI package mcp-mysql-connector
Claude Code
claude mcp add mcp-mysql-connector -- uvx mcp-mysql-connector==0.1.1
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "mcp-mysql-connector": {
            "command": "uvx",
            "args": [
                "mcp-mysql-connector==0.1.1"
            ]
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. mcp-mysql-connector
  2. Overview
  3. Install
  4. Quick Start
  5. MCP Tools
  6. MCP Resources
  7. Usage Examples
  8. Environment Variables
  9. Development
  10. Architecture
  11. Requirements
  12. License

mcp-mysql-connector

MCP server exposing MySQL database functionalities as tools for LLM agents.

mcp-name: io.github.daedalus/mcp-mysql-connector

Overview

mcp-mysql-connector is a Model Context Protocol (MCP) server that provides MySQL database operations as tools for LLM agents. It allows AI assistants to interact with MySQL databases through a standardized protocol, enabling:

  • Database and table management
  • Query execution
  • User authentication and privilege management
  • Schema introspection
  • Transaction control

Install

pip install mcp-mysql-connector

Quick Start

Running the Server
# Run with stdio transport (default)
mcp-mysql-connector

# Or run programmatically
python -c "from mcp_mysql import mcp; mcp.run()"
Configuration

Connect to MySQL using the connect tool:

{
  "host": "localhost",
  "port": 3306,
  "user": "root",
  "password": "your_password",
  "database": "your_database"
}

MCP Tools

Connection Management
ToolDescription
connectConnect to a MySQL database
disconnectDisconnect from MySQL
is_connectedCheck connection status
commitCommit current transaction
rollbackRollback current transaction
Query Execution
ToolDescription
execute_queryExecute raw SQL query and return results
Database Operations
ToolDescription
list_databasesList all databases on server
create_databaseCreate a new database
drop_databaseDrop a database
database_existsCheck if database exists
Table Operations
ToolDescription
list_tablesList tables in a database
describe_tableGet table schema
create_tableCreate a new table
drop_tableDrop a table
table_existsCheck if table exists
Column & Index Operations
ToolDescription
show_columnsShow column details
show_indexesShow index details
create_indexCreate an index
drop_indexDrop an index
User Management
ToolDescription
create_userCreate a MySQL user
drop_userDrop a MySQL user
grant_privilegesGrant privileges to user
revoke_privilegesRevoke privileges from user
show_privilegesShow user privileges
Server Information
ToolDescription
server_statusGet MySQL server status

MCP Resources

The server provides dynamic resources for database and table metadata:

  • database://{name} - Database metadata including table list
  • table://{db}/{table} - Table metadata including schema, columns, and indexes

Usage Examples

Connect and Query
# First, connect to database
connect(host="localhost", user="root", password="secret", database="mydb")

# Execute a query
execute_query(sql="SELECT * FROM users WHERE active = true")

# List all tables
list_tables(database="mydb")
Create Database and Table
# Create a database
create_database(name="newapp")

# Create a table
create_table(name="users", schema="id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255), email VARCHAR(255) UNIQUE")
User Management
# Create a new user with password
create_user(username="app_user", host="localhost", password="secure_password")

# Grant privileges
grant_privileges(privileges="SELECT,INSERT,UPDATE,DELETE", on="newapp.*", username="app_user", host="localhost")
Transaction Control
# Start transaction
execute_query(sql="BEGIN")

# Execute operations
execute_query(sql="INSERT INTO accounts (balance) VALUES (100)")

# Commit or rollback
commit()  # or rollback()

Environment Variables

The server supports configuration via environment variables:

export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=root
export MYSQL_PASSWORD=secret
export MYSQL_DATABASE=mydb

Development

# Clone repository
git clone https://github.com/daedalus/mcp-mysql-connector.git
cd mcp-mysql-connector

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install dependencies
pip install -e ".[test]"

# Run tests
pytest

# Format code
ruff format src/ tests/

# Lint
ruff check src/ tests/

# Type check
mypy src/

Architecture

mcp-mysql-connector/
├── src/mcp_mysql/
│   ├── core/models.py       # Data models (QueryResult, TableSchema, etc.)
│   ├── adapters/mysql.py    # MySQL connection & pooling
│   ├── services/connection.py  # Connection manager
│   ├── tools/mysql_tools.py   # MCP tool implementations
│   └── mcp.py              # FastMCP server setup
└── tests/                   # Test suite

Requirements

  • Python 3.11+
  • fastmcp >= 2.0.0
  • pymysql >= 1.1.0
  • sqlparse >= 0.4.0

License

MIT License - see LICENSE for details.

الأسئلة الشائعة

ما هو io.github.daedalus/mcp-mysql-connector؟

MCP server exposing MySQL database functionalities as tools

كيف أثبّت io.github.daedalus/mcp-mysql-connector؟

يعمل على جهازك. في Claude Code: claude mcp add mcp-mysql-connector -- uvx mcp-mysql-connector==0.1.1. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.daedalus/mcp-mysql-connector إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل io.github.daedalus/mcp-mysql-connector مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون io.github.daedalus/mcp-mysql-connector؟

ينشره daedalus. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.