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을 지원합니다.
  • 🖱️ 사용 가능한 테이블을 리소스로 나열합니다.
  • 🔧 표 내용 읽기

시사

건축학

이 서버를 프로젝트에 통합하는 방법은 아래와 같이 두 가지가 있습니다. 왼쪽은 기본 모드인 원격 모드입니다. 서비스 제공업체에서 xiyanSQL-qwencoder-32B 모델에 액세스하려면 API 키가 필요합니다( 구성 참조). 또 다른 모드는 보안성이 더 높은 로컬 모드입니다. API 키가 필요하지 않습니다.

모범 사례 및 보고서

"코드 한 줄도 작성하지 않고 MCP + Modelscope API-Inference를 사용하여 로컬 데이터 어시스턴트를 구축하세요"

"모델스코프의 Xiyan MCP"

MCPBench에서의 평가

다음 그림은 MCPBench 벤치마크를 통해 측정된 XiYan MCP 서버의 성능을 보여줍니다. XiYan MCP 서버는 MySQL MCP 서버와 PostgreSQL MCP 서버보다 2~22%p 높은 성능을 보였습니다. 자세한 실험 결과는 MCPBench"MCP 서버 평가 보고서" 에서 확인할 수 있습니다.

도구 미리보기

  • get_data 도구는 데이터베이스에서 데이터를 검색하기 위한 자연어 인터페이스를 제공합니다. 이 서버는 내장 모델을 사용하여 입력된 자연어를 SQL로 변환하고, 데이터베이스를 호출하여 쿼리 결과를 반환합니다.
  • {dialect}://{table_name} 리소스를 사용하면 특정 table_name이 지정될 때 모델 참조를 위해 데이터베이스에서 샘플 데이터의 일부를 얻을 수 있습니다.
  • {dialect}:// 리소스는 현재 데이터베이스의 이름을 나열합니다.

설치

pip에서 설치

Python 3.11 이상이 필요합니다. pip를 통해 서버를 설치하면 최신 버전이 설치됩니다.

지엑스피1

그 후에는 다음과 같이 서버를 직접 실행할 수 있습니다.

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 모델지역 LLM
설명기본적이고 사용하기 쉬움최고의 성능, 안정성, 추천최고의 성능, 시험용느리고 보안이 엄격함
이름공식 모델명(예: gpt-3.5-turbo, qwen-max)XGenerationLab/XiYanSQL-QwenCoder-32B-2412xiyansql-qwencoder-32bxiyansql-qwencoder-3b
열쇠서비스 제공자(예: OpenAI, Alibaba Cloud)의 API 키모델스코프의 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

일반 LLM

일반 LLM(예: gpt3.5)을 사용하려면 다음과 같이 직접 구성할 수 있습니다.

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 모델

XiYanSQL-qwencoder-32B( https://github.com/XGenerationLab/XiYanSQL-QwenCoder )를 권장합니다. 이는 텍스트-SQL 변환의 SOTA 모델입니다. Bird 벤치마크를 참조하세요. 이 모델을 사용하는 방법은 두 가지가 있습니다. (1) Modelscope , (2) Alibaba Cloud DashScope 중 하나를 사용할 수 있습니다.

(1) 모델스코프 버전

Modelscope에서 API-inference 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 보내드리겠습니다. yml 파일에 key 입력하시면 됩니다. 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 모델을 자신의 서버에 배포할 수도 있습니다.

로컬 모델

참고: 로컬 모델은 느립니다(제 맥북에서는 쿼리당 약 12초). 안정적이고 빠른 서비스가 필요하다면 모델스코프 버전을 사용하는 것이 좋습니다.

로컬 모드에서 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"

지금까지 로컬 모드가 준비되었습니다.

데이터베이스 구성

host , port , user , password , database 데이터베이스의 연결 정보입니다.

로컬 또는 원격 데이터베이스를 사용할 수 있습니다. 이제 MySQL과 PostgreSQL을 지원합니다(곧 더 많은 언어 지원 예정).

MySQL

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

포스트그레스큐엘

1단계: Python 패키지 설치

pip install psycopg2

2단계: 다음과 같이 config.yml을 준비합니다.

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

postgresql의 경우 dialect postgresql 이어야 합니다.

시작하다

클로드 데스크탑

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钉钉群 | 웨이보에서 나를 팔로우하세요.

소환

만약 저희의 자료가 도움이 된다면, 꼭 인용해 주시기 바랍니다.

@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