Microsoft SQL Server MCP Server (MSSQL)
MS SQL MCP-сервер 1.1
Простой в использовании мост, который позволяет помощникам ИИ, таким как Клод, напрямую запрашивать и исследовать базы данных Microsoft SQL Server. Опыт кодирования не требуется!
Что делает этот инструмент?
Этот инструмент позволяет помощникам на основе искусственного интеллекта:
Найдите таблицы в вашей базе данных SQL Server
Просмотр структур таблиц (столбцов, типов данных и т. д.)
Безопасное выполнение SQL-запросов только для чтения
Генерация SQL-запросов из запросов на естественном языке
Related MCP server: MS SQL MCP Server
🌟 Зачем вам нужен этот инструмент
Преодолейте разрыв между вашими данными и ИИ
Не требуется кодирования : предоставьте Клоду и другим помощникам на базе искусственного интеллекта прямой доступ к вашим базам данных SQL Server без написания сложного кода интеграции.
Сохраняйте контроль : по умолчанию все запросы доступны только для чтения, что гарантирует безопасность ваших данных.
Конфиденциально и безопасно : ваши учетные данные базы данных остаются локальными и никогда не отправляются на внешние службы.
Практические преимущества
Экономьте часы ручной работы : больше не нужно копировать и вставлять данные или результаты запросов для передачи ИИ
Более глубокий анализ : ИИ может перемещаться по всей схеме базы данных и предоставлять информацию по нескольким таблицам.
Интерфейс на естественном языке : задавайте вопросы о своих данных на простом английском языке.
Устранение проблемы ограничения контекста : доступ к большим наборам данных, которые превышают обычные окна контекста ИИ.
Идеально подходит для
Аналитики данных , которым нужна помощь ИИ в интерпретации данных SQL без предоставления учетных данных
Разработчики, ищущие быстрый способ исследования структуры базы данных посредством естественного общения
Бизнес-аналитики , которым нужна информация без знаний SQL
Администраторы баз данных , желающие обеспечить контролируемый доступ к инструментам ИИ
🚀 Краткое руководство пользователя
Шаг 1: Установка необходимых компонентов
Установите Node.js (версии 14 или выше)
Иметь доступ к базе данных Microsoft SQL Server (локальной или Azure)
Шаг 2: Клонирование и настройка
# Clone this repository
git clone https://github.com/dperussina/mssql-mcp-server.git
# Navigate to the project directory
cd mssql-mcp-server
# Install dependencies
npm install
# Copy the example environment file
cp .env.example .envШаг 3: Настройте подключение к базе данных
Отредактируйте файл .env , используя учетные данные вашей базы данных:
DB_USER=your_username
DB_PASSWORD=your_password
DB_SERVER=your_server_name_or_ip
DB_DATABASE=your_database_name
PORT=3333
HOST=0.0.0.0 # Host for the server to listen on, e.g., 'localhost' or '0.0.0.0'
TRANSPORT=stdio
SERVER_URL=http://localhost:3333
DEBUG=false # Set to 'true' for detailed logging (helpful for troubleshooting)
QUERY_RESULTS_PATH=/path/to/query_results # Directory where query results will be saved as JSON filesШаг 4: Запустите сервер
# Start with default stdio transport
npm start
# OR start with HTTP/SSE transport for network access
npm run start:sseШаг 5: Попробуйте!
# Run the interactive client
npm run client📊 Примеры использования
Исследуйте структуру вашей базы данных без написания SQL
mcp_SQL_mcp_discover_database()Получить подробную информацию о конкретной таблице
mcp_SQL_mcp_table_details({ tableName: "Customers" })Выполнить безопасный запрос
mcp_SQL_mcp_execute_query({ sql: "SELECT TOP 10 * FROM Customers", returnResults: true })Найти таблицы по шаблону имени
mcp_SQL_mcp_discover_tables({ namePattern: "%user%" })Используйте пагинацию для навигации по большим наборам результатов
// First page mcp_SQL_mcp_execute_query({ sql: "SELECT * FROM Users ORDER BY Username OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY", returnResults: true }) // Next page mcp_SQL_mcp_execute_query({ sql: "SELECT * FROM Users ORDER BY Username OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY", returnResults: true })Разбиение на страницы с помощью курсора для оптимальной производительности
// First page mcp_SQL_mcp_execute_query({ sql: "SELECT TOP 10 * FROM Users ORDER BY Username", returnResults: true }) // Next page using the last value as cursor mcp_SQL_mcp_execute_query({ sql: "SELECT TOP 10 * FROM Users WHERE Username > 'last_username' ORDER BY Username", returnResults: true })Задавайте вопросы на естественном языке
"Show me the top 5 customers with the most orders in the last month"
💡 Реальные приложения
Для бизнес-аналитики
Анализ эффективности продаж : «Покажите мне ежемесячные тенденции продаж за последний год и определите наши самые эффективные продукты по регионам».
Сегментация клиентов : «Проанализируйте нашу клиентскую базу по частоте покупок, средней стоимости заказа и географическому положению».
Финансовая отчетность : «Создайте квартальный отчет о прибылях и убытках, сравнив этот год с прошлым годом».
Для управления базами данных
Оптимизация схемы : «Помогите мне определить таблицы с отсутствующими индексами, изучив данные о производительности запросов».
Аудит качества данных : «Найдите все записи о клиентах с неполной информацией или недействительными значениями».
Анализ использования : «Покажите мне, к каким таблицам чаще всего обращаются и какие запросы являются наиболее ресурсоемкими».
Для развития
Исследование API : «Я создаю API — помогите мне проанализировать схему базы данных для проектирования соответствующих конечных точек».
Оптимизация запроса : «Просмотрите этот сложный запрос и предложите улучшения производительности».
Документация базы данных : «Создание полной документации структуры нашей базы данных с пояснениями взаимосвязей».
🖥️ Интерактивные функции клиента
Встроенный клиент предоставляет простой интерфейс на основе меню:
Перечислите доступные ресурсы . Посмотрите, какая информация доступна.
Список доступных инструментов . Посмотрите, какие действия вы можете выполнить.
Выполнить SQL-запрос — выполнить SQL-запрос только для чтения
Получить сведения о таблице - Просмотреть структуру любой таблицы
Прочитать схему базы данных - Просмотреть все таблицы и их связи
Генерация SQL-запроса — преобразование естественного языка в SQL
🧠 Эффективное руководство по подсказкам и использованию инструментов
При работе с Клодом или другими помощниками ИИ через этот сервер MCP, то, как вы формулируете свои запросы, существенно влияет на результаты. Вот как помочь ИИ эффективно использовать инструменты базы данных:
Базовый формат вызова инструмента
При запросе ИИ использовать этот инструмент следуйте следующей структуре:
Can you use the SQL MCP tools to [your goal]?
For example:
- Check what tables exist in my database
- Query the Customers table and show me the first 10 records
- Find all orders from the past monthОсновные команды и синтаксис
Вот основные инструменты и их правильный синтаксис:
// Discover the database structure
mcp_SQL_mcp_discover_database()
// Get detailed information about a specific table
mcp_SQL_mcp_table_details({ tableName: "YourTableName" })
// Execute a query and return results
mcp_SQL_mcp_execute_query({
sql: "SELECT * FROM YourTable WHERE Condition",
returnResults: true
})
// Find tables by name pattern
mcp_SQL_mcp_discover_tables({ namePattern: "%pattern%" })
// Access saved query results (for large result sets)
mcp_SQL_mcp_get_query_results({ uuid: "provided-uuid-here" })Когда использовать каждый инструмент:
Обнаружение базы данных : начните с этого, когда ИИ не знаком со структурой вашей базы данных.
Сведения о таблице : используйте при необходимости сосредоточиться на определенной таблице перед написанием запросов.
Выполнение запроса : когда вам необходимо извлечь или проанализировать фактические данные.
Обнаружение таблиц по шаблону : при поиске таблиц, относящихся к определенному домену.
Эффективные модели подсказок
Пошаговые рабочие процессы
Для сложных задач проведите ИИ через ряд шагов:
I'd like to analyze our sales data. Please:
1. First use mcp_SQL_mcp_discover_tables to find tables related to sales
2. Use mcp_SQL_mcp_table_details to examine the structure of relevant tables
3. Create a query with mcp_SQL_mcp_execute_query that shows monthly sales by product categoryСначала структура, потом запрос
First, discover what tables exist in my database. Then, look at the structure
of the Customers table. Finally, show me the top 10 customers by total purchase amount.Попросите объяснений
Query the top 5 underperforming products based on sales vs. forecasts,
and explain your approach to writing this query.Заметки о диалекте SQL Server
Напомните ИИ об особом синтаксисе SQL Server:
Please use SQL Server syntax for pagination:
- For offset/fetch: "OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY"
- For cursor-based: "WHERE ID > last_id ORDER BY ID"Исправление использования инструмента
Если ИИ использует неправильный синтаксис, вы можете помочь ему:
That's not quite right. Please use this format for the tool call:
mcp_SQL_mcp_execute_query({
sql: "SELECT * FROM Customers WHERE Region = 'West'",
returnResults: true
})Устранение неполадок с помощью подсказок
Если ИИ испытывает трудности с задачей базы данных, попробуйте следующие подходы:
Будьте более конкретны в отношении таблиц: «Прежде чем писать этот запрос, проверьте, существует ли таблица CustomerOrders и какие столбцы в ней есть».
Разбейте сложные задачи на этапы: «Давайте подойдем к этому шаг за шагом. Сначала посмотрите на структуру таблицы «Продукты». Затем проверьте таблицу «Заказы»...»
Запросите промежуточные результаты: «Сначала выполните простой запрос к этой таблице, чтобы мы могли проверить формат данных, прежде чем пытаться выполнить более сложный анализ».
Запрос пояснений к запросу: «После написания этого запроса объясните, что делает каждая его часть, чтобы я мог убедиться, что она делает то, что мне нужно».
🔎 Расширенные возможности запросов
Таблица открытий и исследований
Сервер MCP предоставляет мощные инструменты для исследования структуры вашей базы данных:
Обнаружение таблиц на основе шаблонов : поиск таблиц, соответствующих определенным шаблонам.
mcp_SQL_mcp_discover_tables({ namePattern: "%order%" })Обзор схемы : получите общее представление таблиц по схеме.
mcp_SQL_mcp_execute_query({ sql: "SELECT TABLE_SCHEMA, COUNT(*) AS TableCount FROM INFORMATION_SCHEMA.TABLES GROUP BY TABLE_SCHEMA" })Исследование столбцов : изучение метаданных столбцов для любой таблицы.
mcp_SQL_mcp_table_details({ tableName: "dbo.Users" })
Методы пагинации
Сервер поддерживает несколько методов пагинации для обработки больших наборов данных:
Разбиение на страницы с помощью Offset/Fetch : стандартная пагинация SQL с использованием OFFSET и FETCH
mcp_SQL_mcp_execute_query({ sql: "SELECT * FROM Users ORDER BY Username OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY" })Разбиение на страницы на основе курсора : более эффективно для больших наборов данных
// Get first page mcp_SQL_mcp_execute_query({ sql: "SELECT TOP 10 * FROM Users ORDER BY Username" }) // Get next page using last value as cursor mcp_SQL_mcp_execute_query({ sql: "SELECT TOP 10 * FROM Users WHERE Username > 'last_username' ORDER BY Username" })Подсчет с данными : получение общего количества вместе с постраничными данными
mcp_SQL_mcp_execute_query({ sql: "WITH TotalCount AS (SELECT COUNT(*) AS Total FROM Users) SELECT TOP 10 u.*, t.Total FROM Users u CROSS JOIN TotalCount t ORDER BY Username" })
Сложные соединения и отношения
Изучите связи между таблицами с помощью операций соединения:
mcp_SQL_mcp_execute_query({
sql: "SELECT u.Username, u.Email, r.RoleName FROM Users u JOIN UserRoles ur ON u.Username = ur.Username JOIN Roles r ON ur.RoleId = r.RoleId ORDER BY u.Username"
})Аналитические запросы
Выполняйте агрегации и аналитические запросы для получения информации:
mcp_SQL_mcp_execute_query({
sql: "SELECT UserType, COUNT(*) AS UserCount, SUM(CASE WHEN IsActive = 1 THEN 1 ELSE 0 END) AS ActiveUsers FROM Users GROUP BY UserType"
})Использование функций SQL Server
Сервер MCP поддерживает специфические функции SQL Server:
Общие табличные выражения (CTE)
Оконные функции
Операции JSON
Иерархические запросы
Полнотекстовый поиск (если настроен в вашей базе данных)
🔗 Варианты интеграции
Интеграция рабочего стола Клода
Подключите этот инструмент напрямую к Claude Desktop, выполнив несколько простых шагов:
Установите Claude Desktop с anthropic.com
Отредактируйте файл конфигурации Клода:
Расположение:
~/Library/Application Support/Claude/claude_desktop_config.jsonДобавьте эту конфигурацию:
{
"mcpServers": {
"mssql": {
"command": "node",
"args": [
"/FULL/PATH/TO/mssql-mcp-server/server.mjs"
]
}
}
}Замените
/FULL/PATH/TO/на фактический путь к месту, куда вы клонировали этот репозиторий.Перезагрузить рабочий стол Клода
Найдите значок инструментов в Claude Desktop — теперь вы можете использовать команды базы данных напрямую!
Подключение к Cursor IDE
Cursor — это редактор кода на базе искусственного интеллекта, который может использовать этот инструмент для расширенного взаимодействия с базой данных. Вот как его настроить:
Настройка в курсоре
Откройте Cursor IDE (загрузите с cursor.sh , если у вас его нет)
Запустите сервер MS SQL MCP с использованием транспорта HTTP/SSE:
npm run start:sseСоздайте новое рабочее пространство или откройте существующий проект в курсоре
Введите настройки курсора
Нажмите МКП
Добавить новый сервер MCP
Назовите свой сервер MCP, выберите тип: sse
Введите URL-адрес сервера как: localhost:3333/sse (или порт, на котором он запущен)
Использование команд базы данных в курсоре
После подключения вы сможете использовать команды MCP непосредственно в чате искусственного интеллекта Курсора:
Попросите Клода в Курсоре изучить вашу базу данных:
Can you show me the tables in my database?Выполнение определенных запросов:
Query the top 10 records from the Customers tableГенерация и выполнение сложных запросов:
Find all orders from the last month with a value over $1000
Устранение неполадок с подключением курсора
Убедитесь, что сервер MS SQL MCP работает с транспортом HTTP/SSE.
Проверьте правильность порта и его соответствие указанному в файле .env.
Убедитесь, что ваш брандмауэр не блокирует соединение.
Если вы используете другой IP/имя хоста, обновите SERVER_URL в вашем файле .env.
🔄 Объяснение методов транспортировки
Вариант 1: stdio Transport (по умолчанию)
Лучше всего подходит для: использования напрямую с Claude Desktop или встроенным клиентом
npm startВариант 2: HTTP/SSE-транспорт
Лучше всего подходит для: доступа к сети или использования с веб-приложениями.
npm run start:sse🛡️ Функции безопасности
По умолчанию доступно только чтение : нет риска изменения данных.
Личные учетные данные : сведения о подключении к базе данных сохраняются в вашем файле
.envЗащита от SQL-инъекций : встроенная проверка SQL-запросов
🔎 Устранение неполадок для новых пользователей
«Невозможно подключиться к базе данных»
Проверьте правильность учетных данных базы данных в файле
.envУбедитесь, что ваш SQL Server работает и принимает соединения.
Для Azure SQL убедитесь, что ваш IP-адрес разрешен в настройках брандмауэра.
Ошибки «Модуль не найден»
Запустите
npm installеще раз, чтобы убедиться, что все зависимости установлены.Убедитесь, что вы используете Node.js версии 14 или выше.
«Ошибка транспорта» или «Отказано в соединении»
Для транспорта HTTP/SSE проверьте, доступен ли PORT в вашем .env.
Убедитесь, что брандмауэр не блокирует соединение.
Claude Desktop не может подключиться
Дважды проверьте путь в вашем
claude_desktop_config.jsonУбедитесь, что вы используете абсолютные пути, а не относительные.
Полностью перезагрузите Claude Desktop после внесения изменений.
📚 Понимание основ SQL Server
Если вы новичок в SQL Server, вот несколько ключевых понятий:
Таблицы : храните данные в строках и столбцах.
Схемы : Логические группировки таблиц (например, папки)
Запросы : команды для извлечения или анализа данных.
Просмотры : Предопределенные запросы, сохраненные для легкого доступа
Этот инструмент поможет вам изучить все это, даже если вам не нужно быть экспертом по SQL!
🏗️ Архитектура и основные модули
Сервер MS SQL MCP построен на основе модульной архитектуры, которая разделяет вопросы удобства обслуживания и расширяемости:
Основные модули
database.mjs — подключение к базе данных
Управляет пулом соединений SQL Server
Обеспечивает выполнение запросов с логикой повторных попыток и обработкой ошибок.
Управляет подключениями к базе данных, транзакциями и конфигурацией
Включает утилиты для очистки SQL и ошибок форматирования.
tools.mjs — Регистрация инструмента
Регистрирует все инструменты базы данных на сервере MCP
Реализует проверку инструментов и параметров
Предоставляет основные функции для SQL-запросов, исследования таблиц и обнаружения баз данных.
Сопоставляет вызовы инструментов с операциями базы данных
resources.mjs — Ресурсы базы данных
Предоставляет метаданные базы данных через конечные точки ресурсов
Предоставляет информацию о схеме, списки таблиц и документацию по процедурам.
Форматирует информацию о структуре базы данных для использования ИИ
Включает в себя утилиты обнаружения для исследования базы данных
pagination.mjs - Результаты навигации
Реализует разбиение на страницы с помощью курсора для больших наборов результатов
Предоставляет утилиты для создания курсоров следующей/предыдущей страницы.
Преобразует SQL-запросы для поддержки пагинации
Обрабатывает синтаксис пагинации OFFSET/FETCH SQL Server
errors.mjs - Обработка ошибок
Определяет пользовательские типы ошибок для различных сценариев сбоев.
Реализует форматирование ошибок JSON-RPC
Предоставляет понятные человеку сообщения об ошибках
Включает промежуточное программное обеспечение для глобальной обработки ошибок.
logger.mjs - Система ведения журнала
Настраивает ведение журнала Winston с несколькими транспортами
Обеспечивает контекстно-зависимую регистрацию запросов
Управляет ротацией и форматированием журналов
Захватывает неперехваченные исключения и необработанные отклонения
Как эти модули работают вместе
При получении вызова инструмента сервер MCP направляет его соответствующему обработчику в
tools.mjsОбработчик инструмента проверяет параметры и создает запрос к базе данных.
Запрос выполняется с помощью функций в
database.mjs, с возможной пагинацией изpagination.mjsРезультаты форматируются и возвращаются клиенту.
Любые ошибки отлавливаются и обрабатываются через
errors.mjsВсе операции регистрируются через
logger.mjs
Такая архитектура обеспечивает:
Четкое разделение интересов
Последовательная обработка ошибок
Комплексное ведение журнала
Эффективное управление подключением к базе данных
Масштабируемое выполнение запросов
⚙️ Объяснение конфигурации среды
Файл .env управляет тем, как MS SQL MCP Server подключается к вашей базе данных и работает. Вот подробное объяснение каждой настройки:
# Database Connection Settings
DB_USER=your_username # SQL Server username
DB_PASSWORD=your_password # SQL Server password
DB_SERVER=your_server_name_or_ip
DB_DATABASE=your_database_name
# Server Configuration
PORT=3333 # Port for the HTTP/SSE server to listen on
HOST=0.0.0.0 # Host for the server to listen on, e.g., 'localhost' or '0.0.0.0'
TRANSPORT=stdio # Connection method: 'stdio' (for Claude Desktop) or 'sse' (for network connections)
SERVER_URL=http://localhost:3333 # Base URL when using SSE transport. If HOST is '0.0.0.0', external clients use http://<your-machine-ip>:${PORT}
# Advanced Settings
DEBUG=false # Set to 'true' for detailed logging (helpful for troubleshooting)
QUERY_RESULTS_PATH=/path/to/query_results # Directory where query results will be saved as JSON filesОбъяснение типов подключения
stdio транспорт
Используйте при прямом подключении к Claude Desktop
Связь осуществляется через стандартные потоки ввода/вывода.
Установите
TRANSPORT=stdioв вашем .env-файлеЗапустить с помощью
npm start
HTTP/SSE-транспорт
Использовать при подключении по сети (например, с Cursor IDE)
Использует отправленные сервером события (SSE) для связи в реальном времени
Установите
TRANSPORT=sseв вашем .env-файлеНастройте
SERVER_URLтак, чтобы он соответствовал адресу вашего сервераЗапустить с помощью
npm run start:sse
Примеры подключения к SQL Server
Локальный SQL-сервер
DB_USER=sa
DB_PASSWORD=YourStrongPassword
DB_SERVER=localhost
DB_DATABASE=AdventureWorksБаза данных Azure SQL
DB_USER=azure_admin@myserver
DB_PASSWORD=YourStrongPassword
DB_SERVER=myserver.database.windows.net
DB_DATABASE=AdventureWorksХранилище результатов запросов
Результаты запроса сохраняются в виде файлов JSON в каталоге, указанном QUERY_RESULTS_PATH . Это предотвращает перегрузку беседы большими наборами результатов. Вы можете:
Оставьте это поле пустым, чтобы использовать каталог
query-resultsпо умолчанию в проекте.Задайте пользовательский путь, например
/Users/username/Documents/query-resultsДоступ к сохраненным результатам с помощью предоставленного UUID в ответе инструмента
📝 Лицензия
МСК
Available Tools
33 toolsanalyze_check_constraintsAnalyze Check ConstraintsB
Extract and analyze business rules from check constraints
Inputs: connectionString, connectionName, schema, tableName.
analyze_database_sizeAnalyze Database SizeC
Get comprehensive database size information including data and log file sizes
Inputs: connectionString, connectionName.
analyze_data_distributionAnalyze Data DistributionC
Get data distribution patterns for columns to understand data quality and patterns
Inputs: tableName (required), connectionString, connectionName, schema, +2 more.
analyze_index_usageAnalyze Index UsageC
Show detailed index usage statistics to identify unused or underutilized indexes
Inputs: connectionString, connectionName, schema, tableName, +1 more.
analyze_null_patternsAnalyze NULL PatternsC
Find columns with high null percentages and analyze null patterns
Inputs: connectionString, connectionName, schema, minNullPercentage.
analyze_table_statsAnalyze Table StatisticsB
Get table row counts, size information, and last update statistics
Inputs: connectionString, connectionName, schema, tableName.
describe_stored_procedureDescribe Stored ProcedureC
Get detailed information about a specific stored procedure including parameters and definition
Inputs: procedureName (required), connectionString, connectionName, schema, +1 more.
describe_tableDescribe TableB
Get detailed schema information for a specific table including columns, data types, and constraints
Inputs: tableName (required), connectionString, connectionName, schema.
describe_triggerDescribe TriggerA
Get detailed information about a specific trigger including its definition and events
Inputs: triggerName (required), connectionString, connectionName, includeDefinition.
describe_viewDescribe ViewC
Get detailed information about a specific view including its definition and dependencies
Inputs: viewName (required), connectionString, connectionName, schema, +1 more.
detect_audit_columnsDetect Audit ColumnsB
Identify common audit trail patterns (created/modified dates, user tracking)
Inputs: connectionString, connectionName, schema.
execute_queryExecute SQL QueryA
Execute a custom SQL SELECT query with automatic limit (top 20 rows)
Inputs: query (required), connectionString, connectionName.
find_computed_columnsFind Computed ColumnsC
List computed columns and their formulas to understand derived business logic
Inputs: connectionString, connectionName, schema, tableName.
find_lookup_tablesFind Lookup TablesC
Identify reference/lookup tables automatically based on table patterns
Inputs: connectionString, connectionName, schema, maxRows.
find_missing_indexesFind Missing IndexesC
Identify potentially missing indexes based on query execution patterns
Inputs: connectionString, connectionName, schema, minImpact.
get_all_stored_procedure_definitionsGet All Stored Procedure DefinitionsB
Get complete SQL definitions for all stored procedures in a schema
Inputs: connectionString, connectionName, schema, includeSystemProcedures, +1 more.
get_multiple_stored_procedure_definitionsGet Multiple Stored Procedure DefinitionsC
Get complete SQL definitions for multiple stored procedures at once
Inputs: procedureNames (required), connectionString, connectionName, schema, +1 more.
get_relationshipsGet Table RelationshipsC
Get foreign key relationships between tables in the database
Inputs: connectionString, connectionName, schema.
get_stored_procedure_definitionGet Stored Procedure DefinitionA
Get the complete SQL query/definition of a stored procedure - this is the actual source code
Inputs: procedureName (required), connectionString, connectionName, schema, +1 more.
list_connectionsList Available ConnectionsA
List all available named database connections configured in the server
Inputs: no named parameters.
list_constraintsList All ConstraintsC
List all constraints (check, unique, foreign key, etc.) across tables in the database
Inputs: connectionString, connectionName, schema, constraintType.
list_databasesList DatabasesB
List all databases available on the SQL Server instance
Inputs: connectionString, connectionName.
list_default_constraintsList Default ConstraintsC
List all default value constraints and their definitions
Inputs: connectionString, connectionName, schema, tableName.
list_functionsList User-Defined FunctionsB
List all user-defined functions (scalar, table-valued, etc.)
Inputs: connectionString, connectionName, schema, functionType.
list_indexesList Table IndexesB
List all indexes on tables with usage statistics and detailed information
Inputs: connectionString, connectionName, schema, tableName, +1 more.
list_stored_proceduresList Stored ProceduresC
List all stored procedures, functions, and their basic information
Inputs: connectionString, connectionName, schema, includeSystemObjects.
list_tablesList TablesB
List all tables in the connected database
Inputs: connectionString, connectionName, schema.
list_triggersList TriggersB
List all triggers in the database with their associated tables
Inputs: connectionString, connectionName, schema, tableName.
list_user_defined_typesList User-Defined Data TypesC
List all user-defined data types and their definitions
Inputs: connectionString, connectionName, schema.
list_viewsList ViewsC
List all views in the database with their basic information
Inputs: connectionString, connectionName, schema, includeSystemViews.
sample_dataSample Table DataB
Retrieve sample data from a table (top 10 rows by default)
Inputs: tableName (required), connectionString, connectionName, schema, +1 more.
search_stored_procedures_by_contentSearch Stored Procedures by ContentB
Search for stored procedures containing specific text or patterns in their SQL definition
Inputs: searchText (required), connectionString, connectionName, schema, +2 more.
test_connectionTest ConnectionC
Test the database connection and return basic server information
Inputs: connectionString, connectionName.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 33 tools
Most tools have distinct purposes, but there is some overlap that could cause confusion. For example, 'describe_stored_procedure' and 'get_stored_procedure_definition' both provide stored procedure details, and 'list_stored_procedures' overlaps with 'search_stored_procedures_by_content' in listing procedures. However, descriptions help clarify differences, and most tools target specific analysis or listing tasks without significant ambiguity.
Tool names follow a highly consistent verb_noun pattern throughout, such as 'analyze_check_constraints', 'describe_table', 'list_databases', and 'find_missing_indexes'. All tools use snake_case without deviation, and verbs like 'analyze', 'describe', 'list', 'find', and 'get' are applied predictably across similar resource types, making the naming scheme clear and uniform.
With 33 tools, the count is borderline high for a database analysis server, feeling somewhat heavy and potentially overwhelming. While the tools cover a wide range of analysis and listing tasks, the number could be streamlined by consolidating overlapping functions (e.g., stored procedure tools). It's reasonable but leans toward excessive for typical agent use.
The tool set provides comprehensive coverage for database analysis and exploration, including listing resources, describing schemas, analyzing performance and data patterns, and executing queries. There are no obvious gaps; it supports full lifecycle tasks from connection testing to in-depth analysis, ensuring agents can handle most database-related workflows without dead ends.
Related MCP Connectors
Query Postgres, MySQL, SQL Server, Oracle, BigQuery, ClickHouse and Redshift from your AI client.
Query, explore, and manage your databases through natural conversation.
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Hosted SQL Server MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI assistants (Cursor, Windsurf, Claude Code) to interact with Microsoft SQL Server databases by providing connectivity through environment-configurable connections.8601 npm8MIT
- -licenseNot gradedqualityNot gradedmaintenanceA bridge that allows AI assistants like Claude to directly query and explore Microsoft SQL Server databases without requiring coding experience.-
- AlicenseAqualityDmaintenanceEnables natural language to SQL queries on MSSQL databases via Claude, with safe SELECT-only execution and schema discovery.3ISC
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to connect to on-premises SQL Server databases using natural language for queries, schema management, and data operations.1MIT