Token导航 LogoToken导航TokenDH.com
Pocket Data Scientist logo
数据服务stdio官方级别未说明来源级核验

Pocket Data Scientist

MCP Server

一款基于AI的数据分析工具,提供交互式对话界面,支持CSV数据集的分析、可视化和数据质量报告。

工具数

0

提示词数

0

GitHub Stars

6

资源数

0
数据分析数据可视化Python自然语言查询AI驱动

安装说明

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

作者 / 组织

Real4LA

提供方

Real4LA

最后核验

2026/5/17 20:22

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

🧪 掌上数据科学家

一个强大的人工智能数据分析工具,结合了Streamlit、Ollama(Llama3)和模型上下文协议(MCP),为探索和分析CSV数据集提供了一个交互式对话界面。

🎥 演示

观看YouTube上的演示视频,了解Pocket Data Scientist的实际操作: YouTube演示

✨ 特性

🤖 AI驱动的分析

  • 会话界面:用自然语言询问有关数据集的问题
  • 智能刀具选择:AI会根据您的问题自动选择正确的分析工具
  • 小样本学习:通过示例优化提示,以提高工具利用率
  • 精确值报告:确保精确的数据报告,无需四舍五入或估计

📊 数据分析能力

  • 数据集概述:获取有关数据集结构的全面信息
  • 汇总统计:所有数字列的详细统计信息
  • 列分析:探索具有最高值和分布的各个列
  • 分组统计:分析按类别分组的数据
  • 相关性分析:发现数值变量之间的关系
  • 数据质量报告:识别缺失值、重复值和数据质量问题

📈 可视化

  • 散布图:可视化两个变量之间的关系
  • 条形图:显示类别分布
  • 直方图:显示价值分布
  • 相关热图:交互式相关矩阵可视化
  • CSV数据查看器:在交互式表格中浏览整个数据集

🎨 用户界面

  • 现代流线型UI:干净、直观的界面,带有侧边栏控件
  • 选项卡式界面:聊天和数据查看器的单独选项卡
  • 实时更新:查看生成的结果
  • 工具使用跟踪:可展开部分显示所有工具调用和结果

🚀 快速开始

先决条件

  • Python 3.8或更高版本
  • 奥拉玛 在本地安装并运行
  • Llama3型号已下载(默认值: llama3:8b)

安装

  1. 克隆存储库
   git clone https://github.com/Real4LA/pocket-data-scientist
  1. 安装依赖项
   pip install -r requirements.txt
  1. 安装并启动Olama

- 下载自 奥拉玛 - 拉动Llama3型号:

     ollama pull llama3:8b
  1. 启动应用程序
   streamlit run app/chat_app.py
  1. 打开浏览器

- 应用程序将在以下时间自动打开 http://localhost:8501

📖 使用指南

入门指南

  1. 上传CSV文件

- 点击侧边栏中的“上传CSV文件” - 选择您的数据集文件 - 等待“已加载”确认

  1. 探索您的数据

- 使用 数据阅读器 选项卡浏览数据集 - 切换到 聊天 提问选项卡

  1. 提出问题

- 在底部的输入框中键入您的问题 - 示例: - “这个数据集是关于什么的?” - “显示摘要统计信息” - “薪水最高的工作是什么?” - “可视化年龄和工资之间的关系” - “绘制相关矩阵”

查询示例

基本信息

What is this dataset about?
Show me all columns
What are the summary statistics?

分析问题

What is the highest paying job?
What is the average salary by job title?
What are the most common cities?
What is the relationship between age and salary?

可视化

Plot correlation matrix
Visualize age vs salary
Create a histogram of salary distribution
Show a bar chart of job title counts

高级分析

What are the top 2 correlated features?
What is the most contributing factor in salary elevation?
Detect outliers in salary

🛠️ 可用工具

该系统提供以下分析工具:

数据探索

  • list_columns():获取列名、类型和数据集结构
  • get_data_overview():全面的数据集概述(形状、内存、列类型)
  • summary_stats():所有数字列的统计数据(平均值、标准值、最小值、最大值等)
  • get_data_sample():从数据集中获取示例行

