Skip to main content
Glama
agmonetti

mathmethods-mcp

by agmonetti

Mathematical/Numerical Methods - MCP Server

MCP Server License CI PyPI M8ven Live Monitored

A Model Context Protocol server that exposes a numerical-methods core as tools an LLM agent can call directly from a chat (VS Code, Zed, Claude, opencode, etc.). It is built on top of the numerical-methods engine of the academic project modeladoYsimulacion-web (UADE); the math core is vendored into this repository so the server is fully self-contained.

Quick start

claude mcp add mathmethods-mcp -- uvx mathmethods-mcp

Any MCP client registers the server with the same one-liner command — uvx mathmethods-mcp (a Python package that needs no cloning, venv or paths):

{ "command": "uvx", "args": ["mathmethods"] }
git clone https://github.com/agmonetti/mathmethods-mcp.git
cd mathmethods
uv sync --extra dev
uv run mathmethods

Every client config below also works with uv run --frozen --project <checkout> python <checkout>/server.py in place of uvx mathmethods-mcp.

Related MCP server: mcp-numpy

Tools

Root finding

Tool

What it does

root_bisection

Bisection on [a, b] (requires a sign change)

root_newton_raphson

Newton–Raphson with numeric derivative

root_punto_fijo

Fixed-point iteration x = g(x)

root_aitken

Aitken Δ² acceleration of fixed point

root_comparar

All four methods compared on the same problem

Numerical integration

Tool

What it does

integral_rectangulo

Composite midpoint rule

integral_trapecio

Composite trapezoidal rule

integral_simpson13

Composite Simpson 1/3 (n even)

integral_simpson38

Composite Simpson 3/8 (n multiple of 3)

integral_comparar

All four rules compared on the same integral

Differentiation

Tool

What it does

finite_differences

Forward/backward/central 1st & 2nd derivatives

ODE and interpolation

Tool

What it does

ode_rk4

Runge–Kutta 4 (4th order)

ode_heun

Heun predictor–corrector (2nd order)

ode_euler

Explicit Euler (1st order)

interpolation_lagrange

Lagrange interpolating polynomial

Monte Carlo

Tool

What it does

mc_hit_or_miss_1d

Hit-or-miss estimator (correct for sign-changing f)

mc_valor_promedio_1d

Mean-value estimate of ∫ₐᵇ f(x) dx

mc_valor_promedio_2d

Mean-value estimate of a double integral

mc_valor_promedio_3d

Mean-value estimate of a triple integral

mc_estadistico_1d

M×N replicated experiment with statistical analysis

mc_convergencia_1d

Running average showing the estimate converging

Dynamic systems

Tool

What it does

dynamic_1d_solve

Equilibria, stability, phase portrait and time series

dynamic_1d_equilibria

Find and classify the equilibria of x' = f(x)

dynamic_1d_bifurcation

Equilibria vs parameter (bifurcation diagram)

dynamic_2d_linear_solve

Linear X' = A·X + B: classification, eigenvalues, analytic solution

dynamic_2d_nonlinear_solve

Nonlinear x' = f(x,y): equilibria, Jacobian, nullclines

dynamic_2d_conservative_solve

Divergence-free check, Hamiltonian/energy, closed orbits

dynamic_2d_lanchester_solve

Lanchester combat model with analytic time-to-annihilation

dynamic_2d_nonhomogeneous_solve

Non-homogeneous X' = A·X + B(t) with time-varying forcing

Math expressions use Python/SymPy syntax: x**2, sin(x), exp(x), sqrt(x), log(x). Common shorthand is accepted too: e^x, sen(x), ln(x) and the caret ^ for powers. The Greek combat parameters of Lanchester use the Unicode symbols α β γ ε μ δ.

Project layout

modelo-mat-mcp/
├── server.py                 # FastMCP app + all tools
├── mathmethods/
│   ├── compiler.py           # hardened expression validation (whitelist, caps)
│   ├── server.py             # FastMCP app and tool definitions
│   └── core/                 # vendored math core (from modeladoYsimulacion-web)
│       ├── root_finding.py   ├── integration.py
│       ├── ode.py            ├── interpolation.py
│       ├── differentiation.py├── monte_carlo.py
│       ├── dynamic_1d.py     ├── dynamic_2d_linear.py
│       ├── dynamic_2d_non_homogeneous.py ├── dynamic_2d_nonlinear.py
│       ├── dynamic_2d_conservative.py ├── dynamic_2d_lanchester.py
│       └── utils.py
├── tests/                    # test_tools.py + test_dynamic_tools.py
├── mcp.example.json          # server registration template (copy to .vscode/mcp.json)
├── requirements.txt
└── pyproject.toml

Install

cd modelo-mat-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

After creating the venv, verify it is isolated (venv/bin/python -c "import sys; print(sys.prefix)" should print the venv path, not /usr). If your system Python produces a broken venv, try python3 -m venv --copies venv.

Run

Local (STDIO) — default transport, used by VS Code / Claude Desktop:

uv run python server.py

Remote (Streamable HTTP) — the server prints a URL such as http://127.0.0.1:8000/mcp:

MCP_TRANSPORT=streamable-http uv run python server.py

The transport can also be chosen with the MCP_TRANSPORT environment variable (stdio | streamable-http | sse), and the HTTP host/port with MCP_HTTP_HOST / MCP_HTTP_PORT (defaults 127.0.0.1:8000).

Connect from a client

Every client registers the same command, uvx mathmethods-mcp (no paths, no venv). If the server is not published yet or you work from a checkout, use uv run --frozen --project <PROJ> python <PROJ>/server.py instead.

Remote (Streamable HTTP) — optional; start it once in a terminal, then point the client at http://127.0.0.1:8000/mcp:

MCP_TRANSPORT=streamable-http uvx mathmethods-mcp

Create .vscode/mcp.json (git-ignored) — or copy mcp.example.json:

