Skip to main content
Glama
mathmethods-mcp

mathmethods-mcp

dynamic_1d_solve

Analyze 1D autonomous ODEs x'=f(x) by computing equilibria, stability, phase portraits, and time series for custom or preset models.

Instructions

Analyze the 1D autonomous system x' = f(x): equilibria, stability, phase portrait and time series.

Args: func_str: f(x) used when model is 'custom'. model: 'custom' | 'malthus' (rx) | 'verhulst' (mux*(1-x/K)) | 'newton' (-k*(x-Ta)). params: parameter values, e.g. {'r': 1.5} or {'mu': 1.0, 'K': 2.0}. x_min, x_max: state window. t_max: final time of the time series. n_phase: resolution of the phase analysis. n_time: number of time steps. initial_conditions: starting states, e.g. [0.1, 1.0]. control_enabled: add a constant control term -h (verhulst/custom only). plot: When True, also return a PNG of f(x) and the time series.

Returns: Dict with equilibria, their stability, the phase portrait data and time solutions. With plot=True a list [dict, Image] is returned.

Input Schema

NameRequiredDescriptionDefault
plotNo
modelNocustom
t_maxNo
x_maxNo
x_minNo
n_timeNo
paramsNo
n_phaseNo
func_strNox
control_enabledNo
initial_conditionsNo

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

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose useful traits beyond the schema: the built-in model formulas, that control adds a -h term and only applies to verhulst/custom, and that plot=True changes the return to [dict, Image]. However it says nothing about numerical method, accuracy/limits, error behavior, or what 'phase portrait data' actually contains.

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?

Docstring structure with a front-loaded one-line summary followed by Args and Returns is easy to parse, and given 0% schema coverage most lines earn their place. It is slightly verbose in the model enumeration, but nothing is wasted.

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

Completeness4/5

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

For an 11-parameter compute tool with no annotations and no output schema, the definition covers parameters and the return shape (including the plot=True variant), which is what an agent most needs. It is thin on failure modes and the exact structure of the returned dict, but the core invocation contract is complete.

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

Parameters5/5

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

Schema description coverage is 0% across 11 parameters, so the description must compensate entirely, and it does: every parameter is given meaning, with formulas for each model value and concrete examples for params ({'r': 1.5}) and initial_conditions ([0.1, 1.0]). This is substantially more useful than the bare titles ('T Max', 'N Phase') in the schema.

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?

The opening line gives a specific verb and resource: 'Analyze the 1D autonomous system x' = f(x)' and enumerates the outputs (equilibria, stability, phase portrait, time series). This clearly separates it in spirit from narrower siblings like dynamic_1d_equilibria or dynamic_1d_bifurcation, but it never names or contrasts with those alternatives, so it stops short of explicit sibling differentiation.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no statement of when to prefer this over dynamic_1d_equilibria or dynamic_1d_bifurcation, and no prerequisites or exclusions. The parameter notes imply capabilities (e.g. control_enabled requires verhulst/custom) but the description never tells the agent when this tool is the right choice.

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