DataMineAna
DataMineAna
수학적 모델링 MCP 도구 키트 -- 대형 모델/Agent에게 데이터 전처리, 데이터 분석, 수학적 모델링, 데이터 시각화 기능을 제공합니다.
아키텍처
+-----------------------------------------------+
| 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(Agent용)
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 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