MCP机器学习代理
本项目演示了如何将机器学习模型部署为 真正的MCP(模型上下文协议)工具。您将训练逻辑回归和KNN模型,对其进行评估,选择最佳模型,生成SHAP解释,并将结果记录到Parquet中——所有这些都通过MCP服务器公开。
该项目附带了MCP和代理技能模块。
______________________________________________________________________
这个项目包括什么
MCP服务器公开了以下工具:
- 训练逻辑回归和KNN模型
- 将模型导出到joblib
- 生成预测
- 计算混淆矩阵和度量
- 选择最佳型号
- 生成SHAP解释
- 将工具使用情况记录到Parquet
- 导出拼花地板审计日志
生成的工件:
artifacts/*.joblibartifacts/*.jsondata_parquet/*.parquet
______________________________________________________________________
需求
您必须安装:
- Python 3.10或更新版本
- uv包管理器
- VSCode(推荐)
安装说明
步骤1--克隆存储库
在VSCode中:
File → 打开文件夹→ 选择项目文件夹
或从终端:
git clone
cd mcp_ml_agent______________________________________________________________________
步骤2——在项目文件夹中打开终端
在VSCode中:
右键单击:
pyproject.toml选择:
Open in Integrated Terminal确认您位于正确的文件夹中:
窗户:
dir pyproject.tomlMac/Linux:
ls pyproject.toml______________________________________________________________________
步骤3——安装依赖项
在终端中,运行:
如果(base)或任何conda环境显示在您的命令行路径中:
conda deactivateuv sync这将:
- 创建
.venv - 安装所有依赖项
- 准备MCP环境
第一次可能需要几分钟。
______________________________________________________________________
运行MCP服务器
启动MCP服务器:
uv run python mcp_ml_server.py如果成功,服务器将启动并等待MCP工具请求。
预计不会有额外的输出——这是正常的。
______________________________________________________________________
运行客户端演示(可选)
要自动测试工具,请执行以下操作:
uv run python mcp_client_demo.py这将:
- 列车模型
- 评估模型
- 选择最佳型号
- 生成SHAP解释
- 导出拼花地板审计日志
______________________________________________________________________
生成的文件
运行工具后,您将看到:
artifacts/
logistic_regression.joblib
knn.joblib
selection.json
shap_*.json
data_parquet/
tool_audit.parquet你可以在Python中打开Parquet文件:
import pandas as pd
df = pd.read_parquet("data_parquet/tool_audit.parquet")
print(df)______________________________________________________________________
运行Jupyter笔记本(可选)
如果使用笔记本版本:
uv run jupyter notebook打开笔记本,运行手机。
______________________________________________________________________
重要提示:请勿手动激活.vev
请勿奔跑:
.venv\Scripts\activate始终使用:
uv run python filename.pyuv会自动使用正确的环境。
______________________________________________________________________
项目结构
mcp_ml_agent/
- pyproject.toml
- mcp_ml_server.py
- mcp_client_demo.py
- ml_pipeline.py
- parquet_store.py
artifacts/
data_parquet/