{
  "servers": {
    "modelo-mat-stdio": {
      "type": "stdio",
      "command": "uvx",
      "args": ["mathmethods"]
    },
    "modelo-mat-http": {
      "type": "http",
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

Open the file and press Start next to the server you want; reload the window if it doesn't appear (Developer: Reload Window).

Add the entry under context_servers (note: not mcp_servers) in ~/.config/zed/settings.json or the project-level .zed/settings.json:

{
  "context_servers": {
    "modelo-mat": {
      "command": "uvx",
      "args": ["mathmethods"]
    }
  }
}

You can also manage them via Settings → AI → MCP Servers.

Both opencode and the OpenChamber desktop app share the same configuration format. Add the entry under mcp in opencode.json (project root) or in the global ~/.config/opencode/opencode.jsonc:

{
  "mcp": {
    "modelo-mat": {
      "type": "local",
      "command": ["uvx", "mathmethods"],
      "enabled": true
    }
  }
}

Or register it with the CLI (equivalent):

opencode mcp add modelo-mat -- uvx mathmethods-mcp

For a remote server running on http://127.0.0.1:8000/mcp:

{
  "mcp": {
    "modelo-mat": {
      "type": "remote",
      "url": "http://127.0.0.1:8000/mcp",
      "enabled": true
    }
  }
}

Verify with opencode mcp list.

Add the entry under mcpServers in the Antigravity config file, typically ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "modelo-mat": {
      "command": "uvx",
      "args": ["mathmethods"]
    }
  }
}

If the file path differs on your install, use the in-IDE Settings → Integrations → MCP Servers panel instead, which writes the same format.

The GitHub Copilot CLI (copilot) lets you add a server interactively:

copilot

then inside the session:

/mcp add
  Server name:  modelo-mat
  Server type:  1 (Local/STDIO)
  Command:      uvx mathmethods-mcp

Press Ctrl+S to save. The settings are stored in ~/.copilot/mcp-config.json (top-level mcpServers); check the connection with /mcp show.

Both use the mcpServers format. In Claude Desktop, edit claude_desktop_config.json; in Claude Code:

claude mcp add mathmethods-mcp -- uvx mathmethods-mcp
{
  "mcpServers": {
    "modelo-mat": {
      "command": "uvx",
      "args": ["mathmethods"]
    }
  }
}

Verify with the MCP Inspector

npx @modelcontextprotocol/inspector node server.py   # or
npx @modelcontextprotocol/inspector --transport http http://127.0.0.1:8000/mcp

Example usage

Ask your agent things like:

  • "Find the root of x^3 - 3x + 1 in [0, 1]."

  • "Integrate sin(x)/x from 0 to 1 using Simpson with n=10."

  • "Solve y' = y with y(0)=1 from x=0 to x=1 with step 0.1 (RK4)."

  • "Build the Lagrange polynomial through (0,1), (1,3), (2,7) and evaluate at 1.5."

  • "Estimate the integral of sin(x) over [0, 2pi] with Monte Carlo hit-or-miss."

  • "Find the equilibria of the logistic model x' = mu*x*(1 - x/K) with K=2, mu=1."

  • "Classify the 2D system x' = 2x - y, y' = x + 2y and sketch its trajectories."

  • "Simulate a Lanchester battle x'=-αy, y'=-βx with α=1, β=2, 100 vs 80 soldiers."

Security

The server is read-only: the tools only compute numbers, they never touch the filesystem, the network or any destructive operation. Still, the inputs are driven by an LLM, so defense in depth is applied:

  • Expression hardening (mathmethods/compiler.py + mathmethods/core/utils.py): length cap, symbol whitelist, function whitelist, and a lexical gate that rejects attribute access (./__) and unknown tokens BEFORE SymPy parses. SymPy's sympify/parse_expr can execute arbitrary Python (verified RCE), so every parse site — in this project and in the upstream backend — routes through the gate.

  • Input caps: iteration/subinterval/step/point counts are bounded to avoid pathological CPU/RAM usage.

  • Exact tool descriptions: the LLM picks tools by their metadata, so descriptions stay accurate (guards against tool-poisoning attacks).

  • Prompt injection: even if the model is tricked, the worst it can do is ask for another computation. There are no privileged side channels.

Known limitations

  • The vendored core is inherited from the upstream project and kept as-is (Spanish identifiers, etc.).

  • dynamic_2d_nonhomogeneous_solve with time-varying forcing on a non-diagonal matrix A shows the homogeneous solution only (the particular term is computed for diagonal systems); the numeric RK4 trajectory is always correct.

  • The 1D bifurcation table is downsampled to 300 rows for readability.

Publishing to PyPI

The package is publish-ready (uv build succeeds and the wheel exposes all tools). To release:

uv build
uv publish          # requires a PyPI token: `uv login` or UV_PUBLISH_TOKEN

Once published, every client config just works with uvx mathmethods-mcp (no paths, no venv). Bump version in pyproject.toml before each release.

Keeping the vendored core in sync

The math lives in modeladoYsimulacion-web/backend/app/methods/. When the upstream code changes, copy the files here again:

cp ../modeladoYsimulacion-web/backend/app/methods/{root_finding,integration,ode,interpolation,monte_carlo,dynamic_1d,dynamic_2d_linear,dynamic_2d_non_homogeneous,dynamic_2d_nonlinear,dynamic_2d_conservative,dynamic_2d_lanchester}.py mathmethods/core/
cp ../modeladoYsimulacion-web/backend/app/core/utils.py mathmethods/core/utils.py

Then rewrite the from app.core.utils import ... imports to from .utils import ... in the copied files.

Test

uv run pytest

Roadmap

  • Translate the vendored core to English (manual, when time allows).

  • Server-side CI is wired up (.github/workflows/ci.yml); coverage report next.

  • Optional MCP resources/prompts (e.g. a theorem reference) on top of the tools.

Available Tools

29 tools
dynamic_1d_bifurcationA

Bifurcation analysis of x' = f(x; bif_param): equilibria vs parameter sweep.

Args: func_str: f(x) used when model is 'custom'. model: 'custom' | 'malthus' | 'verhulst' | 'newton'. params: values of the other model parameters, e.g. {'K': 2.0}. bif_param: name of the bifurcation parameter swept between bif_min and bif_max. bif_min, bif_max, bif_steps: parameter sweep range/resolution. x_min, x_max, n_phase: state window for finding equilibria. phase_params: optional explicit parameter values for phase slices. control_enabled: add a constant control term -h (verhulst/custom only).

Returns: Dict with the equilibria-vs-parameter table, exact symbolic analysis and phase slices.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNocustom
x_maxNo
x_minNo
paramsNo
bif_maxNo
bif_minNo
n_phaseNo
func_strNox
bif_paramNor
bif_stepsNo
phase_paramsNo
control_enabledNo

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral transparency. It goes beyond a simple statement of purpose by disclosing the method (bifurcation analysis), the output structure (Dict with equilibria-vs-parameter table, symbolic analysis, phase slices), and additional behavioral details like the control_enabled option adding a constant control term -h (verhulst/custom only). It does not mention limitations or side effects, but for a pure computation tool this is adequate. The description adds substantial context beyond the schema.

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

Conciseness5/5

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

The description is well-structured: a concise front-loaded summary line, followed by an Args section and Returns line. Every sentence provides necessary information and there is no wasted text. The length is appropriate given the 12 parameters, and the formatting (section headers, parameter list) enhances readability.

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

Completeness5/5

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

Given the complexity (12 parameters, no annotations, no output schema), the description is remarkably complete. It states the purpose, parameter semantics, model options, conditional behavior (control_enabled restrictions), and the return structure. An agent has enough information to decide whether to use the tool and how to call it correctly. There are no obvious gaps in understanding the tool's functionality.

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%, so the description must compensate, and it does so comprehensively. The Args block explicitly explains all 12 parameters with meaningful descriptions (e.g., 'bif_min, bif_max, bif_steps: parameter sweep range/resolution', 'func_str: f(x) used when model is custom'). This adds full semantic meaning beyond the bare schema names/defaults, making the tool highly invocable.

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

Purpose5/5

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

The description opens with a specific and precise statement: 'Bifurcation analysis of x' = f(x; bif_param): equilibria vs parameter sweep.' This clearly identifies the operation (bifurcation analysis), the resource (1D ODE x'=f(x;bif_param)), and the scope (equilibria vs parameter sweep), distinguishing it from siblings like dynamic_1d_equilibria (equilibria without sweep) and dynamic_1d_solve (time-series solving).

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

Usage Guidelines4/5

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

The description clearly communicates its purpose and context: it's for bifurcation analysis, which implies when to use it (when studying how equilibria change with a parameter). However, it does not explicitly name alternative tools or state when-not-to-use it, which would earn a 5. The context is clear enough that an agent can infer appropriate usage, so a 4 is warranted.

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

dynamic_1d_equilibriaB

Find the equilibria of x' = f(x) and classify their stability.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNocustom
x_maxNo
x_minNo
paramsNo
n_phaseNo
func_strNox
control_enabledNo

TDQS

B3.3/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 burden. It clearly states the core behavior (find and classify stability) but does not disclose details such as the numerical method, the type of stability classification, or whether the operation has side effects. It is a minimal but not misleading disclosure.

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

Conciseness5/5

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

The description is a single, tightly worded sentence that immediately conveys the tool's purpose. Every word adds value; there is no fluff or unnecessary detail.

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

Completeness2/5

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

For a tool with 7 undocumented parameters, no output schema, and no annotations, this description is far too brief. It does not explain how to specify the dynamical system, what the returned stability classification looks like, or how parameter ranges affect the computation.

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

Parameters1/5

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

Schema description coverage is 0% with 7 parameters, and the description does not mention any of them. The agent gets no guidance on what func_str, x_min, x_max, n_phase, or control_enabled mean, making correct invocation nearly impossible without external knowledge.

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

Purpose5/5

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

The description uses the specific verb 'Find' and clearly identifies the resource: equilibria of x' = f(x). It also adds classification of stability, which distinguishes it from siblings like dynamic_1d_solve (which solves trajectories) and dynamic_1d_bifurcation (which studies parameter dependence).

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?

The description implies when to use this tool (to find equilibria and their stability) but provides no explicit comparison to alternatives or exclusions. There is no mention of when not to use it or how it differs from related dynamics tools.

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

dynamic_1d_solveA

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).

Returns: Dict with equilibria, their stability, the phase portrait data and time solutions.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNocustom
t_maxNo
x_maxNo
x_minNo
n_timeNo
paramsNo
n_phaseNo
func_strNox
control_enabledNo
initial_conditionsNo

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It enumerates model choices with formulas, explains the custom func_str parameter, and notes that control_enabled adds -h only for verhulst/custom. This adds meaningful behavioral context beyond the schema, though it does not describe the numerical method or exact return format.

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

Conciseness5/5

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

The description is front-loaded with the purpose and uses a compact Args/Returns structure. Each parameter line conveys necessary information without filler or redundant restatement of the tool name.

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 a tool with 10 parameters, no annotations, and no output schema, the description covers all arguments, model formulas, and high-level return categories. It falls slightly short of excellent because it lacks a precise output dict structure and does not address edge cases or numerical behavior.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates well by listing every parameter with a concise meaning, including model-specific formulas and examples like {'r': 1.5}. It clarifies func_str's role and control_enabled restrictions, providing semantic value well beyond the raw schema.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Analyze the 1D autonomous system x' = f(x): equilibria, stability, phase portrait and time series.' This clearly distinguishes it from sibling tools like dynamic_1d_equilibria (equilibria-only) and 2D solvers.

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?

The context is clear: it is for 1D autonomous systems. However, it does not explicitly state when to prefer this tool over dynamic_1d_equilibria, dynamic_1d_bifurcation, or numeric ODE solvers like ode_euler. Usage guidance is implied rather than explicitly contrasted with alternatives.

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

dynamic_2d_conservative_solveB

Analyze a 2D system checking conservativeness (divergence-free), Hamiltonian/energy and closed orbits.

