Skip to main content
Glama
xiangma9712

MySQL MCP Server

MySQL MCP 서버

MySQL 데이터베이스와 상호작용하기 위한 MCP 서버.

이 서버는 읽기 전용 쿼리(query) 실행과 최종적으로 롤백되는 쓰기 쿼리(test_execute) 실행을 지원합니다.

설정

환경 변수

~/.mcp/.env 에 다음 환경 변수를 추가합니다.

지엑스피1

참고 : host.docker.internal 은 Docker 컨테이너에서 호스트 머신 서비스에 액세스하기 위한 특수 DNS 이름입니다. 호스트 머신에서 실행 중인 MySQL 서버에 연결할 때 이 설정을 사용하세요. 다른 MySQL 서버에 연결하는 경우 적절한 호스트 이름으로 변경하세요.

mcp.json 구성

{
  "mcpServers": {
    "mysql": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--add-host=host.docker.internal:host-gateway",
        "--env-file",
        "/Users/username/.mcp/.env",
        "ghcr.io/xiangma9712/mcp/mysql"
      ]
    }
  }
}

Related MCP server: MySql MCP Server

용법

서버 시작

docker run -i --rm --add-host=host.docker.internal:host-gateway --env-file ~/.mcp/.env ghcr.io/xiangma9712/mcp/mysql

참고 : OrbStack을 사용하는 경우 host.docker.internal 자동으로 지원되므로 --add-host 옵션을 생략할 수 있습니다. Docker Desktop도 일반적으로 이 옵션을 자동으로 지원하지만, 안정성 향상을 위해 --add-host 옵션을 추가하는 것이 좋습니다.

사용 가능한 명령

1. 읽기 전용 쿼리 실행

{
  "type": "query",
  "payload": {
    "sql": "SELECT * FROM your_table"
  }
}

응답:

{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "example"
    }
  ]
}

2. 테스트 쿼리 실행

{
  "type": "test_execute",
  "payload": {
    "sql": "UPDATE your_table SET name = 'updated' WHERE id = 1"
  }
}

응답:

{
  "success": true,
  "data": "The UPDATE SQL query can be executed."
}

3. 테이블 나열

{
  "type": "list_tables"
}

응답:

{
  "success": true,
  "data": ["table1", "table2", "table3"]
}

4. 테이블 설명

{
  "type": "describe_table",
  "payload": {
    "table": "your_table"
  }
}

응답:

{
  "success": true,
  "data": [
    {
      "Field": "id",
      "Type": "int(11)",
      "Null": "NO",
      "Key": "PRI",
      "Default": null,
      "Extra": ""
    },
    {
      "Field": "name",
      "Type": "varchar(255)",
      "Null": "YES",
      "Key": "",
      "Default": null,
      "Extra": ""
    }
  ]
}

구현 세부 사항

  • TypeScript로 구현됨

  • mysql2 패키지를 사용합니다

  • Docker 컨테이너로 실행됩니다

  • 표준 입력을 통해 JSON 명령을 수락합니다.

  • 표준 출력을 통해 JSON 응답을 반환합니다.

  • host.docker.internal 사용하여 호스트 MySQL에 연결합니다(OrbStack 및 Docker Desktop과 호환).

보안 고려 사항

  • 민감한 정보 관리를 위해 환경 변수를 사용합니다.

  • SQL 주입 방지는 구현자의 책임입니다.

  • 프로덕션 사용에 적합한 네트워크 구성이 필요합니다.

  • 호스트 머신 서비스에 연결할 때 적절한 방화벽 설정이 필요합니다.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xiangma9712/mysql-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server