列分析

  • get_column_summary(column):特定栏目的详细分析

- 最高值和计数 - 数字统计(如适用) - 空百分比 - 唯一值百分比

统计分析

  • group_by_stats(group_by, column):按类别列分组的统计信息

- 每组平均值、标准差、最小值、最大值 - 每组计数

  • correlation_matrix():数值列之间的相关系数
  • compare_columns(column1, column2):两列之间的详细比较

可视化

  • plot_column(column, kind, y):创建各种绘图类型

- kind='scatter' 随着 y:散点图(X vs Y) - kind='bar':类别计数柱状图 - kind='hist':分布直方图 - kind='auto':自动选择绘图类型

  • plot_correlation_matrix():相关矩阵的热图可视化

数据质量

  • detect_outliers(column, method):使用IQR或Z分数识别异常值
  • data_quality_report():全面的数据质量评估

🏗️ 建筑

组件

dataset-inspector-mcp/
├── app/
│   └── chat_app.py          # Streamlit UI application
├── agents/
│   └── agent.py             # AI agent with tool selection logic
├── core/
│   ├── dataset_inspector.py # Core data analysis engine
│   ├── server_mcp.py        # MCP server exposing tools
│   └── tool_client.py       # MCP client for tool communication
├── data/
│   └── data.csv             # Sample dataset
├── plots/                   # Generated visualizations
└── uploads/                 # User-uploaded datasets

运作原理

  1. 用户输入:用户在Streamlit界面中键入问题
  1. 代理处理:The ToolAwareAgent 分析问题并决定调用哪些工具
  1. 工具执行:工具通过MCP(模型上下文协议)执行 ToolClient
  1. 数据分析:The DatasetInspector 使用pandas执行实际数据分析
  1. 响应生成:代理将工具结果格式化为自然语言响应
  1. 显示:结果显示在UI中,包括图表、表格和文本响应

MCP集成

该项目使用FastMCP通过模型上下文协议公开数据分析工具:

  • 工具定义见 core/server_mcp.py
  • ToolClient 通过stdio与MCP服务器通信
  • 这允许AI代理根据用户问题动态调用工具

⚙️ 配置

模型配置

编辑 app/chat_app.py 要更改默认模型,请执行以下操作:

DEFAULT_MODEL = "llama3:8b"  # Change to your preferred model
OLLAMA_ENDPOINT = "http://localhost:11434/api/chat"

支持的型号

任何支持聊天完成的Olama模型。推荐:

  • llama3:8b (默认)
  • llama3.2:3b (更快,更不准确)
  • llama3:70b (更慢,更准确)

📝 项目结构

├── agents/
│   ├── __init__.py
│   └── agent.py              # AI agent with prompt engineering
├── app/
│   ├── __init__.py
│   └── chat_app.py           # Streamlit web application
├── core/
│   ├── __init__.py
│   ├── dataset_inspector.py  # Data analysis engine
│   ├── server_mcp.py         # MCP server
│   └── tool_client.py        # MCP client
├── data/
│   └── data.csv              # Sample dataset
├── plots/                    # Generated visualizations
├── uploads/                  # User uploads directory
├── local.json                # MCP configuration
├── requirements.txt          # Python dependencies
└── README.md                 # This file

🔒 数据隐私

  • 所有数据处理都在您的计算机上本地进行
  • 没有数据发送到外部服务器
  • 上传的文件存储在 uploads/ 目录
  • 生成的图保存在 plots/ 目录

📚 依赖项

  • 流明:Web应用程序框架
  • 熊猫:数据操作和分析
  • matplotlib:绘图库
  • 海生:统计可视化
  • fastmcp:模型上下文协议服务器
  • 请求::Ollama API的HTTP客户端

📞 支持

对于问题、疑问或贡献,请在存储库上打开问题。

______________________________________________________________________

数据分析快乐! 🎉

目录标签

目录标签

数据分析数据可视化Python自然语言查询AI驱动本地部署CSV处理

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP