Supabase
server ทางการของ Supabase ให้ AI สร้างตาราง ถามข้อมูล และดูการตั้งค่าโปรเจกต์ในฐานข้อมูล Supabase ของคุณ
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for one MySQL database: schema, read-only queries and guarded writes.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB, MYSQL_SSL, MYSQL_SSL_CA, ALLOW_INSERT_OPERATION, ALLOW_UPDATE_OPERATION, ALLOW_DELETE_OPERATION, MYSQL_MAX_ROWS, MYSQL_TIMEOUT_MSค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"mysql-client": {
"command": "npx",
"args": [
"-y",
"mcp-mysql-client"
],
"env": {
"MYSQL_HOST": "ใส่ค่าของคุณ",
"MYSQL_PORT": "ใส่ค่าของคุณ",
"MYSQL_USER": "ใส่ค่าของคุณ",
"MYSQL_PASS": "ใส่ค่าของคุณ",
"MYSQL_DB": "ใส่ค่าของคุณ",
"MYSQL_SSL": "ใส่ค่าของคุณ",
"MYSQL_SSL_CA": "ใส่ค่าของคุณ",
"ALLOW_INSERT_OPERATION": "ใส่ค่าของคุณ",
"ALLOW_UPDATE_OPERATION": "ใส่ค่าของคุณ",
"ALLOW_DELETE_OPERATION": "ใส่ค่าของคุณ",
"MYSQL_MAX_ROWS": "ใส่ค่าของคุณ",
"MYSQL_TIMEOUT_MS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add mysql-client --env MYSQL_HOST='ใส่ค่าของคุณ' --env MYSQL_PORT='ใส่ค่าของคุณ' --env MYSQL_USER='ใส่ค่าของคุณ' --env MYSQL_PASS='ใส่ค่าของคุณ' --env MYSQL_DB='ใส่ค่าของคุณ' --env MYSQL_SSL='ใส่ค่าของคุณ' --env MYSQL_SSL_CA='ใส่ค่าของคุณ' --env ALLOW_INSERT_OPERATION='ใส่ค่าของคุณ' --env ALLOW_UPDATE_OPERATION='ใส่ค่าของคุณ' --env ALLOW_DELETE_OPERATION='ใส่ค่าของคุณ' --env MYSQL_MAX_ROWS='ใส่ค่าของคุณ' --env MYSQL_TIMEOUT_MS='ใส่ค่าของคุณ' -- npx -y mcp-mysql-clientเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"mysql-client": {
"command": "npx",
"args": [
"-y",
"mcp-mysql-client"
],
"env": {
"MYSQL_HOST": "ใส่ค่าของคุณ",
"MYSQL_PORT": "ใส่ค่าของคุณ",
"MYSQL_USER": "ใส่ค่าของคุณ",
"MYSQL_PASS": "ใส่ค่าของคุณ",
"MYSQL_DB": "ใส่ค่าของคุณ",
"MYSQL_SSL": "ใส่ค่าของคุณ",
"MYSQL_SSL_CA": "ใส่ค่าของคุณ",
"ALLOW_INSERT_OPERATION": "ใส่ค่าของคุณ",
"ALLOW_UPDATE_OPERATION": "ใส่ค่าของคุณ",
"ALLOW_DELETE_OPERATION": "ใส่ค่าของคุณ",
"MYSQL_MAX_ROWS": "ใส่ค่าของคุณ",
"MYSQL_TIMEOUT_MS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"mysql-client": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-mysql-client"
],
"env": {
"MYSQL_HOST": "ใส่ค่าของคุณ",
"MYSQL_PORT": "ใส่ค่าของคุณ",
"MYSQL_USER": "ใส่ค่าของคุณ",
"MYSQL_PASS": "ใส่ค่าของคุณ",
"MYSQL_DB": "ใส่ค่าของคุณ",
"MYSQL_SSL": "ใส่ค่าของคุณ",
"MYSQL_SSL_CA": "ใส่ค่าของคุณ",
"ALLOW_INSERT_OPERATION": "ใส่ค่าของคุณ",
"ALLOW_UPDATE_OPERATION": "ใส่ค่าของคุณ",
"ALLOW_DELETE_OPERATION": "ใส่ค่าของคุณ",
"MYSQL_MAX_ROWS": "ใส่ค่าของคุณ",
"MYSQL_TIMEOUT_MS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MYSQL_HOST envMYSQL_PORT envMYSQL_SSL envMYSQL_SSL_CA envALLOW_INSERT_OPERATION envALLOW_UPDATE_OPERATION envALLOW_DELETE_OPERATION envMYSQL_MAX_ROWS envMYSQL_TIMEOUT_MS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub gistrec ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: MYSQL_USER, MYSQL_PASS, MYSQL_DB
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.1.1) เข้า registry 3 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Supabase, MongoDB MCP Server, Elasticsearch MCP Server
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ Supabase ให้ AI สร้างตาราง ถามข้อมูล และดูการตั้งค่าโปรเจกต์ในฐานข้อมูล Supabase ของคุณ
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
MySQL MCP подключает AI-приложение к одной базе MySQL или MariaDB: посмотреть структуру, задать вопрос данным на естественном языке, разобраться в медленном запросе — и, если вы сами это разрешили, изменить данные.
Сервер привязан к одной базе: она задана конфигурацией, и ни один инструмент не может уйти в другую. По умолчанию доступно только чтение.
DELETE в читающем инструменте будет отклонён, даже если права на запись включены.START TRANSACTION READ ONLY — запись отклонит сама MySQL, даже если разбор SQL кто-то обманет.truncated.Начните с запроса, который только читает данные:
Покажи структуру базы и посчитай, сколько записей появилось за последнюю неделю.
Claude Code:
claude mcp add mysql-myapp \
-e MYSQL_HOST=db.example.com \ -e MYSQL_USER=myapp_ro \ -e MYSQL_PASS='пароль' \ -e MYSQL_DB=myapp \ -e MYSQL_SSL=true \ -- npx -y mcp-mysql-client
Или в .mcp.json / claude_desktop_config.json:
{
"mcpServers": { "mysql-myapp": { "command": "npx", "args": ["-y", "mcp-mysql-client"], "env": { "MYSQL_HOST": "db.example.com", "MYSQL_PORT": "3306", "MYSQL_USER": "myapp_ro", "MYSQL_PASS": "пароль", "MYSQL_DB": "myapp", "MYSQL_SSL": "true" } } } }
Один сервер — одна база. Нужно несколько баз: добавьте несколько записей со своими учётными данными; так права остаются изолированными, и сервер, подключённый к тестовой базе, физически не видит боевую.
| Запрос | Что делает сервер |
|---|---|
| «Что вообще есть в этой базе?» | list_tables — таблицы, размеры, оценки числа строк |
| «Как устроена таблица orders?» | describe_table — столбцы, индексы, внешние ключи в обе стороны |
| «Сколько заказов за июль и на какую сумму?» | query — SELECT с агрегацией |
| «Почему этот запрос медленный?» | explain — план, индексы, оценка строк |
| «Под кем я подключён и что мне можно?» | server_info — база, пользователь, GRANT, лимиты сервера |
| «Проставь статус отменённым заказам» | execute — только при ALLOW_UPDATE_OPERATION=true |
По умолчанию — ничего: сервер стартует в режиме только чтения. Запись включается по одной операции:
"ALLOW_INSERT_OPERATION": "true",
"ALLOW_UPDATE_OPERATION": "true", "ALLOW_DELETE_OPERATION": "false"
Что при этом остаётся невозможным:
CREATE, ALTER, DROP, TRUNCATE, RENAME — ни при каких настройках.allow_full_table=true в вызове.Права MySQL — отдельное ограничение поверх этого. Разрешение ALLOW_UPDATE_OPERATION ничего не добавляет пользователю, у которого нет GRANT UPDATE. Рабочая практика: отдельный пользователь с минимальными правами, а не root.
| Переменная | По умолчанию | Назначение |
|---|---|---|
MYSQL_HOST | 127.0.0.1 | Хост сервера |
MYSQL_PORT | 3306 | Порт |
MYSQL_SOCKET_PATH | — | Unix-сокет вместо host/port |
MYSQL_USER | — | Пользователь (обязательно) |
MYSQL_PASS | — | Пароль (синоним MYSQL_PASSWORD) |
MYSQL_PASS_FILE | — | Прочитать пароль из файла вместо переменной |
MYSQL_DB | — | База данных (обязательно, синоним MYSQL_DATABASE) |
MYSQL_SSL | false | Требовать TLS |
MYSQL_SSL_CA | — | Путь к корневому сертификату; сам по себе включает TLS |
MYSQL_SSL_REJECT_UNAUTHORIZED | true | Проверять сертификат сервера |
ALLOW_INSERT_OPERATION | false | Разрешить INSERT |
ALLOW_UPDATE_OPERATION | false | Разрешить UPDATE |
ALLOW_DELETE_OPERATION | false | Разрешить DELETE |
MYSQL_MAX_ROWS | 1000 | Потолок строк в одном ответе |
MYSQL_TIMEOUT_MS | 30000 | Таймаут запроса |
MYSQL_CONNECT_TIMEOUT_MS | 10000 | Таймаут подключения |
MYSQL_POOL_SIZE | 3 | Соединений в пуле |
MYSQL_MAX_RETRIES | 2 | Повторы при обрыве связи и взаимных блокировках |
MYSQL_READ_ONLY_TX | true | Выполнять чтение в read-only транзакции |
ASKADS_TELEMETRY | — | 0 отключает анонимную статистику запусков и вызовов инструментов (имя инструмента и исход: успех или категория ошибки с кодом ошибки MySQL, без текста ошибки) |
Пароль в конфигурации MCP-клиента лежит открытым текстом. MYSQL_PASS_FILE позволяет держать его в файле с нужными правами.
@benborla29/mcp-server-mysqlИмена переменных совпадают, поэтому достаточно заменить пакет в команде запуска:
- "args": ["-y", "@benborla29/mcp-server-mysql"]
Что изменится в поведении:
MYSQL_DB обязателен — сервер всегда привязан к одной базе;MYSQL_MAX_ROWS и помечаются truncated;UPDATE/DELETE без WHERE требуют подтверждения в вызове;query, execute, explain, list_tables, describe_table, server_info.Первым делом — server_info: он покажет, к чему подключён сервер, какие права у пользователя MySQL и какие ограничения включены.
| Симптом | Причина |
|---|---|
errno 1045 | Неверные MYSQL_USER / MYSQL_PASS |
errno 1044 | Пользователь есть, прав на базу нет |
errno 1142 | Не хватает GRANT на операцию или таблицу — ALLOW_* тут не поможет |
errno 3159 | Сервер требует TLS: MYSQL_SSL=true |
ECONNREFUSED / ETIMEDOUT | Хост, порт, файрвол или неподнятый VPN |
ER_NOT_SUPPORTED_AUTH_MODE | Нужен TLS для caching_sha2_password |
| Сервер не подключается | Ошибка конфигурации видна прямо в диалоге: сервер стартует даже без учётных данных и объясняет, чего не хватает |
MIT