Pyomo优化库服务

pyomo-mcp是一个为Pyomo优化库提供MCP服务的工具,支持文档搜索、代码执行、模型检查和求解器操作。

  • by BitingSnakes
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 BitingSnakes/pyomo-mcp

使用说明

pyomo mcp

pyomo-mcp 是一个用于使用Pyomo优化库的MCP服务器。它附带了Pyomo提供的文件 ./pyomo-data/OnlineDocs,公开了一个持久的Pyomo执行会话,并为LLM工作流添加了面向检查和求解器的工具。

特性

  • 搜索并阅读供应商提供的Pyomo文档和示例文件。
  • 使用以下命令执行Pyomo代码 pyomo.environ 在持久会话中预加载。
  • 检查模型、块、变量、目标、约束、参数、集合和表达式。
  • 计算表达式并识别引用的Pyomo变量。
  • 检测常见的求解器接口,并在运行时支持求解器时尝试求解。
  • 将模型导出为求解器格式,如LP。
  • 公开MCP工具、资源、提示以及HTTP健康/就绪路由。

工具

  • list_docs
  • search_docs
  • read_doc_page
  • list_examples
  • read_example_file
  • execute_pyomo
  • list_session_objects
  • reset_session
  • inspect_model
  • inspect_component
  • evaluate_expression
  • available_solvers
  • solve_model
  • export_model

资源

  • pyomo://server/capabilities
  • pyomo://project/settings
  • pyomo://docs/index
  • pyomo://docs/page?doc_path=...
  • pyomo://examples/index
  • pyomo://examples/file?example_path=...
  • pyomo://session/objects
  • pyomo://reference/overview

提示

  • model a pyomo optimization problem
  • debug a pyomo model
  • choose a pyomo solver
  • explain pyomo documentation

跑

uv sync
uv run python mcp_server.py --transport stdio
uv run python mcp_server.py --transport http --host 127.0.0.1 --port 8000

健康终点:

  • GET /healthz
  • GET /readyz

重要环境变量:

  • PYOMO_MCP_DOCS_ROOT
  • PYOMO_MCP_EXAMPLES_ROOT
  • PYOMO_MCP_TRANSPORT
  • PYOMO_MCP_HOST
  • PYOMO_MCP_PORT

默认情况下,服务器从以下位置读取文档和示例 ./pyomo-data/OnlineDocs.用以下内容覆盖 PYOMO_MCP_DOCS_ROOT 和 PYOMO_MCP_EXAMPLES_ROOT 如果你坚持 pyomo-data 其他地方。

测试

just test