XiYan MCP Server

Official
by XGenerationLab
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables natural language queries to MySQL databases, allowing users to fetch data, list available tables, and read table contents using natural language commands, powered by XiYanSQL text-to-SQL technology.

  • Supports use of OpenAI models like GPT-3.5-turbo for processing natural language queries to SQL databases, configurable through the server settings.

目次

特徴

  • 🌐 XiYanSQLを通じて自然言語でデータを取得する
  • 🤖 一般的な LLM (GPT、qwenmax)、Text-to-SQL SOTA モデルをサポート
  • 💻 純粋なローカル モードをサポートします (高いセキュリティ!)
  • 📝 MySQL と PostgreSQL をサポートします。
  • 🖱️ 利用可能なテーブルをリソースとして一覧表示する
  • 🔧 表の内容を読む

プレビュー

建築

このサーバーをプロジェクトに統合する方法は2つあります。以下をご覧ください。左はリモートモードで、デフォルトのモードです。サービスプロバイダーからxiyanSQL-qwencoder-32BモデルにアクセスするにはAPIキーが必要です(設定を参照)。右はより安全なローカルモードで、APIキーは必要ありません。

ベストプラクティスとレポート

「コードを1行も書かずに、MCP + Modelscope API-Inferenceを使用してローカルデータアシスタントを構築する」

「ModelscopeのXiyan MCP」

MCPBenchでの評価

以下の図は、MCPBenchベンチマークで測定したXiYan MCPサーバーのパフォーマンスを示しています。XiYan MCPサーバーは、MySQL MCPサーバーとPostgreSQL MCPサーバーの両方と比較して優れたパフォーマンスを示し、2~22パーセントポイントのリードを獲得しました。詳細な実験結果は、 MCPBenchおよびレポート「MCPサーバー評価レポート」でご覧いただけます。

ツールプレビュー

  • get_dataツールは、データベースからデータを取得するための自然言語インターフェースを提供します。このサーバーは、組み込みモデルを使用して入力された自然言語をSQLに変換し、データベースを呼び出してクエリ結果を返します。
  • {dialect}://{table_name}リソースを使用すると、特定の table_name を指定すると、モデル参照用にデータベースからサンプル データの一部を取得できます。
  • {dialect}://リソースは現在のデータベースの名前をリストします

インストール

pipからインストールする

Python 3.11以降が必要です。pipを使ってサーバーをインストールすると、最新バージョンがインストールされます。

pip install xiyan-mcp-server

その後、次の方法でサーバーを直接実行できます。

python -m xiyan_mcp_server

ただし、以下の設定を完了するまでは、何も機能しません。ymlファイルが作成されます。その後、以下のコマンドでサーバーを起動できます。

env YML=path/to/yml python -m xiyan_mcp_server

Smithery.aiからのインストール

@XGenerationLab/xiyan_mcp_serverをご覧ください

完全にはテストされていません。

構成

サーバーを設定するには、YAML 設定ファイルが必要です。デフォルトの設定ファイルは config_demo.yml に用意されており、以下のような内容になっています。

model: name: "XGenerationLab/XiYanSQL-QwenCoder-32B-2412" key: "" url: "https://api-inference.modelscope.cn/v1/" database: host: "localhost" port: 3306 user: "root" password: "" database: ""

LLM 構成

Nameは使用するモデルの名前、 keyはモデルのAPIキー、 urlモデルのAPI URLです。以下のモデルをサポートしています。

バージョン一般的なLLM(GPT、qwenmax)ModelscopeによるSOTAモデルDashscopeによるSOTAモデル地元の法学修士課程
説明基本的で使いやすい最高のパフォーマンス、安定、推奨最高のパフォーマンス、トライアル用遅い、高セキュリティ
名前公式モデル名(例:gpt-3.5-turbo、qwen-max)XGenerationLab/XiYanSQL-QwenCoder-32B-2412xiyansql-qwencoder-32bxiyansql-qwencoder-3b
サービスプロバイダーのAPIキー(例:OpenAI、Alibaba Cloud)モデルスコープのAPIキーAPIキーをメールで受け取る「」
URLサービスプロバイダーのエンドポイント(例:" https://api.openai.com/v1 ")https://api-inference.modelscope.cn/v1/https://xiyan-stream.biz.aliyun.com/service/api/xiyan-sqlhttp://localhost:5090

一般法学修士

gpt3.5 などの一般的な LLM を使用する場合は、次のように直接設定できます。

model: name: "gpt-3.5-turbo" key: "YOUR KEY " url: "https://api.openai.com/v1" database:

Alibaba の Qwen (例: Qwen-max) を使用する場合は、次の設定を使用できます。

model: name: "qwen-max" key: "YOUR KEY " url: "https://dashscope.aliyuncs.com/compatible-mode/v1" database:

テキストからSQLへのSOTAモデル

