SQL MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/Processori7/SQL-MCP.git
cd SQL-MCP
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "PYTHONPATH=${PYTHONPATH}" sql-mcp -- node "<FULL_PATH_TO_SQL_MCP>/dist/index.js"

Replace <FULL_PATH_TO_SQL_MCP>/dist/index.js with the actual folder you prepared in step 1.

Required:PYTHONPATH+ 1 optional
README.md

Natural language and SQL querying for SQLite, MySQL, PostgreSQL, and MongoDB.

SQL MCP Сервер

MCP (Model Context Protocol) сервер для выполнения запросов к базам данных на естественном языке. Поддерживает SQLite, MySQL, PostgreSQL и MongoDB.

Возможности

  • Запросы на естественном языке: Пишите запросы к БД на русском языке
  • Поддержка нескольких БД: SQLite, MySQL, PostgreSQL, MongoDB
  • MCP протокол: Stdio-коммуникация с LLM клиентами
  • Интеграция с LLM: Включает промпты для помощи LLM в использовании сервера
  • SQL операции: SELECT, INSERT, UPDATE, DELETE, ALTER, CREATE DATABASE
  • Bulk операции: Множественные INSERT, UPDATE, DELETE за один запрос
  • Просмотр схемы: Список таблиц и структура таблиц
  • Защита данных: UPDATE, DELETE, DROP и ALTER требуют явного подтверждения пользователя
  • Пакетные операции: Одно подтверждение для нескольких изменяющих операций

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/Processori7/SQL-MCP.git
    cd SQL-MCP
    
  2. Создайте и активируйте виртуальное окружение (рекомендуется):

    # Windows
    python -m venv venv
    venv\Scripts\activate
    
    # Linux/macOS
    python3 -m venv venv
    source venv/bin/activate
    
  3. Установите зависимости:

    pip install -r requirements.txt
    

Интеграция с MCP

Настройка MCP клиента

Добавьте в конфигурацию вашего MCP клиента (например, cline_mcp_settings.json):

{
  "mcpServers": {
    "sql-stdio": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "python",
      "args": ["-X", "utf8", "-m", "src.main"],
      "env": {
        "PYTHONPATH": "C:\\path\\to\\SQL-MCP",
        "PYTHONIOENCODING": "utf-8"
      }
    }
  }
}

Примечание: Замените C:\\path\\to\\SQL-MCP на реальный путь к папке проекта.

Важно для Windows: Флаг -X utf8 и переменная PYTHONIOENCODING обеспечивают корректную работу с кириллицей.

Доступные инструменты

1. execute_query

Выполняет запросы к базе данных на естественном языке или SQL.

Параметры:

  • db_type (обязательный): Тип БД - 'sqlite', 'mysql', 'postgresql' или 'mongodb'
  • query (обязательный): Запрос на русском языке ИЛИ SQL/MongoDB запрос
  • db_config или config_file (один из них обязателен): Настройки подключения к БД
  • confirm_changes (опциональный): Подтверждение для операций изменения/удаления данных

2. list_tables

Получает список всех таблиц или коллекций в базе данных.

Параметры:

  • db_type (обязательный): Тип базы данных
  • db_config или config_file (один из них обязателен): Настройки подключения к БД

3. get_table_schema

Получает схему таблицы (колонки, типы, ограничения).

Параметры:

  • db_type (обязательный): Тип БД (не поддерживается для MongoDB)
  • table_name (обязательный): Имя таблицы
  • db_config или config_file (один из них обязателен): Настройки подключения к БД

Примеры использования

Конфигурации подключения

Есть два способа указать параметры подключения:

Способ 1: Параметр db_config (JSON объект)
MySQL
{
  "host": "localhost",
  "port": 3306,
  "user": "root",
  "password": "mypassword",
  "database": "mydb"
}
PostgreSQL
{
  "host": "localhost",
  "port": 5432,
  "user": "postgres",
  "password": "mypassword",
  "dbname": "mydb"
}
SQLite
{
  "db_name": "mydata.db"
}
MongoDB
{
  "uri": "mongodb://localhost:27017",
  "database_name": "mydb"
}
Способ 2: Параметр config_file (путь к файлу)

Укажите путь к файлу конфигурации. Поддерживаются форматы JSON и TXT.

Пример JSON файла (mysql_config.json):

{
  "host": "localhost",
  "port": 3306,
  "user": "root",
  "password": "mypassword",
  "database": "mydb"
}

Пример TXT файла (mysql_config.txt):

# Конфигурация MySQL
host=localhost
port=3306
user=root
password=mypassword
database=mydb

Использование config_file:

{
  "db_type": "mysql",
  "query": "SELECT * FROM users",
  "config_file": "C:/configs/mysql_config.json"
}

Или с относительным путём:

{
  "db_type": "mysql",
  "query": "SHOW TABLES",
  "config_file": "mysql_config.txt"
}

Примеры запросов

Создание базы данных (MySQL/PostgreSQL)
{
  "db_type": "mysql",
  "query": "CREATE DATABASE my_new_db",
  "db_config": {"host": "localhost", "port": 3306, "user": "root", "password": ""}
}

Или на естественном языке:

{
  "db_type": "mysql",
  "query": "Создай БД my_new_db",
  "db_config": {"host": "localhost", "port": 3306, "user": "root", "password": ""}
}
Переключение базы данных
{
  "db_type": "mysql",
  "query": "USE my_new_db",
  "db_config": {"host": "localhost", "port": 3306, "user": "root", "password": "", "database": "my_new_db"}
}
Создание таблицы
{
  "db_type": "mysql",
  "query": "CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100), age INT)",
  "db_config

Tools (3)

execute_queryExecutes queries against a database using natural language or SQL/MongoDB syntax.
list_tablesRetrieves a list of all tables or collections in the database.
get_table_schemaRetrieves the schema of a specific table including columns, types, and constraints.

Environment Variables

PYTHONPATHrequiredPath to the SQL-MCP project directory
PYTHONIOENCODINGEncoding setting, recommended as utf-8 for Windows compatibility

Configuration

claude_desktop_config.json
{"mcpServers": {"sql-stdio": {"disabled": false, "timeout": 60, "type": "stdio", "command": "python", "args": ["-X", "utf8", "-m", "src.main"], "env": {"PYTHONPATH": "C:\\path\\to\\SQL-MCP", "PYTHONIOENCODING": "utf-8"}}}}

Try it

Show me all tables in my MySQL database using the config file at C:/configs/mysql_config.json.
Get the schema for the 'users' table in my PostgreSQL database.
Select all records from the 'orders' table where the status is 'pending' in my SQLite database.
Create a new database named 'analytics_db' in MySQL.

Frequently Asked Questions

What are the key features of SQL MCP Server?

Natural language to SQL query translation. Multi-database support including SQLite, MySQL, PostgreSQL, and MongoDB. Schema inspection for table structures. Safety confirmation mechanism for destructive operations like DELETE or DROP. Bulk operation support for multiple data modifications.

What can I use SQL MCP Server for?

Querying production databases using plain English prompts. Automating schema documentation by fetching table structures via LLM. Performing batch data updates with human-in-the-loop safety checks. Quickly switching between different database types for cross-platform data analysis.

How do I install SQL MCP Server?

Install SQL MCP Server by running: git clone https://github.com/Processori7/SQL-MCP.git && cd SQL-MCP && python -m venv venv && source venv/bin/activate && pip install -r requirements.txt

What MCP clients work with SQL MCP Server?

SQL MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep SQL MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare