Token导航 LogoToken导航TokenDH.com
MCP SQL Chatbot Dashboard logo
数据服务未说明官方级别未说明来源级核验

MCP SQL Chatbot Dashboard

MCP Server

一个Streamlit应用程序,允许用户通过自然语言与SQL数据库交互并可视化数据库趋势。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
自然语言处理Python数据分析数据可视化

安装说明

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

作者 / 组织

mcanalescl

提供方

mcanalescl

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

MCP SQL聊天机器人和仪表板

一个Streamlit应用程序,允许用户使用自然语言与SQL数据库交互,并可视化数据库趋势。该应用程序利用MCP(模块化控制协议)连接到SQL服务器,执行查询并生成交互式仪表板。

特性

  • 自然语言界面: 用简单的英语询问有关数据库的问题。
  • SQL查询生成: 自动将自然语言问题转换为SQL查询。
  • 交互式仪表板: 从数据库生成可视化和见解。
  • 实时结果: 立即获得对您的询问的回复。
  • 可下载的仪表板: 将仪表板导出为HTML文件。

先决条件

  • Python 3.10或更高版本
  • UV包管理器
  • 访问SQL数据库
  • OpenAI或Groq的API密钥

环境变量

在中设置以下环境变量 .env 项目根目录中的文件:

  • MODEL_API_KEY:OpenAI或Groq的API密钥
  • MODEL_ID:要使用的型号ID(例如,Groq的“llama-3.3-70b-university”或OpenAI的“gpt-4”)
  • DB_HOST:数据库服务器的主机名或IP地址
  • DB_USER:数据库的用户名
  • DB_PASSWORD:数据库的密码
  • DB_NAME:数据库的名称

设置和安装

  1. 克隆存储库:
   git clone https://github.com/mcanalescl/MCP-SQL-Chatbot-Dashboard
   cd MCP-SQL-Chatbot-Dashboard
  1. 使用UV安装依赖项:
   uv sync

此命令将:

- 创建虚拟环境(如果不存在) - 安装中列出的所有依赖项 pyproject.toml 文件

  1. 创建 .env 文件:

创建一个 .env 在项目根目录中创建文件并添加环境变量:

   DB_HOST=your_db_host
   DB_USER=your_db_user
   DB_PASSWORD=your_db_password
   DB_NAME=your_db_name
   MODEL_API_KEY=your_api_key
   MODEL_ID=your_model_id

运行应用程序

  1. 激活虚拟环境:
   source .venv/bin/activate  # On Linux/macOS
   .venv\Scripts\activate     # On Windows
  1. 运行Streamlit应用程序:
   streamlit run app.py
  1. 访问应用程序:

打开网络浏览器,转到终端中提供的URL(通常 http://localhost:8501).

用法

聊天机器人选项卡

  1. 提问: 在“聊天机器人”选项卡中,用自然语言键入您对数据库的问题(例如,“列出所有员工”,“最畅销的产品是什么?”)。
  2. 查看结果: 聊天机器人将以数据的自然语言摘要进行响应。

仪表板选项卡

  1. 生成仪表板: 在“仪表板”选项卡中,单击“生成仪表板”按钮。
  2. 查看仪表板: 该应用程序将分析数据库模式,并生成一个带有图表和表格的交互式HTML仪表板。
  3. 下载仪表板: 单击“下载仪表板HTML”按钮将仪表板另存为HTML文件。

关键组件

  • agent.py:

- 定义处理自然语言到SQL转换的代理 - 使用MCP工具包与SQL数据库交互 - 实现异步操作以实现高效的数据库通信 - 返回查询结果的自然语言摘要

  • dashboard_agent.py:

- 处理仪表板生成和可视化 - 分析数据库模式以确定关键指标 - 根据数据类型生成适当的可视化 - 使用Chart.js和Tailwind CSS创建交互式HTML仪表板

  • app.py:

- 主Streamlit应用程序 - 为聊天机器人和仪表板提供用户界面 - 使用持久事件循环管理异步操作 - 处理会话状态和用户交互

技术细节

  • 异步操作: 该应用程序使用Python的asyncio进行高效的数据库操作
  • 事件循环管理: 为了Streamlit兼容性,维护了一个持久的事件循环
  • MCP集成: 使用最新的MCP库进行SQL server通信
  • 型号支持: 兼容OpenAI和Groq语言模型

贡献

欢迎投稿!请随时打开问题或提交pull请求。

许可证

麻省理工学院

目录标签

目录标签

自然语言处理Python数据分析数据可视化本地部署SQL查询交互式仪表盘数据库管理

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP