XiyanSQL metin-to-SQL LLM'si tarafından desteklenen, doğal dil sorguları kullanarak veritabanından veri çekmesine olanak tanıyan bir MCP sunucusu.
Claude Desktop config.json'a ekle
{
"mcpServers": {
"xgenerationlab-xiyan-mcp-server": {
"command": "python",
"args": [
"-m",
"xiyan_mcp_server"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/XGenerationLab/xiyan_mcp_server.git ~/.mcp/xiyan_mcp_server
cd ~/.mcp/xiyan_mcp_server
Veritabanlarına doğal dil sorguları yapabilmeyi sağlayan bir Model Context Protocol (MCP) sunucusu
XiYan-SQL tarafından desteklenmektedir, açık karşılaştırma testlerinde text-to-sql'in en iyi performansı
💻 XiYan-mcp-server |
🌐 XiYan-SQL |
📖 Arxiv |
🏆 XiYanSQL Modeli |
📄 PapersWithCode
🤗 HuggingFace |
🤖 ModelScope |
🌕 析言GBI
Bu sunucuyu projenize entegre etmenin iki yolu vardır, aşağıda gösterildiği gibi: Sol taraf varsayılan mod olan uzak moddur. XiYanSQL-qwencoder-32B modelini hizmet sağlayıcısından erişmek için bir API anahtarı gerektirir (bkz. Yapılandırma). Diğer mod, daha güvenli olan yerel moddur. API anahtarı gerektirmez.

"Tek satır kod yazmadan MCP + Modelscope API-Inference kullanarak yerel veri asistanı oluşturun"
Aşağıdaki şekil, MCPBench ölçütü tarafından ölçülen XiYan MCP sunucusunun performansını göstermektedir. XiYan MCP sunucusu, hem MySQL MCP sunucusu hem de PostgreSQL MCP sunucusuna kıyasla üstün performans göstererek 2-22 yüzde puanı öncü durumdadır. Ayrıntılı deney sonuçları MCPBench ve "MCP Sunucuları Değerlendirme Raporu" raporunda bulunabilir.

get_data aracı, bir veritabanından veri almak için doğal dil arayüzü sağlar. Bu sunucu, girdi doğal dilini yerleşik bir model kullanarak SQL'e dönüştürecek ve veritabanını çağırarak sorgu sonuçlarını döndürecektir.
{dialect}://{table_name} kaynağı, belirli bir table_name belirtildiğinde model referansı için veritabanından örnek verilerin bir kısmını elde etmeyi sağlar.
{dialect}:// kaynağı mevcut veritabanlarının adlarını listeler
Python 3.11+ gereklidir. Sunucuyu pip aracılığıyla kurabilirsiniz ve en son sürümü kurulacaktır:
pip install xiyan-mcp-server
Kaynaktan geliştirme sürümünü kurmak istiyorsanız, github'dan kaynak koddan kurabilirsiniz:
pip install git+https://github.com/XGenerationLab/xiyan_mcp_server.git
Bkz. @XGenerationLab/xiyan_mcp_server
Tam olarak test edilmemiş.
Sunucuyu yapılandırmak için bir YAML yapılandırma dosyasına ihtiyacınız vardır. config_demo.yml'de varsayılan bir yapılandırma dosyası sağlanmıştır ve şöyle görünür:
mcp:
transport: "stdio"
model:
name: "XGenerationLab/XiYanSQL-QwenCoder-32B-2412"
key: ""
url: "https://api-inference.modelscope.cn/v1/"
database:
host: "localhost"
port: 3306
user: "root"
password: ""
database: ""
Taşıma protokolünü stdio veya sse olarak ayarlayabilirsiniz.
Stdio protokolü için, bunu şöyle ayarlayabilirsiniz:
mcp:
transport: "stdio"
Sse protokolü için, mcp yapılandırmasını aşağıdaki gibi ayarlayabilirsiniz:
mcp:
transport: "sse"
port: 8000
log_level: "INFO"
Varsayılan port 8000'dir. Gerekirse portu değiştirebilirsiniz.
Varsayılan günlük seviyesi ERROR'dir. Daha ayrıntılı bilgi için günlük seviyesini INFO olarak ayarlamanızı öneririz.
debug, host, sse_path, message_path gibi diğer yapılandırmalar da özelleştirilebilir, ancak normalde bunları değiştirmeniz gerekmez.
Name kullanılacak modelin adıdır, key modelin API anahtarıdır, url modelin API url'sidir. Aşağıdaki modelleri destekliyoruz.
| sürümler | genel LLM'ler (GPT, qwenmax) | Modelscope tarafından SOTA modeli | Dashscope tarafından SOTA modeli | Yerel LLM'ler |
|---|---|---|---|---|
| açıklama | temel, kullanımı kolay | en iyi performans, istikrarlı, tavsiye edilir | en iyi performans, deneme için | yavaş, yüksek güvenlik |
| isim | resmi model adı (ör. gpt-3.5-turbo, qwen-max) | XGenerationLab/XiYanSQL-QwenCoder-32B-2412 | xiyansql-qwencoder-32b | xiyansql-qwencoder-3b |
| anahtar | hizmet sağlayıcısının API anahtarı (ör. OpenAI, Alibaba Cloud) | modelscope'un API anahtarı | e-posta aracılığıyla API anahtarı | "" |
| url | hizmet sağlayıcısının endpoint'i (ör. "https://api.openai.com/v1") | https://api-inference.modelscope.cn/v1/ | https://xiyan-stream.biz.aliyun.com/service/api/xiyan-sql | http://localhost:5090 |
Genel LLM'leri kullanmak istiyorsanız, örneğin gpt3.5, bunu doğrudan şöyle yapılandırabilirsiniz:
model:
name: "gpt-3.5-turbo"
key: "YOUR KEY "
url: "https://api.openai.com/v1"
database:
Alibaba'dan Qwen'i kullanmak istiyorsanız, örneğin Qwen-max, aşağıdaki yapılandırmayı kullanabilirsiniz:
model:
name: "qwen-max"
key: "YOUR KEY "
url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
database:
XiYanSQL-qwencoder-32B (https://github.com/XGenerationLab/XiYanSQL-QwenCoder) modelini tavsiye ediyoruz; bu, text-to-sql'de SOTA modelidir, bkz. Bird benchmark. Modeli kullanmanın iki yolu vardır. Her ikisinden birini kullanabilirsiniz. (1) Modelscope, (2) Alibaba Cloud DashScope.
Modelscope'dan API-inference'ın bir key'ini almanız gerekiyor, https://www.modelscope.cn/docs/model-service/API-Inference/intro
Daha sonra aşağıdaki yapılandırmayı kullanabilirsiniz:
model:
name: "XGenerationLab/XiYanSQL-QwenCoder-32B-2412"
key: ""
url: "https://api-inference.modelscope.cn/v1/"
Daha fazla bilgi için model açıklamasını okuyun.
Modeli Alibaba Cloud DashScope'a dağıttık, bu nedenle aşağıdaki ortam değişkenlerini ayarlamanız gerekir:
key almak için bana e-postanızı gönderin. (godot.lzl@alibaba-inc.com)
E-postada lütfen aşağıdaki bilgileri ekleyin:
name: "ADINIZ",
email: "E-POSTANIZ",
organization: "üniversitesi veya Şirket veya Organizasyon"
E-postanıza göre size bir key göndereceğiz. Ve yml dosyasında key'i doldurabilisiniz.
key 1 ay veya 200 sorgu veya diğer yasal kısıtlamalarla sona erecektir.
model:
name: "xiyansql-qwencoder-32b"
key: "KEY"
url: "https://xiyan-stream.biz.aliyun.com/service/api/xiyan-sql"
Not: bu model hizmeti yalnızca deneme içindir, bunu üretimde kullanmanız gerekiyorsa, lütfen bizimle iletişime geçin.
Alternatif olarak, XiYanSQL-qwencoder-32B modelini kendi sunucunuza dağıtabilirsiniz. Daha fazla bilgi için Yerel Model dosyasına bakın.
host, port, user, password, database veritabanının bağlantı bilgileridir.
Yerel veya herhangi bir uzak veritabanını kullanabilirsiniz. Şimdi MySQL ve PostgreSQL'i destekliyoruz (yakında daha fazla diyalekt).
database:
host: "localhost"
port: 3306
user: "root"
password: ""
database: ""
Adım 1: Python paketlerini yükleyin
pip install psycopg2
Adım 2: config.yml dosyasını şöyle hazırlayın:
database:
dialect: "postgresql"
host: "localhost"
port: 5432
user: ""
password: ""
database: ""
PostgreSQL için dialect değerinin postgresql olması gerektiğini unutmayın.
sse ile sunucu başlatmak istiyorsanız, aşağıdaki komutu bir terminalde çalıştırmanız gerekir:
YML=path/to/yml python -m xiyan_mcp_server
Daha sonra tarayıcınızda http://localhost:8000/sse hakkında bilgi görmüş olmalısınız. (Varsayılan olarak, mcp sunucunuz başka bir host/port üzerinde çalışıyorsa değiştirin)
Aksi takdirde, stdio aktarım protokolünü kullanıyorsanız, genellikle MCP sunucusu komutunu terminalde başlatmak yerine belirli mcp uygulamasında bildirirsiniz.
Ancak gerekirse bu komutla hata ayıklama yapabilirsiniz.
Claude Desktop yapılandırma dosyanızda bunu ekleyin, bkz. Claude Desktop yapılandırma örneği
{
"mcpServers": {
"xiyan-mcp-server": {
"command": "/xxx/python",
"args": [
"-m",
"xiyan_mcp_server"
],
"env": {
"YML": "PATH/TO/YML"
}
}
}
}
Lütfen buradaki Python komutunun Python yürütülebilir dosyasının tam yolu olması gerektiğini (/xxx/python) unutmayın; aksi takdirde Python yorumlayıcısı bulunamaz. Bu yolu which python komutu kullanarak belirleyebilirsiniz. Aynı durum diğer uygulamalar için de geçerlidir.
Claude Desktop şu anda SSE aktarım protokolünü desteklemiyor.
Claude Desktop gibi yapılandırmayı hazırlayın
stdio kullanıyorsanız, yapılandırmaya aşağıdaki komutu ekleyin, bkz. Goose yapılandırma örneği
env YML=path/to/yml /xxx/python -m xiyan_mcp_server
Aksi takdirde, sse kullanıyorsanız Türünü SSE olarak değiştirin ve endpoint'i http://127.0.0.1:8000/sse olarak ayarlayın
Aşağıdakine benzer komutu kullanın.
stdio için:
{
"mcpServers": {
"xiyan-mcp-server": {
"command": "/xxx/python",
"args": [
"-m",
"xiyan_mcp_server"
],
"env": {
"YML": "path/to/yml"
}
}
}
}
sse için:
{
"mcpServers": {
"xiyan_mcp_server_1": {
"url": "http://localhost:8000/sse"
}
}
}
Komuta aşağıdakileri ekleyin:
/xxx/python -m xiyan_mcp_server
Bir env ekleyin: anahtar YML'dir ve değer yml dosyanızın yoludur. Bkz. Witsy yapılandırma örneği
Araştırmamız veya ürünlerimiz hakkında ilgileniyorsanız, lütfen bizimle iletişime geçmekten çekinmeyin.
Yifu Liu, zhencang.lyf@alibaba-inc.com
Çalışmamız faydalı bulduysa, lütfen bizi alıntı yapmaktan çekinmeyin.
@article{XiYanSQL,
title={XiYan-SQL: A Novel Multi-Generator Framework For Text-to-SQL},
author={Yifu Liu and Yin Zhu and Yingqi Gao and Zhiling Luo and Xiaoxia Li and Xiaorong Shi and Yuntao Hong and Jinyang Gao and Yu Li and Bolin Ding and Jingren Zhou},
year={2025},
eprint={2507.04701},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2507.04701},
}
Veritabanları için kolay, hızlı ve güvenli araçlar sağlayan açık kaynak MCP sunucusu.
Baserow veritabanı entegrasyonu ile tablo arama, listeleme ve satır oluşturma, okuma, güncelleme ve silme işlemlerini gerçekleştirebilirsiniz.
Postgres geliştirme ve operasyonları için kapsamlı MCP sunucusu; performans analizi, ayarlama ve sağlık kontrolleri için araçlar içerir.
Supabase'in resmi MCP sunucusu, AI asistanlarını doğrudan Supabase projenize bağlayarak tablo yönetimi, config getirme ve veri sorgulama gibi işlemleri gerçekleştirmelerine olanak tanır.
NodeJS'de MySQL veritabanı entegrasyonu, yapılandırılabilir erişim kontrolleri ve schema incelemesi özellikleri ile sağlanır.
A Qdrant MCP server