Args: eq_x, eq_y: Math expressions for x' and y'. mu: parameter value. x0..y_max, cantidad_trayectorias: integration and portrait settings.

Returns: Dict with the divergence check, the Hamiltonian reconstruction, the equilibrium classification and the trajectories.

ParametersJSON Schema
NameRequiredDescriptionDefault
hNo
muNo
t0No
x0No
y0No
eq_xNoy
eq_yNox - x**3
t_finNo
x_maxNo
x_minNo
y_maxNo
y_minNo
cantidad_trayectoriasNo

TDQS

B3.4/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 burden of behavioral disclosure. It lists the return dict contents (divergence check, Hamiltonian reconstruction, equilibrium classification, trajectories) and mentions integration/portrait settings, but it does not disclose the numerical method, limitations, or how the analysis is performed beyond the high-level outputs.

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?

The description is compact and well-structured with clear 'Args' and 'Returns' sections, and front-loads the purpose. However, the shorthand 'x0..y_max' is ambiguous, slightly reducing clarity.

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

Completeness2/5

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

The tool has 13 parameters, no annotations, and no output schema, so the description must compensate. It provides a high-level purpose and return dict contents, but omits per-parameter semantics for most parameters and lacks usage guidance relative to siblings, leaving significant gaps for an agent to use the tool correctly.

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

Parameters2/5

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

The description explains eq_x, eq_y, and mu, but lumps all remaining parameters as 'x0..y_max, cantidad_trayectorias: integration and portrait settings' without individual meaning. With 0% schema parameter descriptions, the agent cannot learn the roles of h, t0, t_fin, x_min, x_max, y_min, y_max from this description.

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

Purpose5/5

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

The description opens with 'Analyze a 2D system checking conservativeness (divergence-free), Hamiltonian/energy and closed orbits', which clearly identifies the tool's specific purpose and distinguishes it from sibling tools like dynamic_2d_nonlinear_solve or dynamic_2d_linear_solve.

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?

The description implies that the tool is for conservative 2D systems but never explicitly states when to use it over alternatives. No sibling tools are named, and no exclusions or conditions are given, so the agent must infer the appropriate context.

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

dynamic_2d_lanchester_solveB

Simulate a Lanchester combat model x' = f(x,y), y' = g(x,y) with analytic time-to-annihilation.

Args: eq_x, eq_y: Math expressions (classic default is x'=-αy, y'=-βx). alpha, beta, gamma, epsilon, mu, delta: Greek parameter values. x0, y0: initial force sizes. t0, t_fin, h: simulation grid.

Returns: Dict with the analytic winner/survivors, state equation and the numerical trajectories.

ParametersJSON Schema
NameRequiredDescriptionDefault
hNo
muNo
t0No
x0No
y0No
betaNo
eq_xNo-α * y
eq_yNo-β * x
alphaNo
deltaNo
gammaNo
t_finNo
epsilonNo

TDQS

B3.3/5.0
Behavior3/5

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

The description discloses the analytic winner/survivors and state equation plus numerical trajectories in the Returns section, providing some behavioral context. However, with no annotations, it fails to mention any error conditions, edge cases, or limits (e.g., parameter constraints for analytic solution).

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?

The description is compact with a clear intro, bulleted args, and returns. No unnecessary words.

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?

Given 13 parameters and no schema descriptions or output schema, the description provides a helpful overview but omits details like the exact roles of subsidiary Greek parameters and any constraints on equations. It is adequate for basic use but not fully complete for complex configuration.

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

Parameters4/5

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

The description groups parameters and explains each category (Math expressions, Greek parameters, initial forces, simulation grid), adding meaning beyond the bare schema properties. Yet it does not individually define gamma/epsilon/mu/delta roles, leaving some ambiguity.

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 description clearly states 'Simulate a Lanchester combat model' with equations, making the tool's purpose obvious. It distinguishes itself from integral/root/ODE siblings by specifying the Lanchester model, though it doesn't explicitly contrast with other dynamic_2d tools.

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?

No guidance is given on when to choose this over sibling tools like dynamic_2d_linear_solve or ode_rk4. The description only explains what it does, not when it is preferred.

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

dynamic_2d_linear_solveA

Solve and classify the linear 2D system X' = A·X + B with constant matrix A.

Args: a, b, c, d: entries of A = [[a, b], [c, d]]. e, f: constant forcing vector B = [e, f]. x0, y0, t0, t_fin, h: initial condition and integration grid. x_min..y_max: window for the phase portrait. cantidad_trayectorias: number of sample trajectories.

Returns: Dict with the classification, eigenvalues, nullclines, analytic solution and trajectories.

ParametersJSON Schema
NameRequiredDescriptionDefault
aNo
bNo
cNo
dNo
eNo
fNo
hNo
t0No
x0No
y0No
t_finNo
x_maxNo
x_minNo
y_maxNo
y_minNo
cantidad_trayectoriasNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the transparency burden. It explains the mathematical model, parameter roles, and the return value (classification, eigenvalues, nullclines, analytic solution, trajectories). It does not mention potential side effects like plotting or numerical integration method, but the core behavior is disclosed clearly enough for an agent to understand what the tool does.

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

Conciseness5/5

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

The description is compact and well-structured, starting with a clear purpose statement followed by Args and Returns sections. Every line provides necessary information without redundancy or filler, making it easy for an agent to parse.

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?

The tool has 16 parameters, no output schema, and no annotations, yet the description covers the core aspects: what the tool solves, what parameters mean, and what it returns. It lacks details on the numerical integration method or whether a plot is generated, but the mention of a phase portrait window and returned trajectories gives enough context for a reasonably complete understanding. Given the complexity, this is solid but not exhaustive.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must define the 16 parameters. It groups them meaningfully: a,b,c,d as entries of A; e,f as forcing vector; x0,y0,t0,t_fin,h as initial condition and integration grid; x_min..y_max as phase portrait window; cantidad_trayectorias as number of sample trajectories. This is helpful, though it could be more precise (e.g., explicitly stating h is the step size). Overall it compensates well for the lack of schema descriptions.

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

Purpose5/5

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

The description explicitly states 'Solve and classify the linear 2D system X' = A·X + B' which clearly identifies the tool's function and distinguishes it from sibling tools like dynamic_2d_nonlinear_solve and dynamic_2d_conservative_solve. The verb 'solve and classify' plus the mathematical form is specific and unambiguous.

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?

The description implies usage for linear 2D systems with constant coefficients, but it does not explicitly state when to use this tool instead of alternatives like dynamic_2d_nonlinear_solve or the ODE solver siblings (e.g., ode_rk4). There are no explicit exclusions or alternative recommendations, so guidance is only implied.

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

dynamic_2d_nonhomogeneous_solveA

Solve the non-homogeneous 2D system X' = A·X + B(t) with constant or time-varying forcing.

Args: a, b, c, d: entries of A = [[a, b], [c, d]]. e, f: forcing components B(t); a number or an expression in t (e.g. "sin(2*t)"). x0, y0, t0, t_fin, h: integration settings. x_min..y_max, cantidad_trayectorias: portrait settings.

Returns: Dict with the classification, equilibrium/particular solution, analytic solution and trajectories.

ParametersJSON Schema
NameRequiredDescriptionDefault
aNo
bNo
cNo
dNo
eNo
fNo
hNo
t0No
x0No
y0No
t_finNo
x_maxNo
x_minNo
y_maxNo
y_minNo
cantidad_trayectoriasNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description is the sole source of behavioral context. It explains the mathematical operation, the role of parameters, and the return dictionary (classification, solutions, trajectories). However, it does not disclose the numerical method, any limitations, or what the classification values mean. The lack of detail on how integration/portrait settings affect behavior leaves gaps.

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

Conciseness5/5

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

The description is compact and front-loaded. It opens with the core purpose, then organizes parameters into logical groups, and ends with a clear summary of return values. No wasted words; each sentence contributes.

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?

For a 16-parameter tool with no output schema and no annotations, the description gives a solid overview but lacks specifics: the exact structure of the returned dictionary, input constraints (e.g., h > 0, t_fin > t0), and the numerical method used. It is adequate for a math solver but leaves the agent uncertain about output shape and edge cases.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It effectively groups and explains all 16 parameters: a, b, c, d as matrix entries; e, f as forcing components with an example; integration settings; and portrait settings. While some parameters like 'h' and 'x_min' are only briefly labeled, the description adds substantial meaning beyond the schema's bare titles and defaults.

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

Purpose5/5

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

The description states a specific verb ('Solve') and a well-defined resource: the non-homogeneous 2D system X' = A·X + B(t), with constant or time-varying forcing. This clearly distinguishes it from sibling tools like dynamic_2d_linear_solve and dynamic_2d_nonlinear_solve by specifying the equation form.

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?

The description does not provide any guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or suggest other tools for different scenarios (e.g., homogeneous systems, nonlinear systems). Users must infer usage from the equation alone.

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

dynamic_2d_nonlinear_solveB

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.

