@imrieul/mysql-mcp-server 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/README.es.md +0 -150
- package/README.fr.md +0 -150
- package/README.ja.md +0 -150
- package/README.ko.md +0 -150
- package/README.pt.md +0 -150
- package/README.ru.md +0 -150
- package/README.zh.md +0 -150
package/README.fr.md
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
# @imrieul/mysql-mcp-server
|
|
2
|
-
|
|
3
|
-
[English](./README.md) | [한국어](./README.ko.md) | [日本語](./README.ja.md) | [中文](./README.zh.md) | [Español](./README.es.md) | [Português](./README.pt.md) | [Русский](./README.ru.md)
|
|
4
|
-
|
|
5
|
-
Un serveur [MCP](https://modelcontextprotocol.io/) MySQL simple.
|
|
6
|
-
|
|
7
|
-
## Fonctionnalités
|
|
8
|
-
|
|
9
|
-
- **Compatible LLM** — format colonnes/lignes compact, LIMIT automatique, suggestions d'actions suite aux erreurs
|
|
10
|
-
- **Schéma en masse** — `describe_all_tables` retourne le schéma complet de la base en un seul appel
|
|
11
|
-
- **Mode lecture seule** — vérification au niveau applicatif + `SET SESSION TRANSACTION READ ONLY` au niveau base de données
|
|
12
|
-
- **Timeout des requêtes** — timeout basé sur `Promise.race()` avec nettoyage garanti des connexions
|
|
13
|
-
- **Support SSL** — une seule variable d'environnement pour activer les connexions chiffrées
|
|
14
|
-
- **Minimal** — 3 dépendances, aucune configuration requise
|
|
15
|
-
|
|
16
|
-
## Démarrage rapide
|
|
17
|
-
|
|
18
|
-
Ajoutez à votre configuration MCP (`.mcp.json` ou `claude_desktop_config.json`) :
|
|
19
|
-
|
|
20
|
-
```json
|
|
21
|
-
{
|
|
22
|
-
"mcpServers": {
|
|
23
|
-
"mysql": {
|
|
24
|
-
"command": "npx",
|
|
25
|
-
"args": ["-y", "@imrieul/mysql-mcp-server"],
|
|
26
|
-
"env": {
|
|
27
|
-
"MYSQL_HOST": "localhost",
|
|
28
|
-
"MYSQL_PORT": "3306",
|
|
29
|
-
"MYSQL_USER": "root",
|
|
30
|
-
"MYSQL_PASSWORD": "your-password",
|
|
31
|
-
"MYSQL_DATABASE": "your-database"
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Ou avec une chaîne de connexion :
|
|
39
|
-
|
|
40
|
-
```json
|
|
41
|
-
{
|
|
42
|
-
"mcpServers": {
|
|
43
|
-
"mysql": {
|
|
44
|
-
"command": "npx",
|
|
45
|
-
"args": ["-y", "@imrieul/mysql-mcp-server", "mysql://root:password@localhost:3306/mydb"]
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Codex
|
|
52
|
-
|
|
53
|
-
Codex utilise une configuration TOML, pas le JSON `mcpServers`. Ajoutez ceci à `~/.codex/config.toml` ou à un `.codex/config.toml` limité au projet :
|
|
54
|
-
|
|
55
|
-
```toml
|
|
56
|
-
[mcp_servers.mysql]
|
|
57
|
-
command = "npx"
|
|
58
|
-
args = ["-y", "@imrieul/mysql-mcp-server"]
|
|
59
|
-
|
|
60
|
-
[mcp_servers.mysql.env]
|
|
61
|
-
MYSQL_HOST = "localhost"
|
|
62
|
-
MYSQL_PORT = "3306"
|
|
63
|
-
MYSQL_USER = "root"
|
|
64
|
-
MYSQL_PASSWORD = "your-password"
|
|
65
|
-
MYSQL_DATABASE = "your-database"
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### opencode
|
|
69
|
-
|
|
70
|
-
Ajoutez ceci à `opencode.json` ou `opencode.jsonc` :
|
|
71
|
-
|
|
72
|
-
```json
|
|
73
|
-
{
|
|
74
|
-
"$schema": "https://opencode.ai/config.json",
|
|
75
|
-
"mcp": {
|
|
76
|
-
"mysql": {
|
|
77
|
-
"type": "local",
|
|
78
|
-
"command": ["npx", "-y", "@imrieul/mysql-mcp-server"],
|
|
79
|
-
"enabled": true,
|
|
80
|
-
"environment": {
|
|
81
|
-
"MYSQL_HOST": "localhost",
|
|
82
|
-
"MYSQL_PORT": "3306",
|
|
83
|
-
"MYSQL_USER": "root",
|
|
84
|
-
"MYSQL_PASSWORD": "your-password",
|
|
85
|
-
"MYSQL_DATABASE": "your-database"
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### Mode lecture seule avec SSL
|
|
93
|
-
|
|
94
|
-
```json
|
|
95
|
-
{
|
|
96
|
-
"mcpServers": {
|
|
97
|
-
"mysql": {
|
|
98
|
-
"command": "npx",
|
|
99
|
-
"args": ["-y", "@imrieul/mysql-mcp-server", "--readonly"],
|
|
100
|
-
"env": {
|
|
101
|
-
"MYSQL_HOST": "db.example.com",
|
|
102
|
-
"MYSQL_USER": "readonly_user",
|
|
103
|
-
"MYSQL_PASSWORD": "password",
|
|
104
|
-
"MYSQL_DATABASE": "production",
|
|
105
|
-
"MYSQL_SSL": "true",
|
|
106
|
-
"MYSQL_QUERY_TIMEOUT": "10000"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Outils
|
|
114
|
-
|
|
115
|
-
| Outil | Description | Mode lecture seule |
|
|
116
|
-
|------|-------------|----------------|
|
|
117
|
-
| `query` | Exécuter SELECT, SHOW, DESCRIBE, EXPLAIN | Autorisé |
|
|
118
|
-
| `execute` | Exécuter INSERT, UPDATE, DELETE, DDL | Bloqué |
|
|
119
|
-
| `list_databases` | Lister toutes les bases de données | Autorisé |
|
|
120
|
-
| `list_tables` | Lister les tables d'une base de données | Autorisé |
|
|
121
|
-
| `describe_table` | Afficher le schéma d'une table | Autorisé |
|
|
122
|
-
| `describe_all_tables` | Afficher tous les schémas de tables en une fois | Autorisé |
|
|
123
|
-
|
|
124
|
-
## Configuration
|
|
125
|
-
|
|
126
|
-
### Variables d'environnement
|
|
127
|
-
|
|
128
|
-
| Variable | Requis | Défaut | Description |
|
|
129
|
-
|----------|----------|---------|-------------|
|
|
130
|
-
| `MYSQL_HOST` | Oui | — | Hôte MySQL |
|
|
131
|
-
| `MYSQL_USER` | Oui | — | Utilisateur MySQL |
|
|
132
|
-
| `MYSQL_PASSWORD` | Oui | — | Mot de passe MySQL |
|
|
133
|
-
| `MYSQL_PORT` | Non | `3306` | Port MySQL |
|
|
134
|
-
| `MYSQL_DATABASE` | Non | — | Base de données par défaut |
|
|
135
|
-
| `MYSQL_READONLY` | Non | `false` | Mode lecture seule |
|
|
136
|
-
| `MYSQL_MAX_ROWS` | Non | `100` | LIMIT automatique pour les requêtes SELECT |
|
|
137
|
-
| `MYSQL_QUERY_TIMEOUT` | Non | `30000` | Timeout des requêtes en ms (0 pour désactiver) |
|
|
138
|
-
| `MYSQL_SSL` | Non | `false` | Activer la connexion SSL |
|
|
139
|
-
|
|
140
|
-
### Chaîne de connexion
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
mysql://user:password@host:port/database
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
Passée comme premier argument CLI. Prioritaire sur les variables d'environnement.
|
|
147
|
-
|
|
148
|
-
## Licence
|
|
149
|
-
|
|
150
|
-
MIT
|
package/README.ja.md
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
# @imrieul/mysql-mcp-server
|
|
2
|
-
|
|
3
|
-
[English](./README.md) | [한국어](./README.ko.md) | [中文](./README.zh.md) | [Español](./README.es.md) | [Português](./README.pt.md) | [Français](./README.fr.md) | [Русский](./README.ru.md)
|
|
4
|
-
|
|
5
|
-
シンプルなMySQL [MCP](https://modelcontextprotocol.io/)サーバーです。
|
|
6
|
-
|
|
7
|
-
## 特徴
|
|
8
|
-
|
|
9
|
-
- **LLM最適化** — コンパクトなカラム/行形式、自動LIMIT、次のアクション提案を含むエラーヒント
|
|
10
|
-
- **一括スキーマ取得** — `describe_all_tables`で全データベーススキーマを一度に取得
|
|
11
|
-
- **読み取り専用モード** — アプリケーションレベルのプレフィックスチェック + データベースレベルの`SET SESSION TRANSACTION READ ONLY`
|
|
12
|
-
- **クエリタイムアウト** — `Promise.race()`ベースのタイムアウトと確実なコネクションクリーンアップ
|
|
13
|
-
- **SSL対応** — 環境変数1つで暗号化接続を有効化
|
|
14
|
-
- **ミニマル** — 依存関係3つ、設定不要
|
|
15
|
-
|
|
16
|
-
## クイックスタート
|
|
17
|
-
|
|
18
|
-
MCPの設定ファイル(`.mcp.json`または`claude_desktop_config.json`)に追加してください。
|
|
19
|
-
|
|
20
|
-
```json
|
|
21
|
-
{
|
|
22
|
-
"mcpServers": {
|
|
23
|
-
"mysql": {
|
|
24
|
-
"command": "npx",
|
|
25
|
-
"args": ["-y", "@imrieul/mysql-mcp-server"],
|
|
26
|
-
"env": {
|
|
27
|
-
"MYSQL_HOST": "localhost",
|
|
28
|
-
"MYSQL_PORT": "3306",
|
|
29
|
-
"MYSQL_USER": "root",
|
|
30
|
-
"MYSQL_PASSWORD": "your-password",
|
|
31
|
-
"MYSQL_DATABASE": "your-database"
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
接続文字列を使用する場合:
|
|
39
|
-
|
|
40
|
-
```json
|
|
41
|
-
{
|
|
42
|
-
"mcpServers": {
|
|
43
|
-
"mysql": {
|
|
44
|
-
"command": "npx",
|
|
45
|
-
"args": ["-y", "@imrieul/mysql-mcp-server", "mysql://root:password@localhost:3306/mydb"]
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Codex
|
|
52
|
-
|
|
53
|
-
Codexは`mcpServers` JSONではなくTOML設定を使用します。`~/.codex/config.toml`またはプロジェクトスコープの`.codex/config.toml`に追加してください。
|
|
54
|
-
|
|
55
|
-
```toml
|
|
56
|
-
[mcp_servers.mysql]
|
|
57
|
-
command = "npx"
|
|
58
|
-
args = ["-y", "@imrieul/mysql-mcp-server"]
|
|
59
|
-
|
|
60
|
-
[mcp_servers.mysql.env]
|
|
61
|
-
MYSQL_HOST = "localhost"
|
|
62
|
-
MYSQL_PORT = "3306"
|
|
63
|
-
MYSQL_USER = "root"
|
|
64
|
-
MYSQL_PASSWORD = "your-password"
|
|
65
|
-
MYSQL_DATABASE = "your-database"
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### opencode
|
|
69
|
-
|
|
70
|
-
`opencode.json`または`opencode.jsonc`に追加してください。
|
|
71
|
-
|
|
72
|
-
```json
|
|
73
|
-
{
|
|
74
|
-
"$schema": "https://opencode.ai/config.json",
|
|
75
|
-
"mcp": {
|
|
76
|
-
"mysql": {
|
|
77
|
-
"type": "local",
|
|
78
|
-
"command": ["npx", "-y", "@imrieul/mysql-mcp-server"],
|
|
79
|
-
"enabled": true,
|
|
80
|
-
"environment": {
|
|
81
|
-
"MYSQL_HOST": "localhost",
|
|
82
|
-
"MYSQL_PORT": "3306",
|
|
83
|
-
"MYSQL_USER": "root",
|
|
84
|
-
"MYSQL_PASSWORD": "your-password",
|
|
85
|
-
"MYSQL_DATABASE": "your-database"
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### SSLを使用した読み取り専用モード
|
|
93
|
-
|
|
94
|
-
```json
|
|
95
|
-
{
|
|
96
|
-
"mcpServers": {
|
|
97
|
-
"mysql": {
|
|
98
|
-
"command": "npx",
|
|
99
|
-
"args": ["-y", "@imrieul/mysql-mcp-server", "--readonly"],
|
|
100
|
-
"env": {
|
|
101
|
-
"MYSQL_HOST": "db.example.com",
|
|
102
|
-
"MYSQL_USER": "readonly_user",
|
|
103
|
-
"MYSQL_PASSWORD": "password",
|
|
104
|
-
"MYSQL_DATABASE": "production",
|
|
105
|
-
"MYSQL_SSL": "true",
|
|
106
|
-
"MYSQL_QUERY_TIMEOUT": "10000"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## ツール
|
|
114
|
-
|
|
115
|
-
| Tool | Description | Read-only mode |
|
|
116
|
-
|------|-------------|----------------|
|
|
117
|
-
| `query` | SELECT, SHOW, DESCRIBE, EXPLAINの実行 | 許可 |
|
|
118
|
-
| `execute` | INSERT, UPDATE, DELETE, DDLの実行 | ブロック |
|
|
119
|
-
| `list_databases` | 全データベースの一覧表示 | 許可 |
|
|
120
|
-
| `list_tables` | データベース内のテーブル一覧表示 | 許可 |
|
|
121
|
-
| `describe_table` | テーブルスキーマの表示 | 許可 |
|
|
122
|
-
| `describe_all_tables` | 全テーブルスキーマの一括表示 | 許可 |
|
|
123
|
-
|
|
124
|
-
## 設定
|
|
125
|
-
|
|
126
|
-
### 環境変数
|
|
127
|
-
|
|
128
|
-
| Variable | Required | Default | Description |
|
|
129
|
-
|----------|----------|---------|-------------|
|
|
130
|
-
| `MYSQL_HOST` | はい | — | MySQLホスト |
|
|
131
|
-
| `MYSQL_USER` | はい | — | MySQLユーザー |
|
|
132
|
-
| `MYSQL_PASSWORD` | はい | — | MySQLパスワード |
|
|
133
|
-
| `MYSQL_PORT` | いいえ | `3306` | MySQLポート |
|
|
134
|
-
| `MYSQL_DATABASE` | いいえ | — | デフォルトデータベース |
|
|
135
|
-
| `MYSQL_READONLY` | いいえ | `false` | 読み取り専用モード |
|
|
136
|
-
| `MYSQL_MAX_ROWS` | いいえ | `100` | SELECTクエリの自動LIMIT |
|
|
137
|
-
| `MYSQL_QUERY_TIMEOUT` | いいえ | `30000` | クエリタイムアウト(ミリ秒、0で無効化) |
|
|
138
|
-
| `MYSQL_SSL` | いいえ | `false` | SSL接続を有効化 |
|
|
139
|
-
|
|
140
|
-
### 接続文字列
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
mysql://user:password@host:port/database
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
最初のCLI引数として渡されます。環境変数より優先されます。
|
|
147
|
-
|
|
148
|
-
## ライセンス
|
|
149
|
-
|
|
150
|
-
MIT
|
package/README.ko.md
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
# @imrieul/mysql-mcp-server
|
|
2
|
-
|
|
3
|
-
[English](./README.md) | [日本語](./README.ja.md) | [中文](./README.zh.md) | [Español](./README.es.md) | [Português](./README.pt.md) | [Français](./README.fr.md) | [Русский](./README.ru.md)
|
|
4
|
-
|
|
5
|
-
간단한 MySQL [MCP](https://modelcontextprotocol.io/) 서버입니다.
|
|
6
|
-
|
|
7
|
-
## 특징
|
|
8
|
-
|
|
9
|
-
- **LLM 친화적** — 압축된 컬럼/행 형식, 자동 LIMIT, 다음 작업 제안이 포함된 오류 힌트
|
|
10
|
-
- **일괄 스키마 조회** — `describe_all_tables`로 전체 DB 스키마를 한 번에 조회
|
|
11
|
-
- **읽기 전용 모드** — 애플리케이션 레벨 접두사 검사 + DB 레벨 `SET SESSION TRANSACTION READ ONLY`
|
|
12
|
-
- **쿼리 타임아웃** — `Promise.race()` 기반 타임아웃 및 연결 정리 보장
|
|
13
|
-
- **SSL 지원** — 환경 변수 하나로 암호화된 연결 활성화
|
|
14
|
-
- **미니멀** — 3개의 의존성, 설정 불필요
|
|
15
|
-
|
|
16
|
-
## 빠른 시작
|
|
17
|
-
|
|
18
|
-
MCP 설정 파일(`.mcp.json` 또는 `claude_desktop_config.json`)에 추가하세요:
|
|
19
|
-
|
|
20
|
-
```json
|
|
21
|
-
{
|
|
22
|
-
"mcpServers": {
|
|
23
|
-
"mysql": {
|
|
24
|
-
"command": "npx",
|
|
25
|
-
"args": ["-y", "@imrieul/mysql-mcp-server"],
|
|
26
|
-
"env": {
|
|
27
|
-
"MYSQL_HOST": "localhost",
|
|
28
|
-
"MYSQL_PORT": "3306",
|
|
29
|
-
"MYSQL_USER": "root",
|
|
30
|
-
"MYSQL_PASSWORD": "your-password",
|
|
31
|
-
"MYSQL_DATABASE": "your-database"
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
또는 연결 문자열 사용:
|
|
39
|
-
|
|
40
|
-
```json
|
|
41
|
-
{
|
|
42
|
-
"mcpServers": {
|
|
43
|
-
"mysql": {
|
|
44
|
-
"command": "npx",
|
|
45
|
-
"args": ["-y", "@imrieul/mysql-mcp-server", "mysql://root:password@localhost:3306/mydb"]
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Codex
|
|
52
|
-
|
|
53
|
-
Codex는 `mcpServers` JSON이 아니라 TOML 설정을 사용합니다. `~/.codex/config.toml` 또는 프로젝트 범위의 `.codex/config.toml`에 추가하세요:
|
|
54
|
-
|
|
55
|
-
```toml
|
|
56
|
-
[mcp_servers.mysql]
|
|
57
|
-
command = "npx"
|
|
58
|
-
args = ["-y", "@imrieul/mysql-mcp-server"]
|
|
59
|
-
|
|
60
|
-
[mcp_servers.mysql.env]
|
|
61
|
-
MYSQL_HOST = "localhost"
|
|
62
|
-
MYSQL_PORT = "3306"
|
|
63
|
-
MYSQL_USER = "root"
|
|
64
|
-
MYSQL_PASSWORD = "your-password"
|
|
65
|
-
MYSQL_DATABASE = "your-database"
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### opencode
|
|
69
|
-
|
|
70
|
-
`opencode.json` 또는 `opencode.jsonc`에 추가하세요:
|
|
71
|
-
|
|
72
|
-
```json
|
|
73
|
-
{
|
|
74
|
-
"$schema": "https://opencode.ai/config.json",
|
|
75
|
-
"mcp": {
|
|
76
|
-
"mysql": {
|
|
77
|
-
"type": "local",
|
|
78
|
-
"command": ["npx", "-y", "@imrieul/mysql-mcp-server"],
|
|
79
|
-
"enabled": true,
|
|
80
|
-
"environment": {
|
|
81
|
-
"MYSQL_HOST": "localhost",
|
|
82
|
-
"MYSQL_PORT": "3306",
|
|
83
|
-
"MYSQL_USER": "root",
|
|
84
|
-
"MYSQL_PASSWORD": "your-password",
|
|
85
|
-
"MYSQL_DATABASE": "your-database"
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### SSL을 사용하는 읽기 전용 모드
|
|
93
|
-
|
|
94
|
-
```json
|
|
95
|
-
{
|
|
96
|
-
"mcpServers": {
|
|
97
|
-
"mysql": {
|
|
98
|
-
"command": "npx",
|
|
99
|
-
"args": ["-y", "@imrieul/mysql-mcp-server", "--readonly"],
|
|
100
|
-
"env": {
|
|
101
|
-
"MYSQL_HOST": "db.example.com",
|
|
102
|
-
"MYSQL_USER": "readonly_user",
|
|
103
|
-
"MYSQL_PASSWORD": "password",
|
|
104
|
-
"MYSQL_DATABASE": "production",
|
|
105
|
-
"MYSQL_SSL": "true",
|
|
106
|
-
"MYSQL_QUERY_TIMEOUT": "10000"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## 도구
|
|
114
|
-
|
|
115
|
-
| Tool | 설명 | 읽기 전용 모드 |
|
|
116
|
-
|------|------|---------------|
|
|
117
|
-
| `query` | SELECT, SHOW, DESCRIBE, EXPLAIN 실행 | 허용 |
|
|
118
|
-
| `execute` | INSERT, UPDATE, DELETE, DDL 실행 | 차단 |
|
|
119
|
-
| `list_databases` | 모든 데이터베이스 목록 조회 | 허용 |
|
|
120
|
-
| `list_tables` | 데이터베이스의 테이블 목록 조회 | 허용 |
|
|
121
|
-
| `describe_table` | 테이블 스키마 조회 | 허용 |
|
|
122
|
-
| `describe_all_tables` | 모든 테이블 스키마를 한 번에 조회 | 허용 |
|
|
123
|
-
|
|
124
|
-
## 설정
|
|
125
|
-
|
|
126
|
-
### 환경 변수
|
|
127
|
-
|
|
128
|
-
| 변수 | 필수 | 기본값 | 설명 |
|
|
129
|
-
|------|------|--------|------|
|
|
130
|
-
| `MYSQL_HOST` | Yes | — | MySQL 호스트 |
|
|
131
|
-
| `MYSQL_USER` | Yes | — | MySQL 사용자 |
|
|
132
|
-
| `MYSQL_PASSWORD` | Yes | — | MySQL 비밀번호 |
|
|
133
|
-
| `MYSQL_PORT` | No | `3306` | MySQL 포트 |
|
|
134
|
-
| `MYSQL_DATABASE` | No | — | 기본 데이터베이스 |
|
|
135
|
-
| `MYSQL_READONLY` | No | `false` | 읽기 전용 모드 |
|
|
136
|
-
| `MYSQL_MAX_ROWS` | No | `100` | SELECT 쿼리의 자동 LIMIT |
|
|
137
|
-
| `MYSQL_QUERY_TIMEOUT` | No | `30000` | 쿼리 타임아웃 (밀리초, 0으로 비활성화) |
|
|
138
|
-
| `MYSQL_SSL` | No | `false` | SSL 연결 활성화 |
|
|
139
|
-
|
|
140
|
-
### 연결 문자열
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
mysql://user:password@host:port/database
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
첫 번째 CLI 인수로 전달됩니다. 환경 변수보다 우선합니다.
|
|
147
|
-
|
|
148
|
-
## 라이선스
|
|
149
|
-
|
|
150
|
-
MIT
|
package/README.pt.md
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
# @imrieul/mysql-mcp-server
|
|
2
|
-
|
|
3
|
-
[English](./README.md) | [한국어](./README.ko.md) | [日本語](./README.ja.md) | [中文](./README.zh.md) | [Español](./README.es.md) | [Français](./README.fr.md) | [Русский](./README.ru.md)
|
|
4
|
-
|
|
5
|
-
Um servidor [MCP](https://modelcontextprotocol.io/) simples para MySQL.
|
|
6
|
-
|
|
7
|
-
## Recursos
|
|
8
|
-
|
|
9
|
-
- **Otimizado para LLM** — formato compacto de colunas/linhas, LIMIT automático, dicas de erro com sugestões de próximas ações
|
|
10
|
-
- **Schema em lote** — `describe_all_tables` retorna o schema completo do banco em uma única chamada
|
|
11
|
-
- **Modo somente leitura** — verificação de prefixo no nível da aplicação + `SET SESSION TRANSACTION READ ONLY` no nível do banco
|
|
12
|
-
- **Timeout de consulta** — timeout baseado em `Promise.race()` com limpeza garantida da conexão
|
|
13
|
-
- **Suporte a SSL** — uma variável de ambiente para habilitar conexões criptografadas
|
|
14
|
-
- **Minimalista** — 3 dependências, zero configuração necessária
|
|
15
|
-
|
|
16
|
-
## Início Rápido
|
|
17
|
-
|
|
18
|
-
Adicione à sua configuração MCP (`.mcp.json` ou `claude_desktop_config.json`):
|
|
19
|
-
|
|
20
|
-
```json
|
|
21
|
-
{
|
|
22
|
-
"mcpServers": {
|
|
23
|
-
"mysql": {
|
|
24
|
-
"command": "npx",
|
|
25
|
-
"args": ["-y", "@imrieul/mysql-mcp-server"],
|
|
26
|
-
"env": {
|
|
27
|
-
"MYSQL_HOST": "localhost",
|
|
28
|
-
"MYSQL_PORT": "3306",
|
|
29
|
-
"MYSQL_USER": "root",
|
|
30
|
-
"MYSQL_PASSWORD": "your-password",
|
|
31
|
-
"MYSQL_DATABASE": "your-database"
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Ou com uma string de conexão:
|
|
39
|
-
|
|
40
|
-
```json
|
|
41
|
-
{
|
|
42
|
-
"mcpServers": {
|
|
43
|
-
"mysql": {
|
|
44
|
-
"command": "npx",
|
|
45
|
-
"args": ["-y", "@imrieul/mysql-mcp-server", "mysql://root:password@localhost:3306/mydb"]
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Codex
|
|
52
|
-
|
|
53
|
-
O Codex usa configuração TOML, não JSON com `mcpServers`. Adicione isto a `~/.codex/config.toml` ou a um `.codex/config.toml` com escopo de projeto:
|
|
54
|
-
|
|
55
|
-
```toml
|
|
56
|
-
[mcp_servers.mysql]
|
|
57
|
-
command = "npx"
|
|
58
|
-
args = ["-y", "@imrieul/mysql-mcp-server"]
|
|
59
|
-
|
|
60
|
-
[mcp_servers.mysql.env]
|
|
61
|
-
MYSQL_HOST = "localhost"
|
|
62
|
-
MYSQL_PORT = "3306"
|
|
63
|
-
MYSQL_USER = "root"
|
|
64
|
-
MYSQL_PASSWORD = "your-password"
|
|
65
|
-
MYSQL_DATABASE = "your-database"
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### opencode
|
|
69
|
-
|
|
70
|
-
Adicione isto a `opencode.json` ou `opencode.jsonc`:
|
|
71
|
-
|
|
72
|
-
```json
|
|
73
|
-
{
|
|
74
|
-
"$schema": "https://opencode.ai/config.json",
|
|
75
|
-
"mcp": {
|
|
76
|
-
"mysql": {
|
|
77
|
-
"type": "local",
|
|
78
|
-
"command": ["npx", "-y", "@imrieul/mysql-mcp-server"],
|
|
79
|
-
"enabled": true,
|
|
80
|
-
"environment": {
|
|
81
|
-
"MYSQL_HOST": "localhost",
|
|
82
|
-
"MYSQL_PORT": "3306",
|
|
83
|
-
"MYSQL_USER": "root",
|
|
84
|
-
"MYSQL_PASSWORD": "your-password",
|
|
85
|
-
"MYSQL_DATABASE": "your-database"
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### Modo somente leitura com SSL
|
|
93
|
-
|
|
94
|
-
```json
|
|
95
|
-
{
|
|
96
|
-
"mcpServers": {
|
|
97
|
-
"mysql": {
|
|
98
|
-
"command": "npx",
|
|
99
|
-
"args": ["-y", "@imrieul/mysql-mcp-server", "--readonly"],
|
|
100
|
-
"env": {
|
|
101
|
-
"MYSQL_HOST": "db.example.com",
|
|
102
|
-
"MYSQL_USER": "readonly_user",
|
|
103
|
-
"MYSQL_PASSWORD": "password",
|
|
104
|
-
"MYSQL_DATABASE": "production",
|
|
105
|
-
"MYSQL_SSL": "true",
|
|
106
|
-
"MYSQL_QUERY_TIMEOUT": "10000"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Ferramentas
|
|
114
|
-
|
|
115
|
-
| Ferramenta | Descrição | Modo somente leitura |
|
|
116
|
-
|------|-------------|----------------|
|
|
117
|
-
| `query` | Executar SELECT, SHOW, DESCRIBE, EXPLAIN | Permitido |
|
|
118
|
-
| `execute` | Executar INSERT, UPDATE, DELETE, DDL | Bloqueado |
|
|
119
|
-
| `list_databases` | Listar todos os bancos de dados | Permitido |
|
|
120
|
-
| `list_tables` | Listar tabelas em um banco de dados | Permitido |
|
|
121
|
-
| `describe_table` | Exibir schema da tabela | Permitido |
|
|
122
|
-
| `describe_all_tables` | Exibir schemas de todas as tabelas de uma vez | Permitido |
|
|
123
|
-
|
|
124
|
-
## Configuração
|
|
125
|
-
|
|
126
|
-
### Variáveis de ambiente
|
|
127
|
-
|
|
128
|
-
| Variável | Obrigatória | Padrão | Descrição |
|
|
129
|
-
|----------|----------|---------|-------------|
|
|
130
|
-
| `MYSQL_HOST` | Sim | — | Host do MySQL |
|
|
131
|
-
| `MYSQL_USER` | Sim | — | Usuário do MySQL |
|
|
132
|
-
| `MYSQL_PASSWORD` | Sim | — | Senha do MySQL |
|
|
133
|
-
| `MYSQL_PORT` | Não | `3306` | Porta do MySQL |
|
|
134
|
-
| `MYSQL_DATABASE` | Não | — | Banco de dados padrão |
|
|
135
|
-
| `MYSQL_READONLY` | Não | `false` | Modo somente leitura |
|
|
136
|
-
| `MYSQL_MAX_ROWS` | Não | `100` | LIMIT automático para consultas SELECT |
|
|
137
|
-
| `MYSQL_QUERY_TIMEOUT` | Não | `30000` | Timeout de consulta em ms (0 para desabilitar) |
|
|
138
|
-
| `MYSQL_SSL` | Não | `false` | Habilitar conexão SSL |
|
|
139
|
-
|
|
140
|
-
### String de conexão
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
mysql://user:password@host:port/database
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
Passada como primeiro argumento CLI. Tem prioridade sobre as variáveis de ambiente.
|
|
147
|
-
|
|
148
|
-
## Licença
|
|
149
|
-
|
|
150
|
-
MIT
|