Доступ к базе данных MariaDB / MySQL MCP-сервер
Этот сервер MCP обеспечивает доступ к базам данных MariaDB/MySQL.
Это позволяет вам:
Список доступных баз данных
Список таблиц в базе данных
Опишите схемы таблиц
Выполнение SQL-запросов
Функции безопасности
Доступ только для чтения По умолчанию : ВЫБРАТЬ, ПОКАЗАТЬ, ОПИСАТЬ и ОБЪЯСНИТЬ
Проверка запроса : предотвращает внедрение SQL-кода и блокирует любые попытки изменения данных.
Тайм-аут запроса : предотвращает потребление ресурсов длительными запросами.
Ограничение по количеству строк : предотвращает возврат избыточных данных.
Related MCP server: MySQL MCP Server
Установка
Вариант 1: Сборка из исходного кода
# Clone the repository
git clone https://github.com/bretoreta/mariadb-mcp-server.git
cd mariadb-mcp-server
# Install dependencies and build
pnpm install
pnpm run build2. Настройте переменные среды
Серверу требуются следующие переменные среды:
MARIADB_HOST: Имя хоста сервера базы данных
MARIADB_PORT: Порт сервера базы данных (по умолчанию: 3306)
MARIADB_USER: Имя пользователя базы данных
MARIADB_PASSWORD: Пароль базы данных
MARIADB_DATABASE: Имя базы данных по умолчанию (необязательно)
MARIADB_ALLOW_INSERT: ложь
MARIADB_ALLOW_UPDATE: ложь
MARIADB_ALLOW_DELETE: ложь
MARIADB_TIMEOUT_MS: 10000
MARIADB_ROW_LIMIT: 1000
3. Добавить в настройки MCP
Добавьте следующую конфигурацию в файл настроек MCP:
Если вы собрали из исходников:
{
"mcpServers": {
"mariadb": {
"command": "node",
"args": ["/path/to/mariadb-mcp-server/dist/index.js"],
"env": {
"MARIADB_HOST": "your-host",
"MARIADB_PORT": "3306",
"MARIADB_USER": "your-user",
"MARIADB_PASSWORD": "your-password",
"MARIADB_DATABASE": "your-default-database",
"MARIADB_ALLOW_INSERT": "false",
"MARIADB_ALLOW_UPDATE": "false",
"MARIADB_ALLOW_DELETE": "false",
"MARIADB_TIMEOUT_MS": "10000",
"MARIADB_ROW_LIMIT": "1000",
},
"disabled": false,
"autoApprove": []
}
}
}Доступные инструменты
список_баз_данных
Список всех доступных баз данных на сервере MariaDB / MySQL. Параметры : Нет
Пример :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"sessionId": "session_id from /sse call",
"name": "list_databases"
}
}список_таблиц
Перечисляет все таблицы в указанной базе данных.
Параметры :
database(необязательно): Имя базы данных (используется по умолчанию, если не указано иное)
Пример :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"sessionId": "session_id from /sse call",
"name": "list_tables",
"database": "my_database_name"
}
}описать_таблицу
Показывает схему для конкретной таблицы.
Параметры :
database(необязательно): Имя базы данных (используется по умолчанию, если не указано иное)table(обязательно): Название таблицы
Пример :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"sessionId": "session_id from /sse call",
"name": "describe_table",
"database": "my_database_name",
"table": "my_table_name"
}
}выполнить_запрос
Выполняет SQL-запрос.
Параметры :
query(обязательно): SQL-запросdatabase(необязательно): Имя базы данных (используется по умолчанию, если не указано иное)
Пример :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"sessionId": "session_id from /sse call",
"name": "execute_query",
"query": "SELECT * FROM my_table LIMIT 10"
}
}Тестирование
Сервер автоматически тестирует MariaDB для проверки ее функциональности с вашей настройкой MariaDB:
Поиск неисправностей
Если у вас возникли проблемы:
Проверьте журналы сервера на наличие сообщений об ошибках.
Проверьте свои учетные данные MariaDB и данные подключения
Убедитесь, что у вашего пользователя MariaDB есть соответствующие разрешения.
Убедитесь, что ваш запрос доступен только для чтения и правильно отформатирован.
Вдохновение https://github.com/rjsalgado/mariadb-mcp-server
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .