| name | mcp-project-workflow |
| description | Complete project workflow from creation to report generation. Covers project setup, data upload, quality check, analysis execution, and result delivery. Use when user wants to run a full research project or needs guidance on the standard operating procedure. Triggers: ๆฐๅฐๆก, ๅปบ็ซๅฐๆก, ๅฎๆดๆต็จ, ็ ็ฉถๆต็จ, full workflow, project setup, ๅพ้ ญ้ๅง, start project, SOP, ๆจๆบๆต็จ. |
Project Workflow ๆ่ฝ (ๅฐๆกๅฎๆดๆไฝๆต็จ)
ๆ่ฟฐ
AutoML ๅฐๆกๅพๅปบ็ซๅฐๅ ฑๅ็ข็็ๅฎๆดๆจๆบๆไฝๆต็จ (SOP)ใ
่งธ็ผๆขไปถ
- ใๆฐๅฐๆกใใๅปบ็ซๅฐๆกใใๅพ้ ญ้ๅงใ
- ใๅฎๆดๆต็จใใ็ ็ฉถๆต็จใใSOPใ
- ใๆญฃๅผๅๆใใ็ผ่กจ็จใ
โ ๏ธ ้่ฆๆ้๏ผๅท่กๅๅฟ
่ฎ๏ผ
่ทฏๅพ่ฆๅ๏ผๆๅธธ็ฏ้ฏ๏ผ๏ผ
| ็ฐๅข | ่ทฏๅพๅ็ถด | ไฝฟ็จๆๆฉ |
|---|
| Container | /data/sample_data/ | MCP ๅทฅๅ
ทๅๆธ |
| Container | /data/projects/ | ไฝฟ็จ่
ๅฐๆก่ณๆ |
| Host | /home/eric/... | โ ็ฆๆญข็จๆผ MCP |
csv_path="/home/eric/workspace251204/sample_data/iris.csv"
csv_path="/data/sample_data/iris.csv"
้ ่จญๅๆธ
user_id = "eric"
storage_mode = "temporary"
๐ฏ ๆจๆบๆต็จ็ธฝ่ฆฝ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AutoML ๅฐๆกๆจๆบๆไฝๆต็จ (SOP) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 0: ๆชข่ฆๅฏ็จ่ณๆ โ โ
โ โ โโ list_available_files("/data/sample_data") โ โ
โ โ โโ quick_preview("filename.csv") โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 1: ๅปบ็ซๅฐๆก็ฎ้ (ๅฏ้ธ๏ผๆญฃๅผ็ ็ฉถ็จ) โ โ
โ โ โโ create_project_workspace(project_name, user_id, template) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 2: ไธๅณ/็งปๅ่ณๆ โ โ
โ โ โโ upload_dataset(source_path, storage_mode="temporary") โ โ
โ โ โโ upload_dataset(source_path, storage_mode="permanent") โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 3: ่ณๆๅ่ณชๆชขๆฅ โ โ
โ โ โโ quality_check(csv_path) โ โ
โ โ โโ quick_stats(csv_path, include_quality_check=True) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 4: ๅท่กๅๆ/่จ็ทด โ โ
โ โ โโ [ๅๆ] smart_analyze / generate_tableone_directly โ โ
โ โ โโ [็ตฑ่จ] kaplan_meier / cox / roc_curve โ โ
โ โ โโ [ML] submit_automl_job โ wait_for_job โ get_leaderboard โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 5: ๅๅพ็ตๆ โ โ
โ โ โโ list_analysis_results(user_id) โ โ
โ โ โโ get_analysis_result(result_id) โ โ
โ โ โโ get_model_leaderboard(model_id) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 6: ็ข็ๅ ฑๅ (ๅฏ้ธ) โ โ
โ โ โโ generate_analysis_report(result_ids) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Step 0: ๆชข่ฆๅฏ็จ่ณๆ
็ฎ็
ไบ่งฃๆไป้บผ่ณๆๅฏไปฅไฝฟ็จ๏ผ้ ่ฆฝ่ณๆ็ตๆงใ
ๅท่กๅทฅๅ
ท
list_available_files(directory="/data/sample_data")
quick_preview(csv_path="iris.csv")
quick_preview(csv_path="/data/sample_data/iris.csv")
่ผธๅบ
- ๆชๆกๆธ
ๅฎ
- ่กๆธใๆฌๆธ
- ๆฌไฝๅ็จฑๅๅๅฅ
- ็ผบๅคฑๅผๆฆๆณ
ๅฏ็จ็ฏไพ่ณๆ้
| ๆชๆก | ้กๅ | ็ฎๆจ่ฎๆธ | ้ฉ็จๅ ดๆฏ |
|---|
iris.csv | ๅค้กๅฅๅ้ก | species | ML ๅ
ฅ้ |
titanic.csv | ไบๅ
ๅ้ก | survived | ML ๅ
ฅ้ |
heart_disease.csv | ไบๅ
ๅ้ก | target | ้ซๅญธ ML |
breast_cancer.csv | ไบๅ
ๅ้ก | diagnosis | ้ซๅญธ ML |
medical_study_200.csv | RCT ่ณๆ | treatment_group | ่จๅบ็ ็ฉถ |
rossi_recidivism.csv | ๅญๆดป่ณๆ | arrest, week | ๅญๆดปๅๆ |
stanford_heart.csv | ๅญๆดป่ณๆ | status, time | ๅญๆดปๅๆ |
california_housing.csv | ่ฟดๆญธ | median_house_value | ่ฟดๆญธ้ ๆธฌ |
wine_quality.csv | ๅ้ก/่ฟดๆญธ | quality | ๅ่ณช้ ๆธฌ |
๐ Step 1: ๅปบ็ซๅฐๆก็ฎ้๏ผๅฏ้ธ๏ผ
็ฎ็
็บๆญฃๅผ็ ็ฉถๅปบ็ซ็ต็น่ฏๅฅฝ็็ฎ้็ตๆงใ
ไฝๆ้่ฆ
- โ
ๆญฃๅผ็ ็ฉถๅฐๆก
- โ
ๅคๆฌกๅๆ็ๅฐๆก
- โ
้่ฆไฟ็็ตๆ็ๅฐๆก
- โ ๅฟซ้ๆข็ดขๆงๅๆ๏ผๅฏ่ทณ้๏ผ
ๅท่กๅทฅๅ
ท
create_project_workspace(
project_name="my_breast_cancer_study",
user_id="eric",
template="medical_study"
)
ๆจกๆฟ้ธ้
| ๆจกๆฟ | ็ฎ้็ตๆง | ้ฉ็จๅ ดๆฏ |
|---|
default | data/, analysis/, reports/ | ไธ่ฌ็จ้ |
medical_study | data/raw/, data/processed/, analysis/, reports/, figures/ | ่จๅบ็ ็ฉถ |
ml_project | data/, models/, notebooks/, src/ | ML ๅฐๆก |
็ข็็ฎ้็ตๆง
/data/projects/my_breast_cancer_study/
โโโ data/
โ โโโ raw/ # ๆพๅๅง่ณๆ
โ โโโ processed/ # ๆพๆธ
็ๅพ่ณๆ
โโโ analysis/ # ๅๆ็ตๆ
โโโ reports/ # ๅ ฑๅ
โโโ figures/ # ๅ่กจ
๐ Step 2: ไธๅณ/็งปๅ่ณๆ
็ฎ็
ๅฐ่ณๆไธๅณๅฐ็ณป็ตฑไธญไพๅๆไฝฟ็จใ
ๅฒๅญๆจกๅผ้ธๆ
| ๆจกๅผ | ๅฒๅญไฝ็ฝฎ | ไฟ็ๆ้ | ้ฉ็จๅ ดๆฏ |
|---|
temporary | Redis | 7 ๅคฉ | ๅฟซ้ๅๆใๆข็ดข |
permanent | MinIO | ๆฐธไน
| ๆญฃๅผ็ ็ฉถใML ่จ็ทด |
ๅท่กๅทฅๅ
ท
ๆซๅญๆจกๅผ๏ผๅฟซ้ๅๆ๏ผ๏ผ
upload_dataset(
name="quick_analysis",
source_type="local",
source_path="/data/sample_data/breast_cancer.csv",
storage_mode="temporary",
user_id="eric"
)
ๆฐธไน
ๆจกๅผ๏ผๆญฃๅผ็ ็ฉถ๏ผ๏ผ
upload_dataset(
name="breast_cancer_study",
source_type="local",
source_path="/data/projects/my_study/data/raw/data.csv",
storage_mode="permanent",
user_id="eric"
)
โ ๏ธ ๆณจๆไบ้
- ML ่จ็ทดๅฟ
้ ไฝฟ็จ
permanent ๆจกๅผ
- ่ทฏๅพๅฟ
้ ็จ
/data/... ้้ ญ
๐ Step 3: ่ณๆๅ่ณชๆชขๆฅ
็ฎ็
ๅๆๅๆชขๆฅ่ณๆๅ่ณช๏ผ็ผ็พๆฝๅจๅ้กใ
ๅท่กๅทฅๅ
ท
ๅฐ็จๅ่ณชๆชขๆฅ๏ผ
quality_check(csv_path="/data/sample_data/breast_cancer.csv")
ๆดๅๅจ quick_stats๏ผ
quick_stats(
csv_path="/data/sample_data/breast_cancer.csv",
include_quality_check=True
)
่ผธๅบ่ชชๆ
quality_warnings๏ผๅ่ณช่ญฆๅ๏ผ๏ผ
| ้กๅ | ๅด้ๅบฆ | ่ชชๆ | ๅปบ่ญฐ่็ |
|---|
| ALL_NAN | critical | ๅ
จ็ฉบๅผๆฌไฝ | ็งป้คๆฌไฝ |
| CONSTANT | warning | ๅธธๆธๆฌไฝ | ็งป้คๆฌไฝ |
| HIGH_CARDINALITY_ID | warning | ้ซๅบๆธ ID | ็งป้คๆฌไฝ |
| HIGH_MISSING | warning | ็ผบๅคฑ็ >30% | ๅกซ่ฃๆ็งป้ค |
| SKEWED | info | ๅๆ
ๅๅธ | ่ๆ
ฎ่ฝๆ |
| OUTLIERS | info | ๆฅต็ซฏ็ฐๅธธๅผ | ๆชขๆฅ่ณๆ |
transform_suggestions๏ผ่ฝๆๅปบ่ญฐ๏ผ๏ผ
| ้กๅ | ้ฉ็จๆ
ๆณ | ่ชชๆ |
|---|
| log | ๆญฃๅๆ
ใๅ
จๆญฃๅผ | ๅฐๆธ่ฝๆ |
| log1p | ๆญฃๅๆ
ใๅซ้ถ | log(1+x) ่ฝๆ |
| zscore | ๆญฃๅๆ
ใๅซ่ฒ ๅผ | Z-score ๆจๆบๅ |
analysis_readiness๏ผๅๆๆบๅๅบฆ๏ผ๏ผ
| ็ๆ
| ๆ็พฉ |
|---|
| ready | ๅฏ็ดๆฅๅๆ |
| needs_review | ๅปบ่ญฐๅ
่็่ญฆๅ |
| not_ready | ๆๅด้ๅ้ก้่็ |
๐ Step 4: ๅท่กๅๆ/่จ็ทด
่ทฏๅพ A๏ผๆ่ฟฐๆงๅๆ
ๆจ่ฆ๏ผไธ็ซๅผๅๆ๏ผ
smart_analyze(
csv_path="breast_cancer.csv",
group_column="diagnosis"
)
ๅๆญฅๅท่ก๏ผ
quick_stats(csv_path="breast_cancer.csv")
generate_tableone_directly(
csv_path="breast_cancer.csv",
group_column="diagnosis"
)
analyze_correlations(csv_path="breast_cancer.csv")
่ทฏๅพ B๏ผ็ตฑ่จๅๆ
ๅญๆดปๅๆ๏ผ
kaplan_meier_survival(
csv_path="/data/sample_data/rossi_recidivism.csv",
time_col="week",
event_col="arrest",
group_col="fin"
)
cox_proportional_hazards(
csv_path="/data/sample_data/rossi_recidivism.csv",
time_col="week",
event_col="arrest",
covariates=["age", "prio", "fin"]
)
ROC ๅๆ๏ผ
compute_roc_curve(
csv_path="predictions.csv",
y_true_col="target",
y_score_col="probability"
)
ๅพๅๅๆธ้
ๅฐ๏ผ
run_propensity_analysis(
csv_path="medical_study.csv",
treatment_col="treatment_group",
covariates=["age", "sex", "bmi"]
)
่ทฏๅพ C๏ผๆฉๅจๅญธ็ฟ
Step 4a: ๆไบค่จ็ทด๏ผๅฟ
้ ๅ
upload_dataset ็บ permanent๏ผ
submit_automl_job(
dataset_id="dataset-xxx",
target_column="diagnosis",
problem_type="binary",
time_limit=300,
presets="medium_quality",
user_id="eric"
)
Step 4b: ็ญๅพ
ๅฎๆ
wait_for_job(
job_id="job-xxx",
user_id="eric"
)
Step 4c: ๆฅ็็ตๆ
get_model_leaderboard(
model_id="model-xxx",
user_id="eric"
)
ๅฟซ้่จ็ทด๏ผไธ้ตๅฎๆ๏ผ๏ผ
quick_train(
csv_path="/data/sample_data/heart_disease.csv",
target_column="target",
user_id="eric"
)
๐ Step 5: ๅๅพ็ตๆ
ๅๅบๆๆ็ตๆ
list_analysis_results(
user_id="eric",
analysis_type="tableone"
)
ๅๅพ็นๅฎ็ตๆ
get_analysis_result(result_id="stat_tableone_abc123")
ML ๆจกๅๆ่กๆฆ
get_model_leaderboard(model_id="model-xxx", user_id="eric")
็ตๆๅฒๅญไฝ็ฝฎ
| ้กๅ | Redis Key | MinIO ่ทฏๅพ |
|---|
| TableOne | stats:result:stat_tableone_xxx | automl-results/eric/tableone/ |
| ROC | stats:result:stat_roc_xxx | automl-results/eric/roc/ |
| Correlation | stats:result:stat_correlation_xxx | automl-results/eric/correlation/ |
| ML Model | - | automl-results/eric/models/ |
๐ Step 6: ็ข็ๅ ฑๅ๏ผๅฏ้ธ๏ผ
ๅท่กๅทฅๅ
ท
generate_analysis_report(
result_ids=["stat_tableone_xxx", "stat_roc_yyy"],
user_id="eric"
)
่ผธๅบ
- Markdown ๅ ฑๅ
- ๅฒๅญๆผ:
automl-results/eric/reports/
๐ฏ ๅฟซ้ๆฑบ็ญๆจน
ไฝฟ็จ่
้ๆฑ
โ
โโโ ใ็็้ๅ่ณๆใ
โ โโโ Step 0 โ Step 3
โ quick_preview โ quality_check
โ
โโโ ใๅฟซ้ๅๆใใๅนซๆๅๆไธไธใ
โ โโโ Step 0 โ Step 2(ๆซๅญ) โ Step 4A
โ quick_preview โ upload(temp) โ smart_analyze
โ
โโโ ใๆญฃๅผ็ ็ฉถใใ่ฆ็ผ่กจ็ใ
โ โโโ Step 0 โ Step 1 โ Step 2(ๆฐธไน
) โ Step 3 โ Step 4 โ Step 5 โ Step 6
โ ๅฎๆดๆต็จ
โ
โโโ ใ่จ็ทดๆจกๅใใ้ ๆธฌใ
โ โโโ Step 0 โ Step 2(ๆฐธไน
) โ Step 4C โ Step 5
โ quick_preview โ upload(permanent) โ submit_automl_job โ wait โ leaderboard
โ
โโโ ใๅญๆดปๅๆใใKM ๆฒ็ทใ
โ โโโ Step 0 โ Step 4B
โ quick_preview โ kaplan_meier_survival
โ
โโโ ใๆฏ่ผๅ
ฉ็ตใใๆฒป็ๆๆใ
โโโ Step 0 โ Step 4A (with group_column)
quick_preview โ smart_analyze(group_column="treatment")
๐ ๅฎๆด็ฏไพ
็ฏไพ 1๏ผๅฟซ้ๆข็ดขๅๆ
User: "ๅนซๆๅๆ breast_cancer.csv"
Agent ๅท่ก๏ผ
1. quick_preview(csv_path="breast_cancer.csv")
โ 569 rows, 32 columns, diagnosis ็บไบๅ
่ฎๆธ
2. smart_analyze(
csv_path="breast_cancer.csv",
group_column="diagnosis"
)
โ ่ฟๅ: stats + tableone + correlations
ๅๅ ฑไฝฟ็จ่
๏ผ
"๐ ไนณ่
บ็่ณๆๅๆๅฎๆ๏ผ
่ณๆๆฆๆณ๏ผ
- ๆจฃๆฌๆธ๏ผ569 (M: 212, B: 357)
- ่ฎๆธๆธ๏ผ32
ไธป่ฆ็ผ็พ๏ผ
- ๆกๆง(M)็ต็ radius_mean ้กฏ่่ผ้ซ (p<0.001)
- texture_mean ่ radius_mean ๅ้ซๅบฆ็ธ้ (r=0.32)
Result ID: stat_tableone_abc123"
็ฏไพ 2๏ผๆญฃๅผ็ ็ฉถๅฐๆก
User: "ๆ่ฆๅไธๅๅฟ่็
้ ๆธฌ็ๆญฃๅผ็ ็ฉถ"
Agent ๅท่ก๏ผ
1. create_project_workspace(
project_name="heart_disease_study_2025",
user_id="eric",
template="medical_study"
)
โ /data/projects/heart_disease_study_2025/
2. upload_dataset(
name="heart_disease_main",
source_path="/data/sample_data/heart_disease.csv",
storage_mode="permanent",
user_id="eric"
)
โ dataset_id: "dataset-xxx"
3. quality_check(csv_path="/data/sample_data/heart_disease.csv")
โ analysis_readiness: "ready"
4. generate_tableone_directly(
csv_path="/data/sample_data/heart_disease.csv",
group_column="target"
)
โ result_id: "stat_tableone_yyy"
5. submit_automl_job(
dataset_id="dataset-xxx",
target_column="target",
problem_type="binary",
time_limit=600,
presets="high_quality",
user_id="eric"
)
โ job_id: "job-zzz"
6. wait_for_job(job_id="job-zzz", user_id="eric")
โ model_id: "model-aaa"
7. get_model_leaderboard(model_id="model-aaa", user_id="eric")
8. generate_analysis_report(
result_ids=["stat_tableone_yyy"],
user_id="eric"
)
ๅๅ ฑไฝฟ็จ่
๏ผ
"โ
ๅฟ่็
็ ็ฉถๅฐๆกๅปบ็ซๅฎๆ๏ผ
๐ ๅฐๆก็ฎ้: /data/projects/heart_disease_study_2025/
๐ ๅบ็ท็นๅพต Table One:
| ่ฎๆธ | No Disease (n=164) | Disease (n=139) | p-value |
|------|-------------------|-----------------|---------|
| Age | 52.6 ยฑ 9.8 | 56.8 ยฑ 8.1 | 0.001 |
| Sex (M) | 89 (54%) | 107 (77%) | <0.001 |
๐ค ML ๆจกๅ็ตๆ:
| ๆจกๅ | AUC | ๆบ็ขบ็ |
|------|-----|--------|
| WeightedEnsemble_L2 | 0.91 | 87% |
| XGBoost | 0.89 | 85% |
๐ ๅ ฑๅๅทฒๅฒๅญ: automl-results/eric/reports/"
โ ๏ธ ๅธธ่ฆ้ฏ่ชค
1. ่ทฏๅพ้ฏ่ชค
csv_path="/home/eric/sample_data/iris.csv"
csv_path="/data/sample_data/iris.csv"
2. ML ่จ็ทด็จไบๆซๅญๆจกๅผ
upload_dataset(storage_mode="temporary")
submit_automl_job(...)
upload_dataset(storage_mode="permanent")
submit_automl_job(...)
3. ๆฒ็ญๅพ
่จ็ทดๅฎๆ
submit_automl_job(...)
get_model_leaderboard(...)
result = submit_automl_job(...)
wait_for_job(result["job_id"])
get_model_leaderboard(...)
4. ๅฟ่จ user_id
upload_dataset(..., user_id="eric")
submit_automl_job(..., user_id="eric")
๐ ็ธ้ Skills
| Skill | ็จ้ |
|---|
mcp-quick-analysis | ๅฟซ้ๅๆ๏ผ่ทณ้ๅฐๆกๅปบ็ซ๏ผ |
ml-training-workflow | ML ่จ็ทด็ดฐ็ฏ |
statistical-analysis-workflow | ้ฒ้็ตฑ่จ |
data-cleaning-workflow | ่ณๆๆธ
็ |
result-delivery-workflow | ็ตๆไบคไป |
mcp-tools-reference | ๅทฅๅ
ท้ๆฅ |