Labsco
aqara-docs logo

MySQL MCP Server

from aqara-docs

Enables secure interaction with MySQL databases, allowing AI assistants to list tables, read data, and execute SQL queries through a controlled interface.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredNeeds API keys

Smithery AI์— ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ ์‚ฌ์ดํŠธ์˜ ์ฝ”๋“œ๋ฅผ ํ•œ๊ธ€๋กœ๋งŒ ๋ฐ”๊ฟ”์„œ ์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค.

#https://github.com/designcomputer/mysql_mcp_server

MySQL MCP ์„œ๋ฒ„

MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์•ˆ์ „ํ•œ ์ƒํ˜ธ์ž‘์šฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” Model Context Protocol (MCP) ๊ตฌํ˜„์ฒด์ž…๋‹ˆ๋‹ค. ์ด ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋Š” AI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(ํ˜ธ์ŠคํŠธ/ํด๋ผ์ด์–ธํŠธ)๊ณผ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์˜ ํ†ต์‹ ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜์—ฌ, ์ œ์–ด๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํƒ์ƒ‰ ๋ฐ ๋ถ„์„์„ ๋” ์•ˆ์ „ํ•˜๊ณ  ๊ตฌ์กฐํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ : MySQL MCP ์„œ๋ฒ„๋Š” ๋…๋ฆฝ ์‹คํ–‰ํ˜• ์„œ๋ฒ„๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค๊ณ„๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ, AI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์˜ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ ๊ตฌํ˜„์ฒด๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ MySQL ํ…Œ์ด๋ธ”์„ ๋ฆฌ์†Œ์Šค๋กœ ๋‚˜์—ด
  • ํ…Œ์ด๋ธ” ๋‚ด์šฉ ์ฝ๊ธฐ
  • ์ ์ ˆํ•œ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๊ฐ€ ํฌํ•จ๋œ SQL ์ฟผ๋ฆฌ ์‹คํ–‰
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•œ ์•ˆ์ „ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ
  • ํฌ๊ด„์ ์ธ ๋กœ๊น…

์„ค์น˜

์ˆ˜๋™ ์„ค์น˜

pip install mysql-mcp-server

Smithery๋ฅผ ํ†ตํ•œ ์„ค์น˜

Smithery๋ฅผ ํ†ตํ•ด Claude Desktop์šฉ MySQL MCP ์„œ๋ฒ„๋ฅผ ์ž๋™์œผ๋กœ ์„ค์น˜ํ•˜๋ ค๋ฉด:

npx -y @smithery/cli install mysql-mcp-server --client claude

์„ค์ •

๋‹ค์Œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์„ธ์š”:

MYSQL_HOST=localhost     # ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ˜ธ์ŠคํŠธ
MYSQL_PORT=3306         # ์„ ํƒ์‚ฌํ•ญ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํฌํŠธ (์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’ 3306)
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database

์‚ฌ์šฉ๋ฒ•

Claude Desktop๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ

claude_desktop_config.json์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

