Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
No arguments |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
solve_z3 | Solve a Z3 constraint satisfaction problem. Takes a structured problem definition and returns a solution using Z3 solver.
Handles both satisfiability and optimization problems.
Args:
problem: Problem definition containing variables and constraints
Returns:
Solution results as TextContent list, including values and satisfiability status |
solve_z3_simple | Simplified interface for Z3 constraint problems. A more direct way to solve Z3 problems without full model structure.
Just provide variables and constraints as simple lists.
Args:
variables: List of dicts with 'name' and 'type' for each variable
constraints: List of constraint expressions as strings
description: Optional problem description
Returns:
Solution results as TextContent list |
solve_highs_problem | Solve a HiGHs linear/mixed-integer programming problem. This tool takes a HiGHs optimization problem defined with variables, objective,
and constraints, and returns a solution if one exists.
HiGHs is a high-performance linear programming solver that supports:
- Linear programming (LP)
- Mixed-integer programming (MIP)
- Both dense and sparse constraint matrices
- Various solver algorithms (simplex, interior point, etc.)
Example problem structure:
{
"problem": {
"sense": "minimize",
"objective": {
"linear": [1.0, 2.0, 3.0]
},
"variables": [
{"name": "x1", "lb": 0, "ub": 10, "type": "cont"},
{"name": "x2", "lb": 0, "ub": null, "type": "cont"},
{"name": "x3", "lb": 0, "ub": 1, "type": "bin"}
],
"constraints": {
"dense": [
[1, 1, 0],
[0, 1, 1]
],
"sense": ["<=", ">="],
"rhs": [5, 3]
}
},
"options": {
"time_limit": 60.0,
"output_flag": false
}
}
Args:
problem: The HiGHs problem definition with variables, objective, and constraints
Returns:
A list of TextContent containing the solution or an error message |
simple_highs_solver | A simplified interface for solving HiGHs linear programming problems. This tool provides a more straightforward interface for HiGHs problems,
without requiring the full HiGHSProblem model structure.
Args:
sense: Optimization sense, either "minimize" or "maximize"
objective_coeffs: List of objective function coefficients
variables: List of variable definitions with optional bounds and types
constraint_matrix: 2D list representing the constraint matrix (dense format)
constraint_senses: List of constraint directions ("<=", ">=", "=")
rhs_values: List of right-hand side values for constraints
options: Optional solver options dictionary
description: Optional description of the problem
Returns:
A list of TextContent containing the solution or an error message |
solve_cvxpy_problem | Solve a CVXPY optimization problem. This tool takes a CVXPY optimization problem defined with variables, objective,
and constraints, and returns a solution if one exists.
Example:
Solve the following problem:
minimize ||Ax - b||₂²
subject to:
0 ≤ x ≤ 1
where A = [1.0, -0.5; 0.5, 2.0; 0.0, 1.0] and b = [2.0, 1.0, -1.0]
Should be this tool call:
simple_cvxpy_solver(
variables=[{"name": "x", "shape": 2}],
objective_type="minimize",
objective_expr="cp.sum_squares(np.array(A) @ x - np.array(b))",
constraints=["x >= 0", "x <= 1"],
parameters={"A": [[1.0, -0.5], [0.5, 2.0], [0.0, 1.0]],
"b": [2.0, 1.0, -1.0]}
)
Args:
problem: The problem definition with variables, objective, and constraints
Returns:
A list of TextContent containing the solution or an error message |
simple_cvxpy_solver | A simpler interface for solving CVXPY optimization problems. This tool provides a more straightforward interface for CVXPY problems,
without requiring the full CVXPYProblem model structure.
Args:
variables: List of variable definitions, each with 'name' and 'shape'
objective_type: Either 'minimize' or 'maximize'
objective_expr: The objective function expression as a string
constraints: List of constraint expressions as strings
parameters: Dictionary of parameter values (e.g., matrices A, b)
description: Optional description of the problem
Returns:
A list of TextContent containing the solution or an error message |
solve_ortools_problem | Solve a constraint programming problem using Google OR-Tools. This tool takes a constraint programming problem defined with variables,
constraints, and an optional objective, and returns a solution if one exists.
Important Note:
Each constraint expression must be a single evaluable Python statement.
You cannot use Python control flow (loops, if statements) in the expressions.
Instead, you need to generate separate constraints for each case.
Example:
Nurse Scheduling Problem:
```python
# Schedule 4 nurses across 3 shifts over 3 days
shifts_var = Variable(
name="shifts_var",
type=VariableType.BOOLEAN,
shape=[4, 3, 3], # [nurses, days, shifts]
description="Binary variable indicating if a nurse works a shift",
)
constraints = []
# INCORRECT - This will fail:
# Constraint(
# expression=(
# "for d in range(3): for s in range(3): "
# "model.add(sum([shifts_var[n][d][s] for n in range(4)]) == 1)"
# )
# )
# CORRECT - Add each constraint separately:
# Each shift must have exactly one nurse
for d in range(3):
for s in range(3):
constraints.append(
Constraint(
expression=f"model.add(sum([shifts_var[n][{d}][{s}] for n in range(4)]) == 1)",
description=f"One nurse for day {d}, shift {s}",
)
)
# Each nurse works at most one shift per day
for n in range(4):
for d in range(3):
constraints.append(
Constraint(
expression=f"model.add(sum([shifts_var[{n}][{d}][s] for s in range(3)]) <= 1)",
description=f"Max one shift for nurse {n} on day {d}",
)
)
# Each nurse works 2-3 shifts total
for n in range(4):
constraints.append(
Constraint(
expression=f"model.add(sum([shifts_var[{n}][d][s] for d in range(3) for s in range(3)]) >= 2)",
description=f"Min shifts for nurse {n}",
)
)
problem = Problem(
variables=[shifts_var],
constraints=constraints,
description="Hospital nurse scheduling problem",
)
```
Args:
problem: The problem definition with variables, constraints, and optional objective
Returns:
A list of TextContent containing the solution or an error message |