AutoGluon MCP
⚠️ 开发发布通知 这是一个 开发发布 (开发版)。该软件是: - 非 beta版本 - 非 释放候选人 - 非 稳定的释放 该软件正在积极开发中,可能包含错误、不完整的功能和破坏性的更改。使用风险自负。请勿在生产环境中使用。
基于Elixir的MCP(模型上下文协议)服务器,使用AutoGluon提供机器学习功能。
特性
- 表格预测:使用分类和回归的表格数据进行训练和预测
- 多模态学习:支持文本、图像和组合文本+图像数据
- 时间序列预测:预测时间序列数据中的未来值
- 模型评价:根据测试数据评估经过训练的模型
- 易于集成:用于培训、预测和评估的简单API
开发发布
⚠️ 这是一个开发版本,而不是测试版、候选版本或稳定版本。请勿在生产中使用。
快速开始
先决条件
- 灵丹妙药1.18+
- OpenSSL开发库
备注Python 3.8+和AutoGluon在编译过程中通过PythonX自动安装。
安装
git clone https://github.com/V-Sekai-fire/autogluon-mcp.git
cd autogluon-mcp
mix deps.get
mix compile用法
STDIO传输(默认)
对于当地发展:
mix mcp.server或使用release:
./_build/prod/rel/autogluon_mcp/bin/autogluon_mcp startHTTP传输
对于web部署:
PORT=8081 MIX_ENV=prod ./_build/prod/rel/autogluon_mcp/bin/autogluon_mcp start终点:
POST /-JSON-RPC 2.0 MCP请求GET /sse-服务器发送流媒体事件GET /health-健康检查
可用工具
autogluon_fit_tabular-根据训练数据训练一个表格预测器autogluon_predict_tabular-使用训练好的表格模型进行预测autogluon_fit_multimodal-训练多模态预测器(文本/图像/表格)autogluon_fit_timeseries-训练时间序列预测器进行预测autogluon_evaluate_model-根据测试数据评估训练好的模型
示例
工作室:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "autogluon_fit_tabular",
"arguments": {
"train_data_path": "train.csv",
"label": "class",
"time_limit": 60
}
}
}HTTP:
curl -X POST http://localhost:8081/ \
-H "Content-Type: application/json" \
-H "mcp-protocol-version: 2025-06-18" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "autogluon_fit_tabular", "arguments": {"train_data_path": "train.csv", "label": "class"}}}'配置
可选MCP配置:
服务器在初始化过程中支持可选配置:
timeout_ms(整数,可选):AutoGluon操作允许的最长时间(毫秒)。如果没有提供,则不会强制超时。必须在100到300000之间。防止资源耗尽和DoS攻击。
- 示例值: 5000, 10000, 30000
环境变量:
MCP_TRANSPORT-运输类型("http"或"stdio")PORT-HTTP服务器端口(默认值:8081)HOST-HTTP服务器主机(默认值:0.0.0.0如果设置了端口,否则localhost)MIX_ENV-环境(prod,dev,test)ELIXIR_ERL_OPTIONS-Erlang选项(设置为"+fnu"对于UTF-8)
运输选择:
- 如果
MCP_TRANSPORT已设置,请使用该传输 - 如果
PORT已设置,请使用HTTP传输 - 否则,使用STDIO传输(默认)
AutoGluon功能
表格预测
为分类和回归任务训练结构化数据模型:
from autogluon.tabular import TabularDataset, TabularPredictor
train_data = TabularDataset('train.csv')
predictor = TabularPredictor(label='class').fit(train_data)
predictions = predictor.predict(test_data)多模态学习
支持文本、图像和组合数据类型:
- 文本分类
- 图像分类
- 命名实体识别(NER)
- 目标检测
- 语义匹配
时间序列预测
预测时间序列中的未来值:
from autogluon.timeseries import TimeSeriesDataFrame, TimeSeriesPredictor
data = TimeSeriesDataFrame('timeseries.csv')
predictor = TimeSeriesPredictor(target='target', prediction_length=48).fit(data)
predictions = predictor.predict(data)故障排除
未找到Python/AutoGluon:构建过程通过PythonX自动安装Python和AutoGluon。跑 mix clean && mix compile 如果问题持续存在。
端口已在使用中:更改 PORT 环境变量或停止冲突的服务。
编译错误:运行 mix deps.get && mix clean && mix compile.
调试模式:使用 MIX_ENV=dev mix mcp.server 用于详细日志记录。
内存问题:AutoGluon可能会占用大量内存。考虑设置时间限制或使用较小的数据集进行测试。
许可证
MIT许可证-有关详细信息,请参阅License.md。
贡献
看 开发.md 用于开发设置和贡献指南。