Returns: Dict with equilibria, Jacobian-based classification, nullclines and trajectories.

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

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden. It discloses the output components (equilibria, Jacobian-based classification, nullclines, trajectories), giving insight into its behavior. However, it omits important computational details such as whether it uses numerical or symbolic methods, potential failure modes, or sensitivities to parameter choices.

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?

The description is compact and well-structured with clear sections for purpose, arguments, and returns. It avoids unnecessary verbosity, though it could be slightly more organized by listing each parameter. The line 'x0..y_max' is cryptic but not wordy.

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

Completeness2/5

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

For a tool with 14 parameters, no output schema, and no annotations, the description is insufficiently complete. It does not fully specify the meaning of all parameters, the exact structure of the returned dict, or any edge-case behavior. An agent would need to guess at several integration and plotting settings.

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

Parameters2/5

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

The description explains eq_x, eq_y, params, and mu meaningfully, but the rest are grouped as 'x0..y_max, cantidad_trayectorias: integration and portrait settings' without detailing each. Parameters h, t0, t_fin, x_min, x_max, y_min, y_max are not individually described. With schema coverage at 0%, this leaves significant ambiguity for an agent to set values correctly.

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 description clearly states the tool solves and analyzes nonlinear 2D systems x'=f(x,y), y'=g(x,y), using a specific verb and resource. It distinguishes itself from siblings by emphasizing 'nonlinear' and the listed outputs (equilibria, Jacobian classification, nullclines, trajectories), though it doesn't explicitly contrast with alternatives like dynamic_2d_linear_solve.

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 context is implied by the name and description: it is meant for nonlinear 2D systems. The phrase 'Solve and analyze the nonlinear 2D system' indicates the type of problem it addresses, but there is no explicit guidance on when not to use it or which sibling tool to choose (e.g., linear, conservative, nonhomogeneous).

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

finite_differencesA

Approximate the first and second derivatives of f(x) at x with finite differences.

Computes forward, backward and central differences for the first derivative, plus the central second derivative, and compares each against the exact derivative from SymPy.

Args: func_str: Math expression in x. x_val: Point where the derivative is evaluated. h: Step size (small, positive). precision: Rounding digits.

Returns: Dict with the exact and numerical derivatives and their errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
hNo
x_valYes
func_strYes
precisionNo

TDQS

A3.9/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 transparency burden. It discloses the computational methods, the comparison against exact SymPy derivative, and the return type, but omits edge cases, failure modes, or dependency details such as SymPy being required.

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?

The description is well-structured: a clear one-sentence intro, a method summary, Args, and Returns. No filler or redundant wording is present, though it could be slightly more compact.

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?

Given the tool has 4 parameters, no output schema, and no annotations, the description adequately covers purpose, input semantics, algorithm, and return shape. It lacks examples or error handling details but is sufficient for basic invocation.

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

Parameters4/5

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

With 0% schema description coverage, the Args section meaningfully explains all four parameters: func_str (math expression), x_val (evaluation point), h (small positive step size), and precision (rounding digits). This compensates well for the lack of schema-level descriptions.

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

Purpose5/5

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

The description clearly states the tool approximates first and second derivatives of f(x) using finite differences, with a specific verb and resource. It distinguishes itself from sibling numerical method tools by focusing on differentiation.

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?

The description explains what the tool computes (forward, backward, central differences and comparison to SymPy) but offers no explicit guidance on when to use it versus alternatives. Usage is implied but no exclusions or alternative references are provided.

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

integral_compararA

Compare rectangle, trapezoid, Simpson 1/3 and Simpson 3/8 on the same integral.

Args: func_str: Math expression in x. a, b: Integration limits (b > a). n: Number of subintervals (Simpson 1/3 needs even, 3/8 needs multiple of 3). epsilon, precision: Error-bound and rounding settings.

Returns: Dict with per-method results and success flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes
nYes
epsilonNo
func_strYes
precisionNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the weight of behavioral disclosure. It reveals that the tool returns a dict with per-method results and success flags, and that n has method-specific divisibility requirements. This adds meaningful behavioral context beyond a simple 'compare' statement, though it does not detail error handling or edge cases.

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

Conciseness5/5

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

The description is efficiently structured: a one-sentence summary frontloads the purpose, followed by a concise docstring. Every sentence provides necessary information (parameters, returns) and there is no verbosity or repetition of schema fields.

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 a tool with no output schema and 4 required parameters, the description covers the essential aspects: purpose, parameter constraints, and return type. It does not describe the exact structure of the result dict beyond success flags, but for a numerical comparison tool the provided detail is largely sufficient for an agent to select and invoke it correctly.

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%, so the description fully compensates. The docstring explains each parameter's role: func_str is a math expression in x, a and b are limits with b > a, n is the number of subintervals with specific constraints for Simpson methods, and epsilon/precision are error-bound and rounding settings. This adds substantial meaning beyond the schema's bare type definitions.

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

Purpose5/5

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

The description clearly states the tool's purpose: compare rectangle, trapezoid, Simpson 1/3 and Simpson 3/8 on the same integral. This uses a specific verb ('compare') and resource (integral methods), and distinguishes it from sibling tools that implement individual methods (integral_simpson13, integral_simpson38, integral_trapecio, integral_rectangulo).

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

Usage Guidelines4/5

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

The description conveys clear context: it is for comparing numerical integration methods on the same integral. It does not explicitly state when not to use this tool or mention alternatives directly, but the title and sibling names make the comparison context unambiguous. The constraints on n (even for Simpson 1/3, multiple of 3 for Simpson 3/8) provide implicit guidance on valid usage.

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

integral_rectanguloA

Approximate ∫ₐᵇ f(x) dx with the composite midpoint (rectangle) rule.

Args: func_str: Math expression in x. a, b: Integration limits (b > a). n: Number of subintervals. epsilon: Optional point in [a, b] for the truncation error bound. precision: Rounding digits.

Returns: Dict with the integral, error estimates and table.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes
nYes
epsilonNo
func_strYes
precisionNo

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations available, the description carries the full burden of behavioral disclosure. It explains the approximation method, the role of epsilon for the truncation error bound, and the return structure (integral, error estimates, table). While it does not discuss edge cases or error handling, it provides meaningful behavioral context beyond the raw schema.

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

Conciseness5/5

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

The description is efficient: a one-sentence summary followed by a compact Args/Returns list. No word is wasted, and the structure makes it easy for an agent to parse the key information quickly.

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?

Given the tool's moderate complexity (6 parameters, no output schema, no annotations), the description is complete enough: it states the mathematical objective, explains all inputs, and summarizes the output. The only minor gap is that the exact keys/content of the 'table' and the nature of 'error estimates' are not detailed, but this is acceptable for a numerical routine.

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?

The schema has 0% description coverage, so the description must fully compensate, and it does. Every parameter (func_str, a, b, n, epsilon, precision) is given a concise, meaningful definition, including the constraint b > a and the optional nature of epsilon. This adds substantial semantic value beyond the bare names and types in the schema.

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

Purpose5/5

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

The description opens with a specific verb ('Approximate') and resource (the definite integral via the composite midpoint/rectangle rule), clearly distinguishing it from sibling integration tools like integral_simpson13 or integral_trapecio. The method name and formula are explicit, leaving no ambiguity about what the tool does.

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?

The usage context is implied by the method (composite midpoint rule) and the parameter list, but there is no explicit guidance on when to choose this tool over alternatives such as Simpson's rule or the trapezoidal rule. No exclusions or when-not-to-use conditions are provided.

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

integral_simpson13A

Approximate the definite integral of f(x) on [a, b] with composite Simpson 1/3.

Args: func_str: Math expression in x, e.g. "sin(x)/x". a: Lower integration limit. b: Upper integration limit (must be > a). n: Number of subintervals (must be even). Error is O(h^4). epsilon: Point in [a, b] used to report the truncation error bound. precision: Rounding digits.

Returns: Dict with the approximated integral, error estimates and table.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes
nYes
epsilonNo
func_strYes
precisionNo

TDQS

A4.3/5.0
Behavior4/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 discloses error order O(h^4), constraints that b>a and n must be even, the role of epsilon for truncation error bound, and the return type (dict with integral, error estimates, table), which is valuable context beyond a simple 'compute integral'.

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

Conciseness5/5

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

The description is compact and well-structured, with a one-line purpose, an Args list, and a Returns section. Every sentence conveys essential information without redundancy or filler.

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 a 6-parameter numerical method with no output schema, the description covers all inputs, key constraints, error order, and the general output contents. It lacks exact return dictionary keys or interpretation details for the table, but remains sufficiently complete for an agent to select and invoke the tool correctly.

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?

The schema properties have only titles with no descriptions, so the description is the sole source of parameter semantics. It thoroughly explains func_str with a concrete example, defines a and b as integration limits with b>a, n as subintervals with evenness requirement, epsilon as a point for error reporting, and precision as rounding digits.

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

Purpose5/5

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

