Skip to content

BitingSnakes/pyomo-mcp

Repository files navigation

pyomo-mcp

pyomo-mcp is an MCP server for working with the Pyomo optimization library. It ships with the vendored Pyomo docs from ./pyomo-data/OnlineDocs, exposes a persistent Pyomo execution session, and adds inspection and solver-oriented tooling for LLM workflows.

Features

  • Search and read vendored Pyomo docs and example files.
  • Execute Pyomo code with pyomo.environ preloaded in a persistent session.
  • Inspect models, blocks, variables, objectives, constraints, params, sets, and expressions.
  • Evaluate expressions and identify referenced Pyomo variables.
  • Detect common solver interfaces and attempt solves when the runtime has solver support.
  • Export models to solver formats such as LP.
  • Expose MCP tools, resources, prompts, plus HTTP health/readiness routes.

Tools

  • 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

Resources

  • 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

Prompts

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

Run

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

Health endpoints:

  • GET /healthz
  • GET /readyz

Important environment variables:

  • PYOMO_MCP_DOCS_ROOT
  • PYOMO_MCP_EXAMPLES_ROOT
  • PYOMO_MCP_TRANSPORT
  • PYOMO_MCP_HOST
  • PYOMO_MCP_PORT

By default the server reads docs and examples from ./pyomo-data/OnlineDocs. Override that with PYOMO_MCP_DOCS_ROOT and PYOMO_MCP_EXAMPLES_ROOT if you keep pyomo-data elsewhere.

Testing

just test