テキストからSQLへの変換におけるSOTAモデルであるXiYanSQL-qwencoder-32B( https://github.com/XGenerationLab/XiYanSQL-QwenCoder )をお勧めします。Birdベンチマークを参照してください。このモデルの使用方法は2つあります。どちらでも使用できます。(1) Modelscope 、(2) Alibaba Cloud DashScope。

(1)モデルスコープ版

Modelscope から API 推論のkeyを適用する必要があります ( https://www.modelscope.cn/docs/model-service/API-Inference/intro )。その後、次の構成を使用できます。

model: name: "XGenerationLab/XiYanSQL-QwenCoder-32B-2412" key: "" url: "https://api-inference.modelscope.cn/v1/"

詳細についてはモデルの説明をお読みください。

(2)ダッシュスコープバージョン

Alibaba Cloud DashScope にモデルをデプロイしたので、次の環境変数を設定する必要があります。 keyを取得するには、メールを送信してください。( godot.lzl@alibaba-inc.com ) メールには、次の情報を添付してください。

name: "YOUR NAME", email: "YOUR EMAIL", organization: "your college or Company or Organization"

メールアドレスにkeyをお送りします。 key ymlファイルに入力してください。 key 1ヶ月または200クエリ、もしくはその他の法的制限により有効期限が切れます。

model: name: "xiyansql-qwencoder-32b" key: "KEY" url: "https://xiyan-stream.biz.aliyun.com/service/api/xiyan-sql" database:

注: このモデル サービスは試用版です。本番環境で使用する必要がある場合は、お問い合わせください。

あるいは、モデルXiYanSQL-qwencoder-32B を独自のサーバーにデプロイすることもできます。

ローカルモデル

注:ローカルモデルは遅いです(私のMacBookでは1クエリあたり約12秒)。安定した高速なサービスをご希望の場合は、modelscope版のご利用をお勧めします。

xiyan_mcp_serverをローカルモードで実行するには、

  1. 少なくとも16GBのRAMを搭載したPC/Mac
  2. 6GBのディスク容量

ステップ1: 追加のPythonパッケージをインストールする

pip install flask modelscope torch==2.2.2 accelerate>=0.26.0 numpy=2.2.3

ステップ2: (オプション) モデルを手動でダウンロードするxiyansql-qwencoder-3bを推奨します。モデルを手動でダウンロードするには、

modelscope download --model XGenerationLab/XiYanSQL-QwenCoder-3B-2502

6GBのディスク容量が必要になります。

ステップ 3: スクリプトをダウンロードしてサーバーを実行します。src/xiyan_mcp_server/local_xiyan_server.py

python local_xiyan_server.py

サーバーはhttp://localhost:5090/で実行されます。

ステップ 4: 構成を準備し、xiyan_mcp_server を実行します。config.yml は次のようになります。

model: name: "xiyansql-qwencoder-3b" key: "KEY" url: "http://127.0.0.1:5090"

現在、ローカルモードは準備ができています。

データベース構成

hostportuserpassworddatabase 、データベースの接続情報です。

ローカルデータベースまたはリモートデータベースを使用できます。現在、MySQLとPostgreSQLをサポートしています(今後、他の言語にも対応予定です)。

MySQL

database: host: "localhost" port: 3306 user: "root" password: "" database: ""

PostgreSQL

ステップ1: Pythonパッケージをインストールする

pip install psycopg2

ステップ 2: config.yml を次のように準備します。

database: dialect: "postgresql" host: "localhost" port: 5432 user: "" password: "" database: ""

postgresql の場合、 dialectpostgresqlにする必要があることに注意してください。

打ち上げ

クロードデスクトップ

Claude Desktop の設定ファイルにこれを追加します。Claude Desktop の設定例を参照してください。

{ "mcpServers": { "xiyan-mcp-server": { "command": "python", "args": [ "-m", "xiyan_mcp_server" ], "env": { "YML": "PATH/TO/YML" } } } }

クライン

Claude Desktopのような設定を準備する

ガチョウ

設定に次のコマンドを追加します。Goose 設定例を参照してください。

env YML=path/to/yml python -m xiyan_mcp_server

カーソル

Gooseと同じコマンドを使用します。

ウィッツィー

コマンドに以下を追加します:

python -m xiyan_mcp_server

env: キーはYML、値はymlファイルへのパスを追加します。Witsyの設定例を参照してください。

それは機能しません!

連絡先: Ding Group钉钉群| Weibo でフォローしてください

引用

私たちの仕事が役に立つと思われたなら、遠慮なく引用してください。

@article{xiyansql, title={A Preview of XiYan-SQL: A Multi-Generator Ensemble Framework for Text-to-SQL}, author={Yingqi Gao and Yifu Liu and Xiaoxia Li and Xiaorong Shi and Yin Zhu and Yiming Wang and Shiqi Li and Wei Li and Yuntao Hong and Zhiling Luo and Jinyang Gao and Liyu Mou and Yu Li}, year={2024}, journal={arXiv preprint arXiv:2411.08599}, url={https://arxiv.org/abs/2411.08599}, primaryClass={cs.AI} }
-
security - not tested
A
license - permissive license
-
quality - not tested

XiYanSQL テキストから SQL へのテクノロジを活用し、MySQL データベースへの自然言語クエリを可能にするモデル コンテキスト プロトコル サーバー。

  1. Features
    1. Preview
      1. Architecture
      2. Best practice and reports
      3. Evaluation on MCPBench
      4. Tools Preview
    2. Installation
      1. Installing from pip
      2. Installing from Smithery.ai
    3. Configuration
      1. LLM Configuration
      2. Database Configuration
    4. Launch
      1. Claude Desktop
      2. Cline
      3. Goose
      4. Cursor
      5. Witsy
    5. It Does Not Work!
      1. Citation
        ID: 38egctvcux