Description clearly states 'Approximate the definite integral of f(x) on [a, b] with composite Simpson 1/3', using a specific verb and resource. It names the exact method (Simpson 1/3), distinguishing it from sibling integration tools like integral_simpson38, integral_trapecio, and integral_rectangulo.

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?

The description implies usage via the method name and constraints but provides no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives or situations where Simpson 1/3 is preferred over Simpson 3/8 or trapezoidal integration.

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

integral_simpson38A

Approximate ∫ₐᵇ f(x) dx with the composite Simpson 3/8 rule.

Args: func_str: Math expression in x. a, b: Integration limits (b > a). n: Number of subintervals (must be a multiple of 3). epsilon: Optional point in [a, b] for the truncation error bound. precision: Rounding digits.

Returns: Dict with the integral, error estimates and table.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes
nYes
epsilonNo
func_strYes
precisionNo

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return format (dict with integral, error estimates, table) and important constraints (b > a, n multiple of 3, epsilon optional). This goes beyond minimal requirements, though it does not detail failure modes if constraints are violated.

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

Conciseness5/5

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

The description is compact and well-organized, with a single summary line and structured Args/Returns sections. Every sentence provides useful information, with no fluff or redundancy.

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?

Given the tool's numerical complexity, six parameters, and absence of both annotations and output schema, the description covers all necessary operational details (method, constraints, input meanings, return structure). It does not elaborate on theoretical details like truncation error derivation, but that's not required for correct invocation.

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?

The input schema has zero descriptions (0% coverage), but the description fully compensates by explaining every parameter: func_str (math expression), a/b (limits with b>a), n (multiple of 3), epsilon (optional error-bound point), and precision (rounding digits). This provides clear semantic meaning beyond the raw schema.

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

Purpose5/5

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

The description clearly states the tool's function: approximating a definite integral using the composite Simpson 3/8 rule. This specific method name distinguishes it from siblings like integral_simpson13 and integral_trapecio, making the purpose precise and unambiguous.

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?

The description mentions key constraints (n must be a multiple of 3, b > a) but does not explicitly explain when to prefer this method over alternatives like Simpson 1/3 or trapezoid. Usage context (e.g., smooth functions, odd/even subintervals) is only implied, not stated.

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

integral_trapecioA

Approximate ∫ₐᵇ f(x) dx with the composite trapezoidal rule.

Args: func_str: Math expression in x. a, b: Integration limits (b > a). n: Number of subintervals. epsilon: Optional point in [a, b] for the truncation error bound. precision: Rounding digits.

Returns: Dict with the integral, error estimates and table.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes
nYes
epsilonNo
func_strYes
precisionNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds meaningful context beyond the schema by explaining the role of epsilon for the truncation error bound, specifying the return structure (integral, error estimates, and table), and noting the constraint b > a. It does not detail edge cases (e.g., invalid n, non-integer n, or malformed func_str), but the core behavior is transparent.

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

Conciseness5/5

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

The description is extremely concise and well-structured, using a standard Args/Returns docstring format. Every sentence adds value, and the key purpose is front-loaded with a formula notation. There is no redundancy or fluff.

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?

The tool has moderate complexity (6 params, no output schema, no annotations). The description covers the method, parameter roles, return contents, and a key constraint (b > a). Given the context, it is fairly complete; minor gaps like validation of n or expected math expression syntax do not undermine usability significantly.

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

Parameters4/5

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

The input schema offers zero description coverage (only titles like 'A', 'B', 'N'), so the description must compensate. It defines all six parameters: func_str as a math expression in x, a and b as integration limits, n as the number of subintervals, epsilon as an optional point for error bound, and precision as rounding digits. This adds essential semantic meaning beyond the schema's bare property names, though it could include syntax examples for func_str.

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

Purpose5/5

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

The description clearly states 'Approximate ∫_a^b f(x) dx with the composite trapezoidal rule' — a specific verb and resource that immediately distinguishes it from sibling integration tools like Simpson's rule or rectangular methods. The method is explicitly named, leaving no ambiguity about what the tool does.

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?

The description provides no explicit guidance on when to use trapezoidal integration versus other available methods (e.g., integral_simpson13, integral_simpson38, integral_rectangulo). It only implies usage by stating the method, leaving the agent to infer when this is appropriate relative to alternatives. There are no exclusion criteria or comparisons.

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

interpolation_lagrangeA

Build the Lagrange interpolating polynomial through a set of points.

Provide either the point values puntos_y or the generating function func_str evaluated at puntos_x.

Args: puntos_x: Distinct abscissas of the interpolation points. x_eval: Optional x where the polynomial is evaluated. func_str: Optional generating function f(x) for the y values. puntos_y: Optional y values matching puntos_x one-to-one. precision: Rounding digits.

Returns: Dict with the polynomial, its degree, the points table and error bounds when func_str is provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
x_evalNo
func_strNo
puntos_xYes
puntos_yNo
precisionNo

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the transparency burden. It explains the operation (build polynomial), input flexibility, and return contents including 'error bounds when ``func_str`` is provided.' It does not disclose error handling or precision rounding specifics, but it covers the core behavior well.

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

Conciseness5/5

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

The description is compact and well-structured: a one-sentence summary, a one-line usage rule, a bulleted Args list, and a Returns line. No filler or redundancy; every sentence contributes.

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?

The tool is moderately complex with 5 parameters, no annotations, and no output schema. The description covers inputs and return shape sufficiently for an agent to invoke it correctly. It lacks an example and edge-case warnings (e.g., duplicate abscissas, both func_str and puntos_y provided), but the essential context is present.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must and does compensate. Each parameter gets a meaningful one-liner: 'Distinct abscissas', 'Optional x where the polynomial is evaluated', 'generating function f(x)', 'y values matching puntos_x one-to-one', and 'Rounding digits'. This adds real semantics beyond bare schema titles, though it could add more constraints like length matching.

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

Purpose5/5

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

The description opens with 'Build the Lagrange interpolating polynomial through a set of points,' which clearly identifies the verb, resource, and scope. This is distinct from sibling tools focused on integration, ODEs, and root-finding, leaving no ambiguity about purpose.

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

Usage Guidelines4/5

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

The description explicitly says to provide 'either the point values ``puntos_y`` or the generating function ``func_str`` evaluated at ``puntos_x``,' giving concrete input selection guidance. It does not mention explicit non-use cases or alternatives beyond this either/or, so it stops short of a 5.

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

mc_convergencia_1dA

Show how the mean-value Monte Carlo estimate converges as samples accumulate.

Args: func_str: Math expression in x. a, b: Integration limits (b > a). N: Total number of samples. seed: Optional RNG seed. precision: Rounding digits.

Returns: Dict with the cumulative running average over the samples.

ParametersJSON Schema
NameRequiredDescriptionDefault
NNo
aYes
bYes
seedNo
func_strYes
precisionNo

TDQS

A3.7/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 burden. It discloses that the tool returns a dictionary containing the cumulative running average, and mentions optional seed for RNG and precision for rounding. However, it does not specify the exact structure of the returned dict (e.g., keys, whether final estimate is included), nor does it explain error handling for constraints like b > a. The behavior is partially transparent but leaves important details uncovered.

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

Conciseness5/5

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

The description is appropriately concise and well-structured. It opens with a one-sentence purpose, followed by a clean list of arguments and a return description. There is no redundant or extraneous text. The information is front-loaded and easy to scan, making it efficient for an AI agent to parse.

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?

The description explains the core computation logic and all parameters, but given there is no output schema, the return structure is incomplete: it only says 'Dict with the cumulative running average' without detailing keys or whether it includes additional metadata. The 'convergence' aspect is described but not elaborated (e.g., whether sample indices are included). This leaves some ambiguity, though the tool is relatively simple.

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

Parameters4/5

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

Since the input schema has no descriptions (0% coverage), the description compensates by defining all parameters: func_str as a math expression in x, a and b as integration limits with b > a, N as total samples, seed as optional RNG seed, and precision as rounding digits. This adds substantial meaning beyond the raw schema. However, the syntax for func_str is not specified (e.g., Python math syntax), slightly reducing clarity.

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

Purpose5/5

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

The description clearly states the tool's function: 'Show how the mean-value Monte Carlo estimate converges as samples accumulate.' It uses a specific verb ('Show'), names the resource ('mean-value Monte Carlo estimate'), and describes the method (accumulating samples). This differentiates it from sibling tools like 'mc_valor_promedio_1d' or 'mc_hit_or_miss_1d' which likely compute a final estimate or use a different approach.

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?

The description does not provide any when-to-use guidance or comparison with alternatives. It doesn't mention that this tool is appropriate when studying convergence behavior, nor does it exclude it from other contexts. No explicit exclusions or preferred sibling tools are indicated, leaving the agent without clear selection criteria.

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

mc_estadistico_1dA

Replicated Monte Carlo experiment (M repetitions of N samples) with statistical analysis.

