DataMineAna
DataMineAna
Математический модельный MCP-набор инструментов — предоставляет большим языковым моделям/агентам возможности предварительной обработки данных, анализа данных, математического моделирования и визуализации данных.
Архитектура
+-----------------------------------------------+
| Modeling Skill (上层) |
+-----------------------------------------------+
| MCP Client (中层) |
| - 与大模型交互 |
| - 智能文档传递(先常用,再全量) |
| - 工具调用解析与转发 |
+-----------------------------------------------+
| MCP Server (底层) |
| - 工具注册与分发(37 个工具) |
| - 数据预处理(38 个方法) |
| - 数据分析(29 个方法) |
| - 数学建模(47 个方法) |
| - 数据可视化(10 种图表) |
| - 高级扩展(动态方法创建) |
| - 数据档案追踪(核心) |
| - 缓存管理 |
+-----------------------------------------------+
| UI Module (可选) |
| - 交互式数据建模工作台 |
| - 逐步向导:加载->预处理->分析->可视化->建模->报告 |
| - Gradio Web UI |
| - 基于 MCP Server(非直接调用) |
+-----------------------------------------------+Related MCP server: eda-mcp
Ключевые особенности
Плагинная архитектура методов
Каждый класс методов наследует BaseMethod и загружается/выполняется через MethodLoader. Классы методов не раскрываются наружу, доступ осуществляется только через Interface.
module/
methods/ # 方法类(隐藏)
cleaning.py # 相关方法分组
transformation.py
loader.py # MethodLoader 子类(注册所有方法)
interface.py # 公开接口(集成 tracker)Система отслеживания данных (ядро)
Автоматическая запись информации о входных/выходных данных до и после каждого вызова функции
Ведение глобального архива данных (форма, столбцы, типы, пропущенные значения, статистики, детали столбцов)
Полное отслеживание от загрузки данных до завершения моделирования
get_pipeline_reportгенерирует полный список шагов вызова (для написания статей)
Интеллектуальная передача документации
Начальная передача: MCP_USAGE.md + COMMON_API.md (20 часто используемых инструментов)
Передача по требованию: FULL_API.md (37 инструментов + 114 методов)
Управление возвратом через return_mode
Каждый инструмент поддерживает параметр return_mode для управления возвращаемым содержимым:
summary(по умолчанию),full,data,head,tail,sample,path
Динамическое расширение методов
Расширенное расширение: через
create_methodпередаётся строка Python-кода для динамического создания нового методаВнешнее расширение: поместите файлы классов методов в
src/advanced/methods/илиcache/advanced/— они загружаются автоматическиПользовательский UI: пользователи UI также могут писать собственные методы в интерфейсе
Визуализация данных
10 типов графиков: графики распределения, ящики с усами, точечные графики, тепловые карты, матрицы ошибок, ROC-кривые и др.
Поддержка сравнения до/после (до обработки vs после обработки)
Изображения автоматически сохраняются в
cache/plotting/
Структура каталогов
DataMineAna/
src/
common/ # 公共函数库
base_method.py # 方法基类(ParameterDef 支持 UI 自动表单)
method_loader.py # 方法加载器
types.py # 类型定义
validators.py # 参数校验
json_utils.py # JSON 工具
tracker/ # 数据档案与追踪系统(核心)
data_profile.py # 数据档案
profile_manager.py # 档案管理器
call_tracker.py # 调用追踪器
cache_manager/ # 缓存管理
preprocessing/ # 数据预处理(38 个方法)
analysis/ # 数据分析(29 个方法)
modeling/ # 数学建模(47 个方法)
plotting/ # 数据可视化(10 种图表)
plotter.py # 核心绘图引擎
interface.py # 可视化接口
advanced/ # 高级扩展
loader.py # 动态方法加载器
template.py # 扩展模板
methods/ # 内置扩展方法
mcp_server/ # MCP Server(底层接口)
mcp_client/ # MCP Client(中层)
ui/ # 交互式 UI 模块
app.py # Gradio 主应用
state.py # 会话状态(基于 MCP Server)
pages/
page_load.py # 1. 数据加载
page_preprocess.py # 2. 数据预处理
page_analysis.py # 3. 数据分析
page_plot.py # 4. 数据可视化
page_model.py # 5. 模型构建
page_report.py # 6. 流水线报告
components.py # 共享 UI 组件
cache/ # 临时文件目录
preprocessing/ # 预处理临时文件
analysis/ # 分析临时文件
modeling/ # 建模临时文件
plotting/ # 图表临时文件
advanced/ # 动态方法文件
tracker/ # 追踪临时文件
ui/ # UI 临时文件
docs/ # 文档
test.py # 集成测试(20 个测试)
run_ui.py # UI 启动入口Быстрый старт
MCP Server (для использования агентами)
from src.mcp_server import MCPServer
server = MCPServer()
# 加载数据
r = server.call_tool("load_data", path="data.csv")
# 数据清洗
r = server.call_tool("clean_data", dataset_id="ds_xxx", missing_strategy="mean")
# 数据可视化
r = server.call_tool("plot_distribution", dataset_id="ds_xxx")
r = server.call_tool("plot_box", dataset_id="ds_xxx")
# 建模
r = server.call_tool("regression", dataset_id="ds_xxx", target_column="y")
# 获取完整报告
r = server.call_tool("get_pipeline_report")Интерактивный UI (для использования людьми)
python run_ui.py # 默认端口 7860
python run_ui.py --port 8080 # 自定义端口
python run_ui.py --no-open # 不自动打开浏览器Рабочий процесс UI:
Load Data — загрузка файла данных
Preprocess — очистка, преобразование, снижение размерности, разделение
Analyze — описательная статистика, корреляция, распределения, проверка гипотез
Visualize — графики распределения, ящики с усами, точечные графики, тепловые карты, сравнение до/после
Model — регрессия/классификация/кластеризация/кросс-валидация/сеточный поиск
Report — генерация полного отчёта о конвейере
Статистика количества методов
Модуль | Количество методов | Количество инструментов |
Предобработка данных | 38 | 9 |
Анализ данных | 29 | 6 |
Математическое моделирование | 47 | 8 |
Визуализация данных | 10 | 6 |
Расширенное расширение | динамическое | 2 |
Системные инструменты | - | 6 |
Итого | 124+ | 37 |
Расширение методов
Способ 1: наследование от BaseMethod
from src.common.base_method import BaseMethod, MethodResult, ParameterDef
class MyMethod(BaseMethod):
@property
def name(self): return "my_method"
@property
def description(self): return "My custom method"
@property
def category(self): return "custom"
@property
def parameters(self):
return [
ParameterDef(name="threshold", type="float", default=0.5, description="Threshold value"),
]
def execute(self, df, **kwargs):
threshold = kwargs.get("threshold", 0.5)
# your logic here
return MethodResult(df=df, success=True, message="done")Способ 2: динамическое создание (через MCP)
server.call_tool("create_method", code='''
class MyMethod(BaseMethod):
@property
def name(self): return "my_method"
@property
def description(self): return "My custom method"
def execute(self, df, **kwargs):
return MethodResult(df=df, success=True, message="done")
''', module="preprocessing")Способ 3: помещение в каталог расширенного расширения
Поместите файлы методов в src/advanced/methods/ (постоянно) или cache/advanced/ (временно) — они загружаются автоматически.
Зависимости
Python >= 3.10
pandas >= 2.0
numpy >= 1.24
scikit-learn >= 1.3
scipy >= 1.11
matplotlib >= 3.7
seaborn >= 0.12
gradio >= 4.0 (модуль UI)
Лицензия
Лицензия MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceAn MCP server that provides data visualization and machine learning tools, featuring automated intent-based pipeline routing for data cleaning and model training. It enables LLMs to process CSV or JSON data to generate visual charts, perform regressions, or execute clustering analysis.16
- AlicenseAqualityDmaintenanceEnables exploratory data analysis through an MCP server, allowing AI assistants to load datasets, compute summary statistics, generate diagnostic plots, perform correlation analysis, and produce full markdown reports.6MIT
- FlicenseNot gradedqualityBmaintenanceMCP server providing data analytics tools for AI agents to load, clean, analyze data, generate charts and dashboards.
- FlicenseAqualityDmaintenanceAn MCP server for dataset exploration and analysis, enabling LLM clients to perform summary, correlation, distribution, missing value analysis, data cleaning, and statistical tests directly on CSV files.3
Related MCP Connectors
Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace
This MCP server enables users to perform scientific computations regarding linear algebra and vect…
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Fengxiaoxiao-001/DataMineAna-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server