Оглавление
Related MCP server: MCP MySQL Server
Функции
🌐 Извлечение данных на естественном языке через XiYanSQL
🤖 Поддержка общих LLM (GPT, qwenmax), модели SOTA Text-to-SQL
💻 Поддержка чисто локального режима (высокая безопасность!)
📝 Поддержка MySQL и PostgreSQL.
🖱️ Перечислите доступные таблицы в качестве ресурсов
🔧 Прочитать содержимое таблицы
Предварительный просмотр
Архитектура
Существует два способа интеграции этого сервера в ваш проект, как показано ниже: Слева — удаленный режим, который является режимом по умолчанию. Для доступа к модели xiyanSQL-qwencoder-32B от поставщика услуг требуется ключ API (см. Конфигурация ). Другой режим — локальный режим, который более безопасен. Для него ключ API не требуется.

Лучшие практики и отчеты
Оценка на MCPBench
На следующем рисунке показана производительность сервера XiYan MCP, измеренная с помощью бенчмарка MCPBench. Сервер XiYan MCP демонстрирует превосходную производительность по сравнению с сервером MySQL MCP и сервером PostgreSQL MCP, достигая преимущества в 2-22 процентных пункта. Подробные результаты эксперимента можно найти на сайте MCPBench и в отчете "Evaluation Report on MCP Servers" .

Инструменты Предварительный просмотр
Инструмент
get_dataпредоставляет интерфейс на естественном языке для извлечения данных из базы данных. Этот сервер преобразует входной естественный язык в SQL с помощью встроенной модели и вызывает базу данных для возврата результатов запроса.Ресурс
{dialect}://{table_name}позволяет получить часть выборочных данных из базы данных для ссылки на модель, если указано конкретное table_name.Ресурс
{dialect}://выведет список имен текущих баз данных.
Установка
Установка из pip
Требуется Python 3.11+. Вы можете установить сервер через pip, и он установит последнюю версию:
Если вы хотите установить версию для разработки из исходного кода, вы можете выполнить установку из исходного кода на github:
Установка из Smithery.ai
См . @XGenerationLab/xiyan_mcp_server
Полностью не протестировано.
Конфигурация
Вам нужен файл конфигурации YAML для настройки сервера. Файл конфигурации по умолчанию находится в config_demo.yml и выглядит следующим образом:
Конфигурация МКП
Вы можете установить транспортный протокол stdio или sse .
СТДИО
Для протокола stdio можно настроить так:
СШЭ
Для протокола sse вы можете настроить конфигурацию mcp следующим образом:
Порт по умолчанию — 8000 При необходимости вы можете изменить порт. Уровень журнала по умолчанию — ERROR . Для получения более подробной информации мы рекомендуем установить уровень журнала на INFO .
Другие конфигурации, такие как debug , host , sse_path , message_path также можно настроить, но обычно вам не нужно их изменять.
Конфигурация LLM
Name — имя используемой модели, key — API-ключ модели, url — API-url модели. Мы поддерживаем следующие модели.
версии | общие LLM (GPT,qwenmax) | Модель SOTA от Modelscope | Модель SOTA от Dashscope | Местные LLM |
описание | базовый, простой в использовании | лучшая производительность, стабильный, рекомендую | лучшее исполнение, для пробы | медленный, с высоким уровнем безопасности |
имя | официальное название модели (например, gpt-3.5-turbo,qwen-max) | XGenerationLab/XiYanSQL-QwenCoder-32B-2412 | xiyansql-qwencoder-32b | xiyansql-qwencoder-3b |
ключ | API-ключ поставщика услуг (например, OpenAI, Alibaba Cloud) | API-ключ modelscope | API-ключ по электронной почте | "" |
URL-адрес | конечная точка поставщика услуг (например, « ») |
Общие LLM
Если вы хотите использовать общие LLM, например gpt3.5, вы можете выполнить прямую настройку следующим образом:
Если вы хотите использовать Qwen от Alibaba, например Qwen-max, вы можете использовать следующую конфигурацию:
Модель SOTA «текст-в-SQL»
Мы рекомендуем XiYanSQL-qwencoder-32B ( https://github.com/XGenerationLab/XiYanSQL-QwenCoder ), которая является моделью SOTA в text-to-sql, см. Bird benchmark . Есть два способа использования модели. Вы можете использовать любой из них. (1) Modelscope , (2) Alibaba Cloud DashScope.
(1) Версия Modelscope
Вам необходимо применить key API-вывода из Modelscope, https://www.modelscope.cn/docs/model-service/API-Inference/intro Затем вы можете использовать следующую конфигурацию:
Более подробную информацию читайте в описании модели .
(2) Версия Dashscope
Мы развернули модель на Alibaba Cloud DashScope, поэтому вам необходимо задать следующие переменные среды: Отправьте мне свой адрес электронной почты, чтобы получить key . ( godot.lzl@alibaba-inc.com ) В письме прикрепите следующую информацию:
Мы вышлем вам key по электронной почте. И вы можете ввести key в файл yml. key будет истекать через 1 месяц или 200 запросов или другие юридические ограничения.
Примечание: эта модель сервиса предназначена только для пробного использования. Если вам необходимо использовать ее в производстве, свяжитесь с нами.
(3) Локальная версия
В качестве альтернативы вы также можете развернуть модель XiYanSQL-qwencoder-32B на своем собственном сервере. Подробнее см. в разделе Локальная модель .
Конфигурация базы данных
host , port , user , password , database — это информация о подключении к базе данных.
Вы можете использовать локальные или любые удаленные базы данных. Теперь мы поддерживаем MySQL и PostgreSQL (скоро больше диалектов).
MySQL
PostgreSQL
Шаг 1: Установка пакетов Python
Шаг 2: подготовьте config.yml следующим образом:
Обратите внимание, что для postgresql dialect должен быть postgresql .
Запуск
Запуск сервера
Если вы хотите запустить сервер с помощью sse , вам необходимо выполнить следующую команду в терминале:
Затем вы должны увидеть информацию по адресу http://localhost:8000/sse в вашем браузере. (По умолчанию, измените, если ваш mcp-сервер работает на другом хосте/порту)
В противном случае, если вы используете транспортный протокол stdio , вы обычно объявляете команду сервера mcp в определенном приложении mcp вместо того, чтобы запускать ее в терминале. Однако вы все равно можете выполнять отладку с помощью этой команды, если это необходимо.
Настройки клиента
Клод Десктоп
Добавьте это в файл конфигурации Claude Desktop, см. пример конфигурации Claude Desktop
Обратите внимание, что команда Python здесь требует полный путь к исполняемому файлу Python (
Claude Desktop в настоящее время не поддерживает транспортный протокол SSE.
Клайн
Подготовьте конфигурацию как у Claude Desktop
Гусь
Если вы используете stdio , добавьте следующую команду в конфигурацию, см. пример конфигурации Goose
В противном случае, если вы используете sse , измените Type на SSE и установите конечную точку на http://127.0.0.1:8000/sse
Курсор
Используйте аналогичную команду следующим образом.
Для stdio :
Для sse :
Остроумный
Добавьте в команду следующее:
Добавьте env: ключ — YML, а значение — путь к вашему файлу yml. Пример конфигурации Ref Witsy
Это не работает!
Свяжитесь с нами: Ding Group钉钉群| Следуйте за мной на Weibo
Другие ссылки по теме
Цитата
Если вы считаете нашу работу полезной, не стесняйтесь дать нам ссылку.