Args: func_str: Math expression in x. a, b: Integration limits (b > a). N: Samples per replication. M: Number of replications. nivel_confianza: Confidence level in (0, 1). seed: Optional RNG seed. precision: Rounding digits.

Returns: Dict with the distribution of estimates and confidence intervals.

ParametersJSON Schema
NameRequiredDescriptionDefault
MNo
NNo
aYes
bYes
seedNo
func_strYes
precisionNo
nivel_confianzaNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention the repetition structure, seed optionality, confidence-level range, rounding, and a dict return, but it omits details about the exact sampling algorithm, error handling, output keys, or side effects. This is reasonably transparent but not fully complete.

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

Conciseness5/5

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

The description is a tight docstring with a one-sentence summary followed by an organized Args list and a Returns line. Every line adds necessary information, with no redundancy or filler.

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?

Without an output schema or annotations, the description needs to fully explain the return value, but it only says 'Dict with the distribution of estimates and confidence intervals' without specifying keys, units, or how the distribution is summarized. The parameter list is complete, but the output shape remains under-specified, which limits how well an agent can interpret the result.

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%, so the description is essential and fully compensates. Every parameter gets a concise semantic explanation: func_str as a math expression, a and b as integration limits with b > a, N/M as sample/replication counts, nivel_confianza as a confidence level in (0,1), seed as optional RNG seed, and precision as rounding digits. This goes far beyond the bare schema and enables correct invocation.

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 description clearly identifies this as a replicated Monte Carlo experiment with statistical analysis for a 1D integral, which conveys the core purpose. However, it does not explicitly differentiate itself from sibling MC tools like mc_valor_promedio_1d or mc_convergencia_1d, leaving some ambiguity about the specific niche beyond the word 'estadistico'.

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?

The description implies usage when a user wants a distribution of estimates over M repetitions rather than a single estimate or convergence assessment, but it provides no explicit when-to-use or when-not-to-use guidance. It also does not mention alternative sibling tools or criteria for choosing this tool over them.

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

mc_hit_or_miss_1dA

Estimate ∫ₐᵇ f(x) dx with the hit-or-miss Monte Carlo method.

Handles sign-changing integrands correctly (returns the signed integral).

Args: func_str: Math expression in x. a, b: Integration limits (b > a). N: Number of samples. seed: Optional RNG seed for reproducibility. precision: Rounding digits. nivel_confianza: Confidence level in (0, 1) for the interval.

Returns: Dict with the estimate, interval, sample statistics and history.

ParametersJSON Schema
NameRequiredDescriptionDefault
NNo
aYes
bYes
seedNo
func_strYes
precisionNo
nivel_confianzaNo

TDQS

A4.5/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It discloses that the method handles sign-changing integrands correctly and returns a dict with estimate, interval, sample statistics, and history. It also mentions the optional seed for reproducibility. This goes beyond a bare statement of purpose.

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

Conciseness5/5

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

The description is tightly structured: a one-sentence purpose, a note on behavior, a clear args list, and a returns summary. Every line adds value, and the parameter list is alphabetically/grouped logically without redundancy.

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

Completeness5/5

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

Given the tool's moderate complexity (7 parameters, no annotations, no output schema), the description covers the method, parameter semantics, constraints, and return value sufficiently. It also differentiates itself from sibling Monte Carlo tools by naming the 'hit-or-miss' method explicitly.

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

Parameters4/5

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

The schema provides no property descriptions, but the description explicitly explains all seven parameters: func_str, a, b, N, seed, precision, and nivel_confianza. While these explanations are concise, they are sufficient for an agent to infer the role of each parameter. The constraint b > a is also stated.

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

Purpose5/5

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

The description uses a specific verb ('Estimate') and resource ('∫ₐᵇ f(x) dx') with the hit-or-miss Monte Carlo method, clearly distinguishing it from sibling integration tools. It even notes handling of sign-changing integrands, which is a unique feature.

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

Usage Guidelines4/5

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

The description clearly conveys it is for Monte Carlo integration, and the note about sign-changing integrands indicates appropriate use cases. However, it does not explicitly mention alternatives or when not to use it, so it falls short of a 5.

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

mc_valor_promedio_1dA

Estimate ∫ₐᵇ f(x) dx with the mean-value Monte Carlo method.

Args: func_str: Math expression in x. a, b: Integration limits (b > a). N: Number of samples. seed: Optional RNG seed for reproducibility. precision: Rounding digits. nivel_confianza: Confidence level in (0, 1).

Returns: Dict with the estimate, confidence interval and sample statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
NNo
aYes
bYes
seedNo
func_strYes
precisionNo
nivel_confianzaNo

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses key behavioral traits: the method is stochastic (mean-value MC) with an optional seed for reproducibility, and it returns a confidence interval and sample statistics. This gives the agent a clear sense of randomness and output structure. It does not mention convergence rate or potential accuracy pitfalls, but the core traits are covered.

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

Conciseness5/5

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

The description is compact and well-structured. It leads with a one-sentence purpose statement, followed by a tight Args list and a Returns line. Each item is meaningful and adds value without unnecessary elaboration.

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 a stochastic numerical integration tool with 7 parameters and no output schema, the description provides sufficient information to invoke it correctly: parameters, constraints, and return contents. It does not explain when to use this MC method over alternatives or discuss limitations, but the core invocation context 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?

The schema has 0% description coverage, but the Args block in the description defines every parameter: func_str as math expression, a/b as limits with b>a, N as number of samples, seed for reproducibility, precision for rounding, and nivel_confianza with range (0,1). This adds essential meaning beyond the raw schema.

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

Purpose5/5

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

The description opens with a precise statement: 'Estimate ∫ₐᵇ f(x) dx with the mean-value Monte Carlo method.' This clearly identifies the action (estimate), the resource (definite integral), and the specific method, distinguishing it from sibling tools like mc_hit_or_miss_1d or integral_simpson.

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?

The description does not explicitly state when to use this tool versus alternatives. It names the method but lacks guidance on when MC is preferred over Simpson/trapezoid or when to use the 1D variant over 2D/3D. Usage must be inferred from the tool name and method description.

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

mc_valor_promedio_2dB

Estimate the double integral of f(x, y) over [x_a,x_b]×[y_a,y_b] by mean value.

ParametersJSON Schema
NameRequiredDescriptionDefault
NNo
x_aYes
x_bYes
y_aYes
y_bYes
seedNo
func_strYes
precisionNo
nivel_confianzaNo

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It does not mention that the result is stochastic, that N controls sample count, or that the output is approximate. The phrase 'Estimate... by mean value' only hints at the algorithm without explaining the random sampling nature or return format.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that directly states the core function. Every word earns its place, with no wasted text.

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

Completeness2/5

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

For a tool with 9 parameters, no output schema, and no annotations, this description is far too minimal. It lacks details on return values, expected function string syntax, the role of N and seed, or how 'precision' and 'nivel_confianza' influence the result. The abundance of sibling tools also demands more behavioral context to avoid misuse.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It implicitly explains the integration bounds (x_a, x_b, y_a, y_b) via 'over [x_a,x_b]×[y_a,y_b]' but leaves N, seed, precision, and nivel_confianza entirely unexplained. The description adds minimal meaning beyond the parameter names.

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

Purpose5/5

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

The description clearly states that the tool estimates a double integral over a rectangular domain using the mean value method. This specific verb+resource formulation distinguishes it from siblings like mc_valor_promedio_1d and mc_hit_or_miss_1d.

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?

No guidance is provided on when to use this Monte Carlo mean value method versus alternatives like Simpson or other MC variants. The description only states what it does, leaving the agent to infer appropriate usage.

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

mc_valor_promedio_3dC

Estimate the triple integral of f(x,y,z) over the box [x_a,x_b]×[y_a,y_b]×[z_a,z_b].

ParametersJSON Schema
NameRequiredDescriptionDefault
NNo
x_aYes
x_bYes
y_aYes
y_bYes
z_aYes
z_bYes
seedNo
func_strYes
precisionNo
nivel_confianzaNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries full responsibility for behavioral disclosure. It merely says 'Estimate' but does not reveal that this is a Monte Carlo method with stochastic output, that results depend on N and seed, or that confidence level and precision are configurable. This is a significant transparency gap for a probabilistic tool.

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?

The description is a single, front-loaded sentence with no redundant words, which makes it easy to parse. However, given the tool's complexity (11 parameters, Monte Carlo behavior, confidence levels), the brevity borders on under-specification, so it earns a 4 rather than a 5.

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

Completeness2/5

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

The tool has a rich parameter set and no output schema, yet the description offers no details about return values, error behavior, stochastic convergence, or how to specify the function. This leaves the agent unprepared to interpret results or configure the method confidently.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate, but it only adds meaning for the integration bounds (x_a, x_b, etc.) and the function func_str. The crucial parameters N, seed, precision, and nivel_confianza are left undocumented in both the schema and the description, so the agent lacks essential meaning for configuring the Monte Carlo process.

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

Purpose5/5

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

