Skip to main content
Glama

Evaluate Wolfram Language

evaluate_wl
Read-only

Evaluate Wolfram Language with the very engine a wiki page's ```wl cells are evaluated by (mathics-core-rust's wl-wasm), on the server and now — to check an expression before putting it on a page, or what a page's cells will say. Pass 'code' for one cell, or 'cells' for several evaluated in one session and in order, as the page's «Evaluate all» does (a definition in one is seen by the next). The whole call has 10 seconds: the cell running when they are out is 'timeout', one that runs out of memory or stack is 'limit', and the cells after either are 'skipped'. Answers each cell's outputs — results with their Out[n], messages and prints, each as text, InputForm ('input') and TeX ('tex', 'latex') — and the engine, its commit and the seconds it took. Cells this engine already evaluated for a page of the company are answered from that output ('saved': true). Nothing is kept. Only where the company has the wiki.wl switch; at most 10 evaluations a minute per person.

Input Schema

NameRequiredDescriptionDefault
codeNoOne cell of Wolfram Language, e.g. "Integrate[x^2 Sin[x], x]" or "Factor[x^4 - 1]".
cellsNoSeveral cells, evaluated in one session and in order — instead of 'code'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes far beyond the readOnly/non-destructive annotations: discloses the 10-second whole-call budget, per-cell status semantics ('timeout', 'limit', 'skipped' and how downstream cells behave), that results may be replayed from cached page output ('saved': true), that nothing is persisted, that availability is gated by the wiki.wl switch, and the rate limit of 10 evaluations/minute per person. This is exactly the operational context annotations cannot carry.

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?

Dense and front-loaded with the verb and engine, and nearly every clause carries operational value (limits, statuses, caching, auth gating). It is a single sprawling paragraph and the return-format enumeration is slightly list-heavy, but there is little filler.

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?

No output schema exists, and the description compensates by explaining return values: each cell's outputs (results with Out[n], messages, prints in text, InputForm, and TeX/LaTeX) plus the engine, commit, and elapsed seconds. Combined with the disclosed limits and caching, an agent has everything needed to call and interpret it.

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 coverage is 100%, so baseline is 3, but the description adds real meaning: 'code' is a single cell, 'cells' are evaluated in one session in order so a definition in one is visible to the next, and 'cells' is used 'instead of' code. That ordering/session semantics is not derivable from the schema alone.

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?

States a specific verb (evaluate) and resource (Wolfram Language), identifies the exact engine (mathics-core-rust's wl-wasm) and grounds it in a concrete artifact (wiki page's ```wl cells). An agent can distinguish this from sibling tools like code_calls or report_computation without opening any schema.

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?

Gives explicit when-to-use conditions: check an expression before putting it on a page, or preview what a page's cells will say. Also routes between the two parameters ('code' for one cell vs 'cells' for several in one session). It does not name a sibling alternative tool, which is the only gap.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources