Token导航 LogoToken导航TokenDH.com
MCP Db Query Assistant logo
数据服务stdio官方级别未说明来源级核验

MCP Db Query Assistant

MCP Server

一个智能系统,将自然语言问题转换为SQL查询并在Supabase PostgreSQL数据库上安全执行,适用于无需SQL知识的用户友好型数据分析。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
数据分析自然语言处理AI驱动

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mitali-01

提供方

mitali-01

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

AI驱动的SQL查询执行器

MCP+Supabase+拥抱面部+流光灯

一个智能系统,可以转换 将自然语言问题转化为SQL查询 并在 Supabase PostgreSQL 数据库。\ 由...驱动 MCP(模型上下文协议), 拥抱脸LLMs,现代 流线型UI.

______________________________________________________________________

概述

问以下问题:

“总收入排名前五的销售人员?”

该系统将:

  1. 使用A LLM(通过MCP) 转换自然语言→ SQL
  2. 通过安全机制执行SQL Supabase RPC
  3. 返回结构化结果 JSON 用于UI或分析

这提供了一个安全、用户友好的分析层,不需要SQL知识。

______________________________________________________________________

MCP集成

MCP(模型上下文协议) 充当LLM和数据库之间的安全桥梁。

MCP职责:

  • 转换用户意图→ SQL
  • 限制LLM直接访问数据库
  • 仅通过批准的路径路由SQL RPC 函数
  • 维护沙盒、受控执行

这确保了强大的安全性,同时保持了LLM的灵活性。

______________________________________________________________________

数据库模式

表: sales

类型描述
id序列(PK)唯一记录id
地区文本销售地区
产品文本产品名称
价格数字单价
数量整数售出数量
日期日期交易日期
客户文本客户名称
销售人员文本销售人员处理销售

______________________________________________________________________

安全RPC功能

所有SQL都是通过受控RPC执行的:

create or replace function execute_raw_sql(query text)
returns json as $$
declare
    result json;
    clean_query text;
begin
    clean_query := trim(both ';' from query);
    execute 'select json_agg(t) from (' || clean_query || ') t' into result;
    return coalesce(result, '[]'::json);
exception
    when others then
        return json_build_object('error', SQLERRM);
end;

为什么这是安全的:

  • 仅运行SELECT查询
  • 删除不安全的分号
  • 防止SQL注入
  • 始终返回JSON

该仓库包含suabase_queries.sql,它:

  • 创建表格
  • 创建RPC
  • 插入约50个样本行

______________________________________________________________________

项目结构

Copy code
/
├── app.py              # Streamlit UI
├── main.py             # Backend logic: NLP → SQL → RPC
├── supabase_client.py  # Supabase connection helper
├── requirements.txt    # Dependencies
├── supabase_queries.sql
└── .env                # Credentials (not committed)

______________________________________________________________________

配置

使用以下命令创建.env文件:

SUPABASE_URL=
SUPABASE_KEY=
HUGGINGFACE_API_KEY=
Supabase Init (supabase_client.py)
python
Copy code
supabase = create_client(os.getenv("SUPABASE_URL"), os.getenv("SUPABASE_KEY"))
response = supabase.rpc("execute_raw_sql", {"query": sql_query}).execute()

______________________________________________________________________

流线型前端

UI允许用户:

  • 输入自然语言问题
  • 查看生成的SQL
  • 以表格形式显示结果

______________________________________________________________________

运行项目

  1. 安装依赖项
pip install -r requirements.txt
  1. 配置环境变量
  • 从上面的模板创建.env。
  1. 启动后端服务
uvicorn main:app --reload
  1. 启动Streamlit用户界面
streamlit run app.py

______________________________________________________________________

示例输出

用户查询:

“按总销售额显示前5名销售人员”

系统响应:

{
  "query": "SELECT salesperson, SUM(price * quantity) AS total_sales
            FROM sales
            GROUP BY salesperson
            ORDER BY total_sales DESC
            LIMIT 5",
  "data": [
    { "salesperson": "Ananya Mehta", "total_sales": 1456000 },
    { "salesperson": "Ravi Kapoor", "total_sales": 1324000 }
  ]
}

______________________________________________________________________

未来的增强功能

  • 多表查询(产品、客户、地区)
  • 模式感知SQL提示
  • 查询日志和分析
  • 可视化图表和仪表板
  • 安全访问的用户身份验证

______________________________________________________________________

Loom视频链接:

https://www.loom.com/share/1618617288104c00a0e021a092bd0b2c

目录标签

目录标签

数据分析自然语言处理AI驱动PLpgSQL本地部署SQL查询数据库安全

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP