Skip to content

Releases: wspringer/highs-mcp

0.3.2 (2025-06-17)

17 Jun 10:14
30dcd76

Choose a tag to compare

Features

Add quadratic objective support for convex QP problems

Added support for quadratic programming (QP) problems, allowing optimization of quadratic objectives of the form minimize c^T x + 0.5 x^T Q x. The quadratic matrix Q can be specified in either dense or sparse format, and must be positive semidefinite for convexity. This enhancement enables solving portfolio optimization, least squares, and other convex QP problems. Note that mixed-integer quadratic programming (MIQP) is not supported - only continuous variables are allowed with quadratic objectives.

0.3.1 (2025-06-08)

14 Jun 08:31
631e133

Choose a tag to compare

Fixes

  • Reorganization of the codebase

0.3.0 (2025-06-07)

08 Jun 09:04
f06d301

Choose a tag to compare

Breaking Changes

  • Replace verbose variable format with compact self-contained format. Variables now use a compact array of objects where each variable specifies its properties (name, lb, ub, type) in a single object with smart defaults, replacing the previous format with separate arrays for bounds, types, and names. This eliminates array synchronization errors and reduces verbosity while using industry-standard abbreviations (lb/ub for bounds, cont/int/bin for types).

Features

  • Enhanced solver parameter control with 40+ new HiGHS options for fine-grained performance tuning and algorithm selection. Adds comprehensive support for solver control, tolerances, simplex options, MIP options, logging, and algorithm-specific parameters while maintaining full backward compatibility.

0.2.0 (2025-06-07)

07 Jun 14:41
9a35ea8

Choose a tag to compare

Breaking Changes

Add sparse matrix support for constraint matrices

This release adds support for sparse matrix representation in constraint specifications, enabling efficient handling of large-scale optimization problems with mostly zero coefficients.

New Features:

  • Sparse matrix format using COO (Coordinate) representation
  • Backward compatible with existing dense matrix format
  • Comprehensive validation for sparse matrix inputs
  • Memory-efficient handling of large problems

Usage:
Use the new sparse format instead of dense for problems with many zero coefficients:

{
  "constraints": {
    "sparse": {
      "rows": [0, 0, 1, 1],
      "cols": [0, 2, 1, 3],
      "values": [1, 1, 1, 1],
      "shape": [2, 4]
    },
    "sense": [">=", ">="],
    "rhs": [2, 3]
  }
}

Recommended for problems with > 1000 variables/constraints or < 10% non-zero coefficients.

0.1.0 (2025-06-07)

07 Jun 13:03
1cae7b7

Choose a tag to compare

Breaking Changes

  • Replace constraint bounds format with intuitive sense/rhs specification. Constraints now use sense (array of "<=", ">=", "=") and rhs (array of numbers) instead of the previous bounds format, providing a more natural mathematical notation that directly matches standard optimization problem formulations.

Fixes

Improve schema documentation to help prevent invalid data errors

Added comprehensive documentation of error conditions and validation requirements directly in the input schemas, including:

  • Dimension consistency requirements for arrays
  • Possible solver statuses (optimal, infeasible, unbounded, etc.)
  • Input validation rules and common errors
  • Valid enum values for all options

This helps AI assistants understand potential failure modes and provide better error handling when using the tool.

0.0.4 (2025-06-05)

05 Jun 12:42
1decce8

Choose a tag to compare

Fixes

Improve error reporting for inconsistent problem dimensions

Enhanced the validation error messages to provide specific details about dimension mismatches:

  • Reports which constraint row has the wrong number of coefficients
  • Shows the actual vs expected counts for all dimension errors
  • Reports multiple dimension errors at once instead of stopping at the first one
  • Provides clearer context about what each dimension should match

This makes it much easier to debug optimization problems with incorrect dimensions.

Add Node.js version check on startup

Added validation to ensure the MCP server runs on Node.js version 16.0.0 or higher:

  • Prints the current Node.js version on startup for debugging
  • Throws a clear error message if the Node version is below 16.0.0
  • Helps users understand why the server might fail due to highs-js dependencies
  • Added test coverage for the version check functionality

This prevents cryptic errors when running on older Node.js versions and provides clear guidance to users about the minimum requirements.

Fix server version reporting

Server now dynamically reads version from package.json instead of using hardcoded "0.0.1".

0.0.3 (2025-06-04)

04 Jun 11:50
473da73

Choose a tag to compare

Fixes

  • Add a repository link
  • Update the README

0.0.2 (2025-06-04)

04 Jun 10:00
b105885

Choose a tag to compare

Features

  • Stronger validation of data passed to the server

Fixes

  • Add a README and set the license
  • Activate knope bot for releases
  • Prevent duplication between the JSON schema and the Zod structure used to validate the data getting passed