Skip to main content
Glama
mathmethods-mcp

mathmethods-mcp

dynamic_2d_nonlinear_solve

Solve and analyze 2D nonlinear systems x'=f(x,y), y'=g(x,y); get equilibria, Jacobian classifications, nullclines, trajectories, and optional phase portraits.

Instructions

Solve and analyze the nonlinear 2D system x' = f(x,y), y' = g(x,y).

Args: eq_x, eq_y: Math expressions for f and g (variables x, y, mu and extra params). params: extra parameter values (e.g. {'alpha': 0.5}). mu: bifurcation parameter value. x0..y_max, cantidad_trayectorias: integration and portrait settings. plot: When True, also return a PNG phase portrait.

Returns: Dict with equilibria, Jacobian-based classification, nullclines and trajectories. With plot=True a list [dict, Image] is returned.

Input Schema

NameRequiredDescriptionDefault
hNo
muNo
t0No
x0No
y0No
eq_xNoy - x
eq_yNox**2 - 1
plotNo
t_finNo
x_maxNo
x_minNo
y_maxNo
y_minNo
paramsNo
cantidad_trayectoriasNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.2.1
    • addedInput schema / properties / plot
      Added value: +{
      +  "default": false,
      +  "title": "Plot",
      +  "type": "boolean"
      +}
  2. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does disclose the return structure (equilibria, Jacobian classification, nullclines, trajectories) and the plot=True branch returning [dict, Image], which is genuinely useful. However, it omits any note on numerical caveats, integration settings behavior, or what 'analyze' actually computes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, followed by compact Args and Returns blocks. Most lines carry information, though the grouped parameter line trades precision for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema the description correctly supplies the return format, and with no annotations it must stand alone. For a 15-parameter solver it is only partially complete: three integration parameters (h, t0, t_fin) are undocumented and the nonlinear-vs-linear decision boundary is never stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there are 15 parameters, so the description must compensate. It explains eq_x/eq_y (variable set: x, y, mu, extra params), params with an example, mu, the x0..y_max/cantidad_trayectorias group, and plot — but leaves h, t0, and t_fin entirely undefined, and the 'integration and portrait settings' phrasing is too vague to recover their meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Solve and analyze the nonlinear 2D system x' = f(x,y), y' = g(x,y)') with an explicit mathematical form. The 'nonlinear' qualifier distinguishes it from the sibling family (dynamic_2d_linear_solve, dynamic_2d_conservative_solve, etc.), though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the tool solves nonlinear 2D systems, so an agent can infer when it applies. There is no explicit when/when-not guidance or routing to alternatives such as dynamic_2d_linear_solve or dynamic_2d_conservative_solve, which matters given the dense sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.