streamlit仪表板mcpserver
QueryForge --和你的数据库谈谈。看着它变成一个仪表板
统一的 模型上下文协议 该服务器允许Claude查询任何SQLite数据库并构建实时Streamlit仪表板——所有这些都来自一次对话。
______________________________________________________________________
项目结构
streamlit-dashboard-mcpserver/
├── .venv/ # Python virtual environment (managed by uv)
├── data/
│ ├── seed.py # Generates the sample CRM database
│ └── database.db # SQLite database (generated by seed.py)
├── .python-version # Pinned Python version for uv
├── dashboard.py # Auto-generated by Claude at runtime
├── server.py # The MCP server
├── uv.lock # Dependency lock file
└── README.md______________________________________________________________________
它做什么
| 工具 | 说明 |
|---|---|
list_tables | 列出数据库中的所有表 |
describe_table | 显示表的列、类型和约束 |
sample_table | 返回任何表的前N行 |
query_database | 运行只读SELECT查询 |
create_dashboard | 编写一个Streamlit应用程序,自动安装deps并启动它 |
stop_dashboard | 停止正在运行的Streamlit进程 |
get_dashboard_status | 检查仪表板是否正在运行以及在哪个端口上运行 |
read_dashboard | 阅读当前 dashboard.py 来源 |
!\[截图1仪表板\](“C:\\Users\\benij\\ds_project\\streamlit仪表板mcpserver\\Screshot 2026-02-19 222120.png”) !\[截图2聊天\](“C:\\Users\\benij\\ds_project\\streamlit仪表板mcpserver\\Screshot 2026-02-19 222613.png”)
只读强制执行。INSERT,UPDATE,DELETE,DROP并且在服务器级别阻止所有其他写入操作。
______________________________________________________________________
先决条件
______________________________________________________________________
安装
1.安装克劳德桌面
下载并安装适用于您操作系统的Claude Desktop:
- Windows/macOS:
安装后使用您的Anthropic帐户登录。
______________________________________________________________________
2.克隆存储库
HTTPS:
git clone https://github.com/your-username/streamlit-dashboard-mcpserver.git
cd streamlit-dashboard-mcpserverSSH:
git clone git@github.com:your-username/streamlit-dashboard-mcpserver.git
cd streamlit-dashboard-mcpserverGitHub命令行界面:
gh repo clone your-username/streamlit-dashboard-mcpserver
cd streamlit-dashboard-mcpserver______________________________________________________________________
3.设置环境 uv
此项目使用 uv 环境管理。这 .python-version 和 uv.lock 文件已经提交,因此setup是一个命令。
安装 uv 如果你没有:
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"创建虚拟环境并从锁文件安装所有依赖项:
uv sync激活环境:
# Windows PowerShell
.venv\Scripts\Activate.ps1
# Windows CMD
.venv\Scripts\activate.bat激活后,您将在提示中看到项目名称:
(streamlit-dashboard-mcpserver) PS C:\Users\benij\ds_project\streamlit-dashboard-mcpserver>验证是否安装了密钥包:
pip list | findstr "mcp streamlit"如果缺少任何东西:
uv pip install mcp streamlit pandas plotly______________________________________________________________________
4.生成数据库
这 seed.py 内部脚本 data/ 生成一个真实的CRM数据库,在一个完整的雪花模式中有10000多条记录。
cd data
python seed.py
cd ..这创造了 data/database.db 这是MCP服务器读取的内容。
______________________________________________________________________
5.配置克劳德桌面
Claude Desktop从JSON配置文件中读取MCP服务器定义。
打开配置文件:
notepad $env:APPDATA\Claude\claude_desktop_config.json如果文件还不存在,记事本将要求创建它——单击“是”。
粘贴以下配置,替换 benij 如果不同,请使用您的Windows用户名:
{
"mcpServers": {
"sqlite-dashboard": {
"command": "C:\\Users\\benij\\ds_project\\streamlit-dashboard-mcpserver\\.venv\\Scripts\\python.exe",
"args": [
"C:\\Users\\benij\\ds_project\\streamlit-dashboard-mcpserver\\server.py"
],
"env": {
"DB_PATH": "C:\\Users\\benij\\ds_project\\streamlit-dashboard-mcpserver\\data\\database.db",
"DASHBOARD_PORT": "8501"
}
}
}
}确认您的确切Python路径,在venv活动运行时:
where.exe python预期产量:
C:\Users\benij\ds_project\streamlit-dashboard-mcpserver\.venv\Scripts\python.exe使用该字符串作为 command 配置中的值。
始终使用绝对路径。 Claude Desktop将MCP服务器作为子进程从不可预测的工作目录启动——相对路径将无法正确解析。
______________________________________________________________________
6.重新启动克劳德桌面
保存配置后, 完全退出克劳德桌面 --右键单击系统托盘图标→ 退出。然后重新打开它。
重新启动时,单击🔨 聊天输入左下角的锤子图标。您应该看到列出的所有8个工具,确认服务器已连接。
______________________________________________________________________
用法
连接后,自然地与克劳德交谈:
"What tables are in my database?"
"Show me the top 10 customers by total revenue"
"Build a dashboard with monthly sales trends, a bar chart
by product category, and a salesperson leaderboard"Claude将探索模式,运行查询,编写Streamlit代码,安装任何缺失的依赖项,并返回一个URL在浏览器中打开-- http://localhost:8501 默认情况下。
______________________________________________________________________
环境变量
将这些设置在 env 你的块 claude_desktop_config.json:
| 变量 | 默认值 | 描述 |
|---|---|---|
DB_PATH | ./database.db | SQLite数据库的绝对路径 |
DASHBOARD_PORT | 8501 | 端口Streamlit将继续监听 |
______________________________________________________________________
故障排除
🔨 锤子图标未显示在Claude Desktop中\ 配置JSON可能无效——尾随逗号和不匹配的括号是常见错误。将其粘贴到 Jsonlin.com 以验证。在任何配置更改后,始终完全退出并重新打开Claude Desktop。
“找不到数据库”错误\ 确认 DB_PATH 是一条绝对路径 database.db 存在于 data/ 文件夹。跑 seed.py 如果它还没有生成。
流媒体页面未加载\ 问克劳德“仪表板在运行吗?”打电话 get_dashboard_status如果它不运行,请让克劳德 create_dashboard 再一次。还要检查该端口 8501 尚未被其他进程使用。
uv sync 失败\ 确保您安装的Python版本匹配 .python-version.快跑 python --version 检查并安装正确的版本 python.org 如果需要的话。
激活时出现PowerShell执行策略错误 .venv
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser然后再次激活。
