Skip to main content
Glama
Axiomatic-AI

axiomatic-mcp

Official
by Axiomatic-AI

AxPDE_verify_solution

Verify manufactured PDE solutions symbolically by checking that every equation residual is zero and all boundary conditions hold, failing closed when any check cannot be completed.

Instructions

Verify a manufactured solution symbolically (deterministic, no LLM). Checks that the residual L[u] - f is identically zero for each equation and that every boundary condition is satisfied. This is the hard-to-cheat verification step of the Method of Manufactured Solutions: it fails closed, so anything it cannot check is reported as not passing rather than silently accepted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainNoDomain spec, e.g. {"type": "interval", "x_min": 0, "x_max": 1} or {"type": "rectangle", "x_min": 0, "x_max": 1, "y_min": 0, "y_max": 1}. Required for periodic and axis-aligned Neumann BCs — without it those cannot be verified and will not pass.
unknownsNoUnknown field names, e.g. ["u"] or ["u", "v", "p"]. Defaults to ["u"].
equationsYesPDE operator(s): [{"name": "pde", "operator_code": "def pde_operator(fields, vars_dict): ..."}]. operator_code defines exactly one function returning a single SymPy expression L[fields], using the L[u] = f convention. Only `sp` (SymPy) is available; no imports, no numpy. For systems give one entry per equation, e.g. "x_momentum", "y_momentum", "continuity".
variablesYesCoordinate names, e.g. ["x", "t"] or ["x", "y", "t"]. Supported: x, y, t, r, theta, phi.
source_exprsYesSource term per equation name as SymPy-parseable strings, e.g. {"pde": "(-1 + pi**2)*exp(-t)*sin(pi*x)"}. Keys must match the equation names. Typically these come from derive_source.
solution_exprsYesManufactured solution per field as SymPy-parseable strings, e.g. {"u": "sin(pi*x)*exp(-t)"}. Keys must match the field names the operator code reads from `fields`.
boundary_conditionsNoBoundary conditions, each {"label", "type", "subs", "value"}. Types: "dirichlet", "neumann", "periodic", "robin". Axis-aligned uses subs={"x": 0}; polygon edges use subs={"edge": [[0,0],[1,0]]}. Neumann values are with respect to the OUTWARD normal.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
passedYesTrue only if every equation residual is zero AND every boundary condition is satisfied.
messageNo
bcs_satisfiedNo
bc_diagnosticsNoPer-item check results keyed by equation name or BC label. Each value has "passed" and "residual"; a nonzero residual string is the actionable detail.
pde_residual_zeroNo
equation_diagnosticsNoPer-item check results keyed by equation name or BC label. Each value has "passed" and "residual"; a nonzero residual string is the actionable detail.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.20

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 does well: it states the tool is deterministic, uses no LLM, checks residuals and boundary conditions, and 'fails closed' — meaning anything it cannot check is reported as not passing rather than silently accepted. This is valuable behavioral context beyond what the schema shows. It could add more about error reporting or performance, but the fail-closed behavior is a strong 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?

Three sentences, each earning its place: what it does, the exact mathematical criterion, and the critical fail-closed behavior. The most important information is front-loaded. No fluff or repetition of schema details.

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 7 parameters, nested objects, and an output schema, and the description covers the core purpose, the mathematical convention, and the fail-closed behavior. The schema covers parameter details. The only minor gap is that the description doesn't mention what the output looks like, but the output schema exists and the description needn't explain return values. Overall it is complete enough 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.

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description itself does not add parameter-level detail beyond the schema, but it does clarify the overall contract (L[u] = f convention, operator_code defines exactly one function). Baseline 3 is appropriate because the schema does the heavy lifting and the description adds only marginal semantic value.

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 ('Verify'), a specific resource ('a manufactured solution symbolically'), and the exact acceptance criterion ('residual L[u] - f is identically zero for each equation and every boundary condition is satisfied'). It also distinguishes itself from LLM-based checks by noting it is deterministic and 'no LLM', which separates it from sibling tools like AxPDE_parse_pde and AxPDE_derive_source.

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 this is the final verification step of the Method of Manufactured Solutions pipeline, and the 'hard-to-cheat' and 'fails closed' language tells the agent when this tool is appropriate (when rigorous symbolic verification is needed). It does not explicitly name alternatives or state when not to use it, but the context of the MMS pipeline and the deterministic/no-LLM contrast provide clear usage context.

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

Deploy Server

Other Tools