Skip to main content
Glama
Ahngbeom

MySQL MCP Server

by Ahngbeom
README.md
# MySQL MCP Server

Claude Code에서 MySQL 데이터베이스에 접근하기 위한 **읽기 전용** MCP(Model Context Protocol) 서버입니다.

## 특징

- **읽기 전용**: `SELECT`, `SHOW`, `DESCRIBE`, `EXPLAIN` 쿼리만 허용
- **안전한 연결**: Connection Pool 사용 (최대 5개 연결)
- **6가지 도구 제공**: 쿼리 실행, 테이블 목록, 스키마 조회, 인덱스 확인, DDL 조회, 실행 계획 분석

## 설치

```bash
npm install @ahngbeom/mysql-mcp-server
```

## Claude Code 설정

`~/.claude.json` 또는 프로젝트의 `.mcp.json`에 추가:

```json
{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["@ahngbeom/mysql-mcp-server"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_user",
        "MYSQL_PASS": "your_password",
        "MYSQL_DB": "your_database"
      }
    }
  }
}
```

## 환경 변수

| 변수 | 설명 | 기본값 |
|------|------|--------|
| `MYSQL_HOST` | MySQL 호스트 | `localhost` |
| `MYSQL_PORT` | MySQL 포트 | `3306` |
| `MYSQL_USER` | 사용자 이름 | `root` |
| `MYSQL_PASS` | 비밀번호 | (없음) |
| `MYSQL_DB` | 데이터베이스 이름 | `mysql` |

## 제공 도구

| 도구 | 설명 | 예시 |
|------|------|------|
| `query` | 읽기 전용 SQL 쿼리 실행 | `SELECT * FROM users LIMIT 10` |
| `list_tables` | 데이터베이스의 모든 테이블 조회 | - |
| `describe_table` | 테이블 구조 (컬럼, 타입, 키) 확인 | `users` |
| `show_indexes` | 테이블의 인덱스 정보 조회 | `users` |
| `show_create_table` | CREATE TABLE 문 확인 | `users` |
| `explain` | 쿼리 실행 계획 분석 | `SELECT * FROM users WHERE id = 1` |

## 보안

- `INSERT`, `UPDATE`, `DELETE`, `DROP` 등 쓰기 쿼리는 차단됩니다
- 프로덕션 환경에서는 **읽기 전용 DB 계정** 사용을 권장합니다

## 라이선스

MIT