 ](https://github.com/Shulin-Zhang/db-query-mcp/pulls)
\英语| [中文 \]
数据库查询mcp
引言
db-query mcp是一个支持多种数据库查询和导出的mcp工具,其特点是:
- 多数据库支持:与主流数据库(ElasticSearch、MySQL、PostgreSQL、Oracle、SQLite等)完全兼容
- 安全访问:数据保护的默认只读模式
- 智能查询:使用查询优化进行自然语言到SQL的转换
- 数据导出:CSV/Json导出功能
- 路线图:扩展对MongoDB和GraphDatabase的支持,成为全栈DB查询MCP
演示
https://github.com/user-attachments/assets/60771cda-8b52-41bd-90e3-523c836f6366
更新日志
- 2025-06-02:增加了对ElasticSearch数据库查询的支持
安装
pip install db-query-mcpElasticSearch:
pip install "db-query-mcp[elasticsearch]"从GitHub安装:
pip install git+https://github.com/NewToolAI/db-query-mcpMySQL需要额外的依赖关系:
pip install pymysqlPostgreSQL需要额外的依赖关系:
pip install psycopg2-binary对于其他数据库,请安装其各自的连接包:
| 数据库 | 连接包 | 连接字符串示例 |
|---|---|---|
| 数据库 | 内置Python | sqlite:///example.db |
| MySQL | pymysql 或 mysql-connector-python | mysql+pymysql://user:password@localhost/dbname |
| PostgreSQL | psycopg2 或 psycopg2-binary | postgresql://user:password@localhost:5432/dbname |
| 甲骨文 | cx_Oracle | oracle+cx_oracle://user:password@hostname:1521/sidname |
| SQL Server | pyodbc 或 pymssql | mssql+pyodbc://user:password@hostname/dbname |
配置
注:对于某些客户端,如Cursor,一次只能运行一个db查询mcp服务器。
使用uvx运行
{
"mcpServers": {
"sqlite_db_mcp": {
"command": "uvx",
"args": [
"db-query-mcp",
"--db",
"sqlite",
"--uri",
"sqlite:///sqlite_company.db"
]
}
}
}{
"mcpServers": {
"es_db_mcp": {
"command": "uvx",
"args": [
"db-query-mcp",
"--db",
"elasticsearch",
"--uri",
"https://user:password@localhost:9200?index=test_data_index&ca_certs=/home/user/http_ca.crt"
]
}
}
}使用命令运行
{
"mcpServers": {
"sqlite_db_mcp": {
"command": "db-query-mcp",
"args": [
"--db",
"sqlite",
"--uri",
"sqlite:///sqlite_company.db"
]
}
}
}{
"mcpServers": {
"es_db_mcp": {
"command": "db-query-mcp",
"args": [
"--db",
"elasticsearch",
"--uri",
"https://user:password@localhost:9200?index=test_data_index&ca_certs=/home/user/http_ca.crt"
]
}
}
}