The description clearly states the tool's action ('Estimate the triple integral'), specifies the target function f(x,y,z), and defines the integration domain as a box with bounds [x_a,x_b]×[y_a,y_b]×[z_a,z_b]. This distinctively separates it from Monte Carlo variants for 1D/2D integrals and deterministic integration tools.

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?

The description provides no explicit guidance on when to use this tool versus alternatives. It only implies suitability for triple integrals over a rectangular box, with no mention of preferred scenarios, limitations, or exclusions relative to sibling tools like mc_valor_promedio_2d or integral_simpson38.

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

ode_eulerA

Solve y'(x) = f(x, y), y(x0) = y0 with the explicit Euler method (1st order).

Args: ecuacion_str: Right-hand side f(x, y). x0, y0: Initial condition. xf: Final x (must be > x0). h: Step size (must be positive). tol: Optional tolerance flag for the final error. precision: Rounding digits.

Returns: Dict with the numerical solution, exact solution (when available) and errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
hYes
x0Yes
xfYes
y0Yes
tolNo
precisionNo
ecuacion_strYes

TDQS

A3.8/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 burden for behavioral disclosure. It does mention the first-order nature, constraints (xf > x0, h > 0), and the return contents. However, it omits potential limitations such as instability, accuracy trade-offs, or what happens when the exact solution is unavailable.

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

Conciseness5/5

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

The description is highly concise: a one-line math definition, an organized argument list, and a returns line. Every sentence earns its place without redundancy.

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?

Given the tool's complexity (7 params, no output schema, no annotations), the description is largely complete: it covers the method, all parameters, constraints, and return type. Gaps remain around the exact equation syntax and the precise structure of the returned dictionary, but the essential invocation context is present.

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

Parameters4/5

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

The schema description coverage is 0%, so the description must compensate, and it does by explaining each parameter's mathematical meaning and constraints (e.g., xf must be > x0, h positive). Minor issues: 'tol' is described as a 'flag' but the schema shows it is a numeric tolerance, and the format of 'ecuacion_str' is not specified.

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

Purpose5/5

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

The description clearly states it solves a first-order ODE using the explicit Euler method, with the mathematical notation y'(x)=f(x,y), y(x0)=y0. This specific verb+resource+method distinguishes it from sibling tools like ode_heun and ode_rk4.

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?

The description provides no guidance on when to choose the explicit Euler method over alternatives, nor any exclusions or prerequisites. It defines the method but does not help an agent select among the many ODE solver siblings, leaving use-case decisions entirely implicit.

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

ode_heunA

Solve y'(x) = f(x, y), y(x0) = y0 with Heun's predictor-corrector method (2nd order).

Args: ecuacion_str: Right-hand side f(x, y). x0, y0: Initial condition. xf: Final x (must be > x0). h: Step size (must be positive). tol: Optional tolerance flag for the final error. precision: Rounding digits.

Returns: Dict with the numerical solution, exact solution (when available) and errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
hYes
x0Yes
xfYes
y0Yes
tolNo
precisionNo
ecuacion_strYes

TDQS

A3.8/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 burden. It discloses the mathematical method, parameter constraints, and return structure (numerical solution, exact solution when available, errors). However, it does not explain how the tolerance flag affects error computation, what happens when the exact solution is unavailable, or any numerical edge cases.

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?

The description is well-organized with an explicit Args/Returns structure and no filler. It is compact yet informative, front-loading the core mathematical purpose. Minor inefficiency: the param list could be more terse, but it remains clear.

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?

No output schema exists, so the description's return summary is valuable. However, there is no example of the equation string format, no mention of error-estimation behavior, and no guidance on when to choose this method over sibling ODE tools. With 7 parameters and missing output schema, more context would be helpful.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It provides a brief explanation for every parameter (e.g., 'Right-hand side f(x,y)', 'Final x (must be > x0)'). This goes beyond the schema's bare type information. It still lacks details on the exact format expected for ecuacion_str and does not mention the default rounding precision.

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

Purpose5/5

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

The description states exactly what the tool does: solves an initial value ODE using Heun's predictor-corrector method. It names the method and the mathematical form, clearly distinguishing it from sibling ODE solvers like ode_euler and ode_rk4.

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?

The description provides in-parameter constraints (xf > x0, h positive) and clearly indicates the intended use for Heun's method, but it does not explicitly compare this tool with alternative ODE solvers or state when to prefer it over Euler or RK4. Usage is implied but not directly guided relative to siblings.

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

ode_rk4A

Solve an initial value problem y'(x) = f(x, y) with the Runge-Kutta 4 method.

Args: ecuacion_str: Right-hand side f(x, y), e.g. "y" or "-2xy". x0: Initial x. y0: Initial y(x0). xf: Final x (must be > x0). h: Step size (must be positive). The endpoint xf is always reached. tol: Optional tolerance to flag whether the final error meets it. precision: Rounding digits.

Returns: Dict with the numerical solution table, exact solution (when SymPy can solve it) and per-step errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
hYes
x0Yes
xfYes
y0Yes
tolNo
precisionNo
ecuacion_strYes

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure and does so thoroughly. It explains that the endpoint xf is always reached, that tol flags whether the final error meets tolerance, and that the return includes a solution table, exact solution when SymPy can solve it, and per-step errors.

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

Conciseness5/5

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

The description is a well-organized docstring with a one-line purpose statement followed by a compact Args/Returns breakdown. Every sentence adds information about parameters, constraints, or output, with no filler or redundancy.

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

Completeness5/5

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

Given the absence of annotations and output schema, the description is remarkably complete. It covers the mathematical problem, all parameter meanings, constraints, the optional tolerance behavior, and the structure of the returned dictionary, including the caveat about SymPy's ability to provide an exact solution.

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%, so the description must compensate. It does: every parameter is explained with meaningful semantics—ecuacion_str gets an example, x0/y0 are defined, xf must be > x0, h must be positive, tol is an optional tolerance flag, and precision is the rounding digits.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Solve an initial value problem y'(x) = f(x, y) with the Runge-Kutta 4 method.' This clearly states the operation and differentiates it from sibling ODE solvers like ode_euler and ode_heun by naming the specific numerical method.

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

Usage Guidelines4/5

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

The description clearly implies when to use the tool: for initial value problems where RK4 accuracy is desired, with constraints like xf > x0 and positive h. It does not explicitly state when not to use it or name alternatives, but the method name and context provide clear usage guidance.

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

root_aitkenA

Accelerate fixed-point iteration with Aitken's delta-squared method.

Args: g_str: Math expression for the iteration function g(x). x0: Initial guess. tol: Convergence tolerance. max_iter: Maximum iterations. precision: Rounding digits.

Returns: Dict with the accelerated root, iteration table and convergence flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
x0Yes
tolNo
g_strYes
max_iterNo
precisionNo

TDQS

A4.1/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 burden. It discloses that the tool returns a dict with the accelerated root, iteration table, and convergence flag, which is helpful. However, it does not mention potential failure modes (e.g., divergence, invalid math expression), how rounding is applied, or whether the method checks the convergence of the original iteration. It is transparent about the output but lacks deeper behavioral caveats.

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

Conciseness5/5

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

The description is concise and well-structured. It opens with a one-sentence summary, then uses an Args block to list parameters and a Returns block to describe the output. Every sentence contributes necessary information with no filler. The format is front-loaded and easy to scan.

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 a numerical method tool with no output schema, the description provides a reasonable overview: it names the algorithm, lists all inputs with meanings, and explains the return value. It lacks some context like the expected syntax of g_str (e.g., variable name, allowed functions) or preconditions for the method to converge. But given the tool's moderate complexity and sibling context, this is largely sufficient.

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 coverage is 0% (no descriptions in the input schema), so the description must compensate. It fully compensates by providing a clear, one-line meaning for every parameter: g_str (math expression), x0 (initial guess), tol (convergence tolerance), max_iter (maximum iterations), and precision (rounding digits). This adds meaningful semantic context beyond the schema's titles and defaults.

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

Purpose5/5

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

