DataMineAna
DataMineAna
Kit de herramientas MCP para modelado matemático: proporciona capacidades de preprocesamiento de datos, análisis de datos, modelado matemático y visualización de datos para grandes modelos/agentes.
Arquitectura
+-----------------------------------------------+
| Modeling Skill (上层) |
+-----------------------------------------------+
| MCP Client (中层) |
| - 与大模型交互 |
| - 智能文档传递(先常用,再全量) |
| - 工具调用解析与转发 |
+-----------------------------------------------+
| MCP Server (底层) |
| - 工具注册与分发(37 个工具) |
| - 数据预处理(38 个方法) |
| - 数据分析(29 个方法) |
| - 数学建模(47 个方法) |
| - 数据可视化(10 种图表) |
| - 高级扩展(动态方法创建) |
| - 数据档案追踪(核心) |
| - 缓存管理 |
+-----------------------------------------------+
| UI Module (可选) |
| - 交互式数据建模工作台 |
| - 逐步向导:加载->预处理->分析->可视化->建模->报告 |
| - Gradio Web UI |
| - 基于 MCP Server(非直接调用) |
+-----------------------------------------------+Related MCP server: eda-mcp
Características principales
Arquitectura de métodos basada en plugins
Cada clase de método hereda de BaseMethod, se carga y ejecuta mediante MethodLoader. Las clases de método no se exponen externamente; solo se accede a través de Interface.
module/
methods/ # 方法类(隐藏)
cleaning.py # 相关方法分组
transformation.py
loader.py # MethodLoader 子类(注册所有方法)
interface.py # 公开接口(集成 tracker)Sistema de seguimiento de perfil de datos (núcleo)
Registra automáticamente la información de entrada/salida antes y después de cada llamada a función.
Mantiene un perfil de datos global (forma, columnas, tipos, valores faltantes, estadísticos, detalles de columnas).
Realiza seguimiento de principio a fin, desde la carga de datos hasta el final del modelado.
get_pipeline_reportgenera los pasos completos de las llamadas (para escribir artículos).
Transmisión inteligente de documentación
Transmisión inicial: MCP_USAGE.md + COMMON_API.md (20 herramientas comunes)
Transmisión bajo demanda: FULL_API.md (37 herramientas + 114 métodos)
return_mode controla la devolución
Cada herramienta admite el parámetro return_mode para controlar el contenido devuelto:
summary(predeterminado),full,data,head,tail,sample,path
Extensión dinámica de métodos
Extensión avanzada: pasa una cadena de código Python mediante
create_methodpara crear dinámicamente nuevos métodos.Extensión externa: coloca archivos de clases de métodos en
src/advanced/methods/ocache/advanced/; se cargan automáticamente.Personalización de UI: los usuarios de la interfaz también pueden escribir métodos personalizados en la interfaz.
Visualización de datos
10 tipos de gráficos: gráfico de distribución, diagrama de caja, diagrama de dispersión, mapa de calor, matriz de confusión, curva ROC, etc.
Admite comparación antes/después (antes del procesamiento vs. después del procesamiento).
Las imágenes se guardan automáticamente en
cache/plotting/.
Estructura de directorios
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 启动入口Inicio rápido
Servidor MCP (para uso de agentes)
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 interactiva (para uso humano)
python run_ui.py # 默认端口 7860
python run_ui.py --port 8080 # 自定义端口
python run_ui.py --no-open # 不自动打开浏览器Flujo de trabajo de la UI:
Load Data - Subir archivo de datos
Preprocess - Limpiar, transformar, reducir dimensionalidad, dividir
Analyze - Estadística descriptiva, correlación, distribución, pruebas de hipótesis
Visualize - Gráfico de distribución, diagrama de caja, diagrama de dispersión, mapa de calor, comparación antes/después
Model - Regresión/clasificación/clustering/validación cruzada/búsqueda en cuadrícula
Report - Generar informe completo del pipeline
Estadísticas de cantidad de métodos
Módulo | N.º de métodos | N.º de herramientas |
Preprocesamiento de datos | 38 | 9 |
Análisis de datos | 29 | 6 |
Modelado matemático | 47 | 8 |
Visualización de datos | 10 | 6 |
Extensión avanzada | Dinámico | 2 |
Herramientas del sistema | - | 6 |
Total | 124+ | 37 |
Métodos de extensión
Forma 1: Heredar de 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")Forma 2: Creación dinámica (a través de 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")Forma 3: Colocar en el directorio de extensiones avanzadas
Coloca los archivos de métodos en src/advanced/methods/ (persistente) o cache/advanced/ (temporal); se cargan automáticamente.
Dependencias
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 (módulo de UI)
Licencia
MIT License
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