{
  "mcpServers": {
    "mysql": {
      "command": "uv",
      "args": [
        "--directory", 
        "path/to/mysql_mcp_server",
        "run",
        "mysql_mcp_server"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

Visual Studio Code์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ

mcp.json์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

{
  "servers": {
      "mysql": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "--from",
                "mysql-mcp-server",
                "mysql_mcp_server"
            ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
  }
}

์ฐธ๊ณ : ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด uv๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

MCP Inspector๋กœ ๋””๋ฒ„๊น…

MySQL MCP ์„œ๋ฒ„๋Š” ๋…๋ฆฝ ์‹คํ–‰ํ˜•์œผ๋กœ ๋˜๋Š” Python์„ ํ†ตํ•ด ์ง์ ‘ ๋ช…๋ น์ค„์—์„œ ์‹คํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋˜์ง€ ์•Š์•˜์ง€๋งŒ, MCP Inspector๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MCP Inspector๋Š” MCP ๊ตฌํ˜„์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๋Š” ํŽธ๋ฆฌํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

# ์˜์กด์„ฑ ์„ค์น˜
pip install -r requirements.txt
# ๋””๋ฒ„๊น…์„ ์œ„ํ•ด MCP Inspector ์‚ฌ์šฉ (Python์œผ๋กœ ์ง์ ‘ ์‹คํ–‰ํ•˜์ง€ ๋งˆ์„ธ์š”)

MySQL MCP ์„œ๋ฒ„๋Š” Claude Desktop๊ณผ ๊ฐ™์€ AI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ†ตํ•ฉ๋˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ๋…๋ฆฝ ์‹คํ–‰ํ˜• Python ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ง์ ‘ ์‹คํ–‰ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ

# ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/yourusername/mysql_mcp_server.git
cd mysql_mcp_server
# ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ƒ์„ฑ
python -m venv venv
source venv/bin/activate  # Windows์—์„œ๋Š” `venv\Scripts\activate`
# ๊ฐœ๋ฐœ ์˜์กด์„ฑ ์„ค์น˜
pip install -r requirements-dev.txt
# ํ…Œ์ŠคํŠธ ์‹คํ–‰
pytest

๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ

  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋‚˜ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ ˆ๋Œ€ ์ปค๋ฐ‹ํ•˜์ง€ ๋งˆ์„ธ์š”
  • ์ตœ์†Œํ•œ์˜ ํ•„์š”ํ•œ ๊ถŒํ•œ๋งŒ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์ž๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”
  • ํ”„๋กœ๋•์…˜ ์‚ฌ์šฉ์„ ์œ„ํ•ด ์ฟผ๋ฆฌ ํ™”์ดํŠธ๋ฆฌ์ŠคํŒ… ๊ตฌํ˜„์„ ๊ณ ๋ คํ•˜์„ธ์š”
  • ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋กœ๊น…ํ•˜์„ธ์š”

๋ณด์•ˆ ๋ชจ๋ฒ” ์‚ฌ๋ก€

์ด MCP ๊ตฌํ˜„์€ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ์„ ์œ„ํ•ด:

  1. ์ตœ์†Œ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์ „์šฉ MySQL ์‚ฌ์šฉ์ž ์ƒ์„ฑ
  2. ๋ฃจํŠธ ์ž๊ฒฉ ์ฆ๋ช…์ด๋‚˜ ๊ด€๋ฆฌ์ž ๊ณ„์ •์„ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ
  3. ํ•„์š”ํ•œ ์ž‘์—…์—๋งŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ ์ œํ•œ
  4. ๊ฐ์‚ฌ ๋ชฉ์ ์œผ๋กœ ๋กœ๊น… ํ™œ์„ฑํ™”
  5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ์— ๋Œ€ํ•œ ์ •๊ธฐ์ ์ธ ๋ณด์•ˆ ๊ฒ€ํ† 

์ž์„ธํ•œ ์ง€์นจ์€ MySQL ๋ณด์•ˆ ์„ค์ • ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”:

  • ์ œํ•œ๋œ MySQL ์‚ฌ์šฉ์ž ์ƒ์„ฑ
  • ์ ์ ˆํ•œ ๊ถŒํ•œ ์„ค์ •
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ ๋ชจ๋‹ˆํ„ฐ๋ง
  • ๋ณด์•ˆ ๋ชจ๋ฒ” ์‚ฌ๋ก€

โš ๏ธ ์ค‘์š”: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ์„ ๊ตฌ์„ฑํ•  ๋•Œ ํ•ญ์ƒ ์ตœ์†Œ ๊ถŒํ•œ ์›์น™์„ ๋”ฐ๋ฅด์„ธ์š”.

๋ผ์ด์„ ์Šค

MIT ๋ผ์ด์„ ์Šค - ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ธฐ์—ฌํ•˜๊ธฐ

  1. ์ €์žฅ์†Œ๋ฅผ ํฌํฌํ•˜์„ธ์š”
  2. ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š” (git checkout -b feature/amazing-feature)
  3. ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ํ•˜์„ธ์š” (git commit -m 'Add some amazing feature')
  4. ๋ธŒ๋žœ์น˜์— ํ‘ธ์‹œํ•˜์„ธ์š” (git push origin feature/amazing-feature)
  5. Pull Request๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”