The description opens with a specific, action-oriented statement: 'Accelerate fixed-point iteration with Aitken's delta-squared method.' This clearly identifies the tool's purpose and method, distinguishing it from siblings like root_bisection, root_newton_raphson, or root_punto_fijo. It names the exact resource (fixed-point iteration) and the technique (Aitken's delta-squared).

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?

The description implies usage through 'Accelerate fixed-point iteration' but does not explicitly state when to prefer this over alternatives, such as when convergence is slow or when a fixed-point method exists. It also does not mention any prerequisites or exclusions. There is no reference to sibling tools, so guidance is only implicit.

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

root_bisectionA

Find a root of f(x) = 0 in [a, b] using the bisection method.

Requires f(a) and f(b) to have opposite signs (Bolzano's theorem).

Args: func_str: Math expression in x, e.g. "x**2 - 4". a: Left endpoint of the interval. b: Right endpoint of the interval (must be > a). tol: Convergence tolerance on the residual/error. max_iter: Maximum number of iterations. precision: Rounding digits for the reported root.

Returns: Dict with the root, convergence flag, iteration table and errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes
tolNo
func_strYes
max_iterNo
precisionNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the method's requirement (opposite signs), iterative nature (max_iter, tolerance), and return contents ('Dict with the root, convergence flag, iteration table and errors'). It does not detail failure behavior or the meaning of the convergence flag, but the essential behavioral traits are present.

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

Conciseness5/5

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

The description is concise and well-structured: a one-sentence purpose, a requirement, a parameter list, and a return description. No unnecessary content or repetition.

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?

The description covers the main purpose, parameters, and return structure, which is adequate for a 6-parameter tool with no output schema. It does not elaborate on the format of the iteration table or possible error types, leaving some residual ambiguity about the return dict.

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%, so the description fully compensates. The Args section explains each of the six parameters with meaningful detail, including examples ('x**2 - 4'), interval endpoints, tolerance, iteration limit, and precision. This adds substantial meaning beyond the schema's bare titles.

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

Purpose5/5

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

The description opens with 'Find a root of f(x) = 0 in [a, b] using the bisection method,' using a specific verb and resource, and clearly identifies the method. This distinguishes it from sibling root-finding tools like Newton, fixed point, and Aitken.

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

Usage Guidelines4/5

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

The description provides a clear precondition: 'Requires f(a) and f(b) to have opposite signs (Bolzano's theorem)' and notes 'b must be > a.' It does not explicitly compare with alternative root-finding tools or state when bisection is preferred, so it falls short of a full 5.

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

root_compararA

Compare bisection, fixed-point, Newton-Raphson and Aitken on the same problem.

Args: func_str: Math expression for f(x) (used by bisection/Newton). g_str: Math expression for g(x) (used by fixed-point/Aitken). a, b: Bracket for bisection (f(a) and f(b) must differ in sign). x0: Initial guess. tol, max_iter, precision: Shared tolerances.

Returns: Dict with per-method results.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes
x0Yes
tolNo
g_strYes
func_strYes
max_iterNo
precisionNo

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It provides useful constraints (e.g., 'f(a) and f(b) must differ in sign'), explains shared tolerances, and states the return type. However, it omits failure behavior when methods do not converge and does not describe the structure of the returned dict beyond 'per-method results.'

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

Conciseness5/5

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

The description is a compact docstring with a clear purpose sentence, an Args section listing parameters with roles, and a Returns line. Every sentence earns its place; no filler or redundancy. It is front-loaded and structured for quick scanning.

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?

For an 8-parameter comparison tool with no output schema, the description covers inputs and the general return type, but the return dict's keys and per-method details are unspecified. The tool's behavior under non-convergence or invalid inputs is also unaddressed, leaving gaps that an agent might need to infer.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It adds meaning to all parameters: func_str for bisection/Newton, g_str for fixed-point/Aitken, a/b as the bracket, x0 as initial guess, and tol/max_iter/precision as shared tolerances. This is helpful, though exact format examples are not given.

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

Purpose5/5

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

The description opens with 'Compare bisection, fixed-point, Newton-Raphson and Aitken on the same problem,' which uses the specific verb 'compare' and a clear resource (four root-finding methods). This distinguishes it from the sibling single-method tools (root_bisection, root_newton_raphson, etc.) and makes the tool's purpose immediate.

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

Usage Guidelines4/5

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

The phrase 'on the same problem' clearly indicates when to use this tool: when a comparative evaluation of root-finding methods is desired. It does not explicitly list when not to use it or name alternatives, but the sibling tool context and the opening statement make the use case unambiguous.

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

root_newton_raphsonA

Find a root of f(x) = 0 with the Newton-Raphson method (numeric derivative).

Args: func_str: Math expression in x. x0: Initial guess. tol: Convergence tolerance. max_iter: Maximum iterations. precision: Rounding digits.

Returns: Dict with the root, iteration table and convergence flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
x0Yes
tolNo
func_strYes
max_iterNo
precisionNo

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 transparency burden. It does disclose that the derivative is numeric and that the return is a dict with root, iteration table, and convergence flag. However, it lacks warnings about divergence, sensitivity to x0, or behavior when the derivative is zero.

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?

The description is efficient and well-structured with an opening sentence followed by concise Args/Returns sections. No filler, each line provides necessary information.

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?

The description gives the essential inputs and outputs but omits important context such as potential convergence failures, need for good initial guess, and numerical derivative step size. Since there is no output schema, the return is described but not detailed enough for all usage scenarios.

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

Parameters4/5

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

Schema description coverage is 0%, but the description compensates by listing every parameter with a concise meaning: func_str as 'Math expression in x', x0 as 'Initial guess', tol as 'Convergence tolerance', etc. This adds value beyond the schema titles, though it could specify allowed math syntax.

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

Purpose5/5

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

The description starts with a specific verb+resource: 'Find a root of f(x) = 0 with the Newton-Raphson method (numeric derivative).' This clearly distinguishes it from sibling root-finding tools like root_bisection and root_punto_fijo by naming the method.

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?

No guidance is provided on when to prefer Newton-Raphson over other root-finding methods. It does not mention that a good initial guess is needed, or when bisection or fixed-point might be safer. Implied only through the method name.

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

root_punto_fijoA

Find a fixed point of g(x) = x with the fixed-point iteration method.

Converges when |g'(x)| < 1 near the root (Lipschitz check is reported).

Args: g_str: Math expression for the iteration function g(x). x0: Initial guess. tol: Convergence tolerance. max_iter: Maximum iterations. precision: Rounding digits.

Returns: Dict with the fixed point, the Lipschitz check, iteration table and convergence flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
x0Yes
tolNo
g_strYes
max_iterNo
precisionNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It explains what the tool does, reports the Lipschitz check, and enumerates the return fields: 'fixed point, the Lipschitz check, iteration table and convergence flag.' This is substantial behavioral disclosure for a numerical computation tool.

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

Conciseness5/5

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

The description is well-structured with a purpose statement, convergence note, and Args/Returns sections. It is concise, front-loaded, and every sentence adds value—no fluff or repetition of schema fields.

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 a 5-parameter tool with no output schema and no annotations, the description is quite complete: it explains the mathematical method, convergence condition, and return contents. A minor gap is not detailing the exact format of the iteration table, but this is not essential for using the tool.

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?

The Args section adds clear meaning to every parameter (g_str, x0, tol, max_iter, precision) beyond the schema's bare names and types. For example, g_str is described as 'Math expression for the iteration function g(x)' and tol as 'Convergence tolerance.' This fully compensates for the 0% schema description coverage.

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

Purpose5/5

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

The description clearly states 'Find a fixed point of g(x) = x with the fixed-point iteration method.' This is a specific verb+resource and distinguishes from sibling root-finding tools like root_newton_raphson and root_bisection by naming the exact method.

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

Usage Guidelines4/5

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

The description provides a clear convergence condition: 'Converges when |g'(x)| < 1 near the root (Lipschitz check is reported).' This effectively tells users when the method is appropriate, though it does not explicitly compare with alternative root-finding tools.

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

TDQS

A3.5/5.0
Disambiguation4/5

Most tools target distinct numerical methods (e.g., root_bisection vs root_newton_raphson), but the dynamic_2d_* group has several linear-system solvers that could be confused, and mc_valor_promedio_1d vs mc_hit_or_miss_1d require close reading. Overall, descriptions disambiguate well.

Naming Consistency3/5

Names follow a prefix-per-domain pattern (integral_, root_, ode_, mc_, dynamic_), but mix English and Spanish (e.g., integral_trapecio, mc_valor_promedio_1d, root_punto_fijo) and use inconsistent suffixes (solve, comparar, 1d, 13). This makes the set feel less predictable.

Tool Count2/5

29 tools is well above the typical coherent range; many are variations of the same computation (6 Monte Carlo integration tools, 5 root finders, 5 integration rules). The breadth is large, but most tools could be consolidated without losing functionality.

Completeness4/5

The surface covers numerical integration, root finding, ODE solvers, interpolation, finite differences, Monte Carlo, and 1D/2D dynamical systems. Minor gaps exist (e.g., no linear algebra solvers or optimization), but the core methods for the apparent scope are present.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A demonstration MCP server that exposes basic arithmetic tools (add, subtract, ping) through FastAPI and shows how to integrate them with OpenAI's tool-calling API for LLM orchestration.
  • A
    license
    B
    quality
    C
    maintenance
    An MCP server that exposes NumPy functionality as tools, enabling array creation, manipulation, mathematical operations, linear algebra, random sampling, statistics, and element-wise math through natural language.
    72
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server that exposes 8 mathematical tools (arithmetic, algebra, calculus, matrix operations, statistics, probability, unit conversions) to any MCP-compatible AI agent, enabling mathematical computations without code.
    8
    28
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server that provides basic mathematical, statistical and trigonometric functions to Large Language Models (LLMs).
    59
    37
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/agmonetti/mathmethods-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server