CARBS MCP服务器
一种公开CARBS(成本感知)的模型上下文协议(MCP)stdio服务器 帕累托区域贝叶斯搜索)超参数优化能力。
概述
本项目使用Pythonx将Python CARBS库与Elixir集成, 提供一个独立的MCP服务器,可供MCP兼容客户端使用 超参数优化。
特性
- MCP协议:使用ex_MCP实现完整的MCP服务器
- 多个传输:支持stdio(默认)、HTTP和流式HTTP
上海证券交易所
- Python集成:使用Pythonx嵌入Python并调用CARBS库
- 状态持久性:通过Ecto使用ETNF规范化模式的SQLite3数据库
- 混合释放:打包为独立版本以供部署
安装
- 确保您已安装Elixir和Python 3.8+
- 安装依赖项:
mix deps.get- 设置数据库:
mix ecto.create
mix ecto.migrate建立一个释放
MIX_ENV=prod mix release发布将在 _build/prod/rel/carbs_mcp/.
运行服务器
标准传输(默认)
_build/prod/rel/carbs_mcp/bin/carbs_mcp start或者对于前景模式:
_build/prod/rel/carbs_mcp/bin/carbs_mcp start_iexHTTP传输
设置传输类型并启动服务器:
MCP_TRANSPORT=http _build/prod/rel/carbs_mcp/bin/carbs_mcp start服务器将在端口8080(可配置)上监听HTTP请求。
流式HTTP(SSE)传输
MCP_TRANSPORT=sse _build/prod/rel/carbs_mcp/bin/carbs_mcp start服务器将在上提供服务器发送的事件 /mcp/stream 终点。
MCP工具
服务器公开了以下工具:
carbs_create-创建新的CARBS优化器实例carbs_suggest-获取下一个超参数建议carbs_observe-报告观察结果carbs_load-从数据库加载优化器carbs_save-将优化器保存到数据库carbs_list-列出所有已保存的优化器
配置
Python依赖项配置在 config/config.exs 通过Pythonx pyproject_toml 配置。
数据库配置位于 config/config.exs -默认情况下,在以下位置使用SQLite3 priv/carbs_optimizers.db.
MCP传输可以配置:
- 违约:
:stdio运输 - HTTP:设置
config :carbs_mcp, :mcp_transport, :http并配置端口/主机 - SSE:设置
config :carbs_mcp, :mcp_transport, :sse并配置端口/主机 - 或者使用环境变量:
MCP_TRANSPORT=http或MCP_TRANSPORT=sse
发展
运行测试:
mix test预提交钩子
此项目使用预提交挂钩自动格式化代码。看 .m承诺前钩子.md 有关设置说明。
许可证
请参阅许可证文件。
