Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Qedra

OCI · GHCR.IO/EVGWPW/QEDRA · 3 COMPONENTS

Computer algebra with verifiable answers

39 Trust /100

Last scanned (7 hours ago)

Scores higher than 39% of OCI servers

Category Education and Research

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
Provenance & Transparency45
Schema Quality & AI Usability71
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 11559 tokens (~481/item across 24 items; 23 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
  • Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "undeclare" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 25 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 0 to 3. That category is still filling its 30-day observation window: 0 days of observed history at the previous scan, 1 at this one. The score rises as the window fills, whether or not the server changes.

  • 4 Nov 26 38

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed oci/ghcr.io/evgwpw/qedra@1.109.7.11

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 23 exposed · ~11,245 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
apart ~583

Partial fraction decomposition of a rational function with respect to 'var': 1/(x^2-1) gives 1/(2(x-1)) - 1/(2(x+1)). Not a rational function in 'var' (e.g. contains sin(x)): status "error" or unchanged input. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
exprstringyesExpression in the math language, e.g. "x^2*sin(x) + exp(-x)" (with syntax="lisp": an S-expression, e.g. "(* (^ x 2) (sin x))").
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.
varstringyesVariable of the decomposition, e.g. "x".

No output schema declared.

No examples provided.

code ~321

Query the Lisp source of the CAS library (lib/) instead of reading whole files; for developers and agents extending the library. kind: def (location, signature, doc comment and source of NAME), sig (one-line signature + module + first doc line; builtins too), refs (where NAME is used), callers / callees (direct, depth for transitive), module (exports and module dependencies), outline (definitions of a file with line numbers), search (top-10 definitions by name/doc words, Russian or English), deps (external names a file uses, by module), unused (definitions never referenced). Names may be qualified: module::name. Result: plain text (default, compact) or JSON text with json=true. An unknown name returns an error with similar names.

NameTypeReqDescription
argstring–NAME for def/sig/refs/callers/callees, module name for module, file path (lib/algnum.lisp or algnum.lisp) for outline/deps, words for search; not used by unused.
depthinteger–callers/callees: depth of the transitive closure (default 1).
jsonboolean–Return JSON text instead of compact text (default false).
kindstringyesKind of query.
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
no_bodyboolean–def: omit the source text (default false).

No output schema declared.

No examples provided.

declarations ~179

List the active declarations of the session, one "x ∈ D" per line (also given in 'assumptions' of every response). Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.

No output schema declared.

No examples provided.

declare ~506

Declare a property of a symbol for the whole session: its domain or interval. It then affects simplify (sqrt(x^2) becomes x for x in positive), solve, integrate and the signs of expressions. Declarations of one symbol accumulate (they intersect): call again to add a constraint. Returns "x ∈ D"; 'assumptions' lists all active declarations. Undeclared symbols are complex numbers. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
domainstringyesOne of: ℝ (reals), ℤ (integers), ℚ (rationals), ℕ (naturals incl. 0), ℂ (complex); positive, nonnegative, negative, nonpositive; an interval: (0, ∞), [0, 1], (0, 1], interval(-1, 1). ASCII names also…
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
symbolstringyesSymbol name, e.g. "x".
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.

No output schema declared.

No examples provided.

diff ~543

Differentiate an expression; the result is simplified. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
exprstringyesExpression in the math language, e.g. "x^2*sin(x) + exp(-x)" (with syntax="lisp": an S-expression, e.g. "(* (^ x 2) (sin x))").
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
orderinteger–Derivative order (default 1).
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.
varstringyesDifferentiation variable, e.g. "x".

No output schema declared.

No examples provided.

equivalent ~623

Check whether two expressions are equal. result is "true", "false" or "unknown" (status "answer"). true: proved symbolically (the difference simplifies to 0); holds where both expressions are defined. false: a counterexample is given in 'note' (a point where the values differ; sample points respect declarations, undeclared symbols are sampled as real numbers). unknown: not proved, and the numeric checks at random points agreed (this is NOT a proof); verify by other means or say that you could not decide. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
astringyesFirst expression, e.g. "sin(x)^2 + cos(x)^2".
bstringyesSecond expression, e.g. "1".
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.
varsstring–Variables to sample, e.g. "[x, y]" (optional: all free symbols are used).

No output schema declared.

No examples provided.

evaluate ~376

Evaluate Lisp (Scheme-like) code in the persistent session; one or more forms, the value of each is returned (one line per form). On error, 'stack' holds the Lisp backtrace. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
codestringyesLisp code, e.g. "(integrate '(* x (exp x)) 'x)".
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.

No output schema declared.

No examples provided.

expand ~522

Expand products and integer powers of sums into a sum of monomials (collects like terms). Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
exprstringyesExpression in the math language, e.g. "x^2*sin(x) + exp(-x)" (with syntax="lisp": an S-expression, e.g. "(* (^ x 2) (sin x))").
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.

No output schema declared.

No examples provided.

factor ~540

Factor a polynomial over the integers into irreducible factors (also a rational function: numerator and denominator). Irreducible or non-polynomial input is returned unchanged with status "answer". Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
exprstringyesExpression in the math language, e.g. "x^2*sin(x) + exp(-x)" (with syntax="lisp": an S-expression, e.g. "(* (^ x 2) (sin x))").
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.

No output schema declared.

No examples provided.

groebner ~617

Reduced Groebner basis of the ideal generated by polynomials, as a vector of monic polynomials. 'order' is the monomial order: lex (default; useful for elimination and solving), grlex, grevlex (usually fastest). Large systems (e.g. cyclic-6) can be slow: use timeout_s; status "timeout" means no answer, not an empty basis. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
orderstring–Monomial order, default lex.
polysstringyesPolynomials, as a vector "[x^2 + y, x*y - 1]" or an array of strings; an equation a = b means a - b.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.
varsstringyesVariables, as a vector "[x, y]" or an array of strings; the order of variables matters for lex.

No output schema declared.

No examples provided.

guide ~209

Return the on-demand LLM guide (markdown). Without 'topic': the short core (input syntax, how to read the response: status / conditions / certificates, which tool when) and the list of topic cards (the same text is the MCP resource lisp://guide). With 'topic' (e.g. "integration", "ode", "linear-algebra", "sums"): a card with 5-15 functions with exact signatures, runnable examples and pitfalls. A name from other systems (Mathematica, Maple) ("DSolve", "FactorInteger", "Eigenvalues", ...) or a tool name is accepted and returns the right card; topic "synonyms" is the whole table. An unknown topic returns an error with suggestions. Read the core once before the first calculation.

NameTypeReqDescription
topicstring–Topic card name (e.g. "integration") or a name from another system (e.g. "DSolve"); omit for the core guide and the list of topics.

No output schema declared.

No examples provided.

integrate ~606

Integrate an expression: indefinite, or definite when both 'from' and 'to' are given. If no antiderivative is found, status is "unknown" and result is the unevaluated integral; conditions list parameter assumptions used. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
exprstringyesExpression in the math language, e.g. "x^2*sin(x) + exp(-x)" (with syntax="lisp": an S-expression, e.g. "(* (^ x 2) (sin x))").
fromstring–Lower limit for a definite integral (math language; -∞ allowed).
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.
tostring–Upper limit for a definite integral (math language; ∞ allowed).
varstringyesIntegration variable, e.g. "x".

No output schema declared.

No examples provided.

limit ~669

Limit of an expression as var approaches point (a number, or ∞ / -∞). Without 'side' it is the two-sided limit. If the limit is not found (it may exist, or may not, e.g. sin(1/x) at 0), status is "unknown" and result is the unevaluated limit(...); do not guess the value. Result may be ∞, -∞ or undefined. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
exprstringyesExpression in the math language, e.g. "x^2*sin(x) + exp(-x)" (with syntax="lisp": an S-expression, e.g. "(* (^ x 2) (sin x))").
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
pointstringyesLimit point (math language): "0", "1", "∞", "-∞", "a".
sidestring–One-sided limit: "plus" (from the right, x→a+) or "minus" (from the left). Default: two-sided.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.
varstringyesLimit variable, e.g. "x".

No output schema declared.

No examples provided.

linear-algebra ~589

Exact linear algebra on a matrix (step LA.4): Jordan normal form, matrix exponential exp(A·t), symbolic matrix power A^n, a function of a matrix f(A), diagonalization, eigenvalues/eigenvectors. The matrix is given as "[[2,1],[0,2]]" in the math language. fn selects the operation: jordan_form (returns [P, J] with A = P·J·P⁻¹), jordan_blocks, mat_exp (var defaults to the built-in t; verified by d/dt E = A·E and E(0) = I), mat_power (var defaults to n; nilpotent Jordan blocks at λ=0 are written as zeros with the condition n ≥ s in 'conditions'), mat_fn (func, e.g. "exp" or a lambda), diagonalize ([P, D]), is_diagonalizable, eigenvalues, eigenvectors. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
exprstringyesMatrix in the math language, e.g. "[[2,1],[0,2]]".
fnstringyesOperation on the matrix.
funcstring–Function for mat_fn, e.g. "exp" or "lambda(x) x^2".
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.
varstring–Variable for mat_exp (t) or mat_power (n); defaults to the built-in.

No output schema declared.

No examples provided.

linear-programming ~664

Linear and integer linear programming (step LP.3) with exact rational arithmetic: the two-phase simplex method (Bland's rule) for LP, branch and bound for ILP. Maximize or minimize a linear objective cᵀx over linear constraints. The answer always carries a certificate verified by lp-check (independent: only multiplications and comparisons): optimal — x, value and the dual prices y with cᵀx = value = bᵀy; infeasible — a Farkas lemma certificate; unbounded — a feasible point and a ray; integer — re-solving the branch-and-bound tree. 'integer' is a vector of variable classes "int"/"bin"/"free"; when absent the problem is a plain LP. answers: (optimal x value y), (infeasible y), (unbounded x d), (unknown x value nil) when the node limit is exceeded. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
constraintsstringyesConstraint matrix A as a matrix, e.g. "[[1,0],[0,2],[1,1]]".
dirstringyesOptimization direction.
integerstring–Variable classes for ILP as a vector of "int"/"bin"/"free", e.g. "["bin", "bin", "int"]"; when absent — plain LP.
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
objectivestringyesObjective coefficients c as a vector, e.g. "[3, 5]".
relationsstring–Constraint relations as a vector of "<="/">="/"=", e.g. "["<=", ">=", "="]"; default all "<=".
rhsstringyesRight-hand sides b as a vector, e.g. "[4, 12, 8]".
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.

No output schema declared.

No examples provided.

math ~437

Run a program in the CAS math language in the persistent session: statements separated by ';' or newlines, assignments 'a := 2', functions 'f(x) := x^2', domain declarations 'x :∈ ℝ', and all CAS functions (simplify, expand, factor, diff, integrate, solve, limit, series, ...). result/pretty contain one line per statement; print() output goes to 'output'. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
codestringyesProgram text, e.g. "f(x) := x^3 - x; factor(f(x)); solve(f(x) = 0, x)".
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.

No output schema declared.

No examples provided.

reset ~25

Reset the session: forget all variables, functions and domain declarations. Returns status "answer".

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

series ~600

Taylor/Laurent series of an expression around a point, up to the given order (the O(...) remainder is included in the result). Series that the CAS cannot compute (essential singularities, unsupported functions): status "unknown". Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
exprstringyesExpression in the math language, e.g. "x^2*sin(x) + exp(-x)" (with syntax="lisp": an S-expression, e.g. "(* (^ x 2) (sin x))").
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
orderinteger–The series is exact up to O(var^order); default 6.
pointstring–Expansion point (math language), default "0".
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.
varstringyesExpansion variable, e.g. "x".

No output schema declared.

No examples provided.

simplify ~510

Simplify an expression to canonical form. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
exprstringyesExpression in the math language, e.g. "x^2*sin(x) + exp(-x)" (with syntax="lisp": an S-expression, e.g. "(* (^ x 2) (sin x))").
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.

No output schema declared.

No examples provided.

solve ~586

Solve an equation or a system. Returns the SET of solutions (a system solution is a vector of equations x = ...); status "no-solution" means proven unsolvable; 'conditions' lists the generic-parameter conditions (e.g. a ≠ 0) under which the answer holds. Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
equationsstringyesEquation "x^2 - 5x + 6 = 0" (an expression means '= 0'), or a vector of equations "[x + y = 3, x - y = 1]".
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.
varsstringyesUnknown "x", or a vector of unknowns "[x, y]" for a system.

No output schema declared.

No examples provided.

sum ~666

Symbolic summation (step 21l.7): Faulhaber for polynomials, Gosper/Abramov for hypergeometric and rational terms, Zeilberger + rsolve for binomial sums (sum(C(n,k),k,0,n) = 2^n). The answer is a closed form, or a recurrence with initial values when no hypergeometric closed form exists (Apéry numbers); the certificate verifies the answer by direct summation. Lower bound 'from' defaults to 0; upper bound 'to' is required (usually n). Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
exprstringyesExpression in the math language, e.g. "x^2*sin(x) + exp(-x)" (with syntax="lisp": an S-expression, e.g. "(* (^ x 2) (sin x))").
fromstring–Lower bound (math language; default 0).
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.
tostringyesUpper bound (math language; usually n).
varstringyesSummation variable, e.g. "k".

No output schema declared.

No examples provided.

together ~534

Combine a sum of fractions into one fraction numerator/denominator in lowest terms: 1/x + 1/y gives (x + y)/(x*y). Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
certificateboolean–Include a verification of the answer in the 'certificate' field (default false): derivative check for integrate, substitution check for solve, equivalence check for simplify/expand/factor/together/ap…
exprstringyesExpression in the math language, e.g. "x^2*sin(x) + exp(-x)" (with syntax="lisp": an S-expression, e.g. "(* (^ x 2) (sin x))").
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
syntaxstring–Input syntax of expression arguments: "math" (default; infix: x^2, sqrt(x), pi, ∞, a = b) or "lisp" (S-expressions).
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.

No output schema declared.

No examples provided.

undeclare ~340

Remove all declarations of a symbol (it becomes an arbitrary complex number again). Returns a JSON object: status (answer | unknown | no-solution | nonelementary | error | timeout), result (S-expression), pretty (math-language form), note, conditions (when the answer is valid, e.g. a ≠ 0), assumptions, certificate (only with certificate=true), steps, warnings, output, error.

NameTypeReqDescription
langstring–Language of step titles and comments (used with steps): "ru" (default) or "en". The rule ids and the formulas are language-independent. A step without an English translation keeps its Russian text an…
max_charsinteger–Truncate result/pretty to this many characters (default 20000, max 200000); truncation is reported in 'warnings'.
stepsstring–Include the step-by-step solution in the 'steps' field (a tree; titles and comments are in Russian unless lang="en"): none (default), brief (main top-level steps only), full (the whole tree: depth ≤…
symbolstringyesSymbol name, e.g. "x".
timeout_sinteger–Time limit in seconds (default 60, max 600). On expiry the computation is interrupted, status is "timeout"; the session stays usable.

No output schema declared.

No examples provided.

Install

How do I install the Qedra MCP server?

Qedra runs locally as a container image, launched with docker run --rm -i ghcr.io/evgwpw/qedra:1.109.7.11. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/evgwpw/qedra

# add to Claude Code
claude mcp add evgwpw-qedra -- docker run --rm -i ghcr.io/evgwpw/qedra:1.109.7.11
Common questions

What is the Qedra MCP server?

Qedra is an MCP server listed in the public MCP registry as io.github.evgwpw/qedra. Computer algebra with verifiable answers. This page covers its container image (ghcr.io/evgwpw/qedra).

Is the Qedra MCP server safe to use?

Qedra scores 39 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Qedra MCP server expose?

Qedra exposes 23 tools: math, evaluate, simplify, diff, integrate, and 18 more. Their descriptions and schemas cost roughly 11,245 tokens of context every time the server is loaded.

Is the Qedra MCP server still maintained?

Qedra is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Qedra MCP server under?

Qedra declares the 0BSD licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.