Skip to content
Back to search
100
MCP live MCP 2025-11-25 streamable-http

io.github.vlad-public-code/valem

io.github.vlad-public-code/valem

Valem - Deterministic reactive state models. Create your own calculators/forms with AI

Watch this dependency Share evidence report
Uptime
100.0%
5 direct probes · 30d
Response
475ms
last probe
Tools
35
callable
Resources
28
readable
Prompts
0
available
Primary URL
https://valem.run/mcp
Score: 100/100
Handshake verified by our own probe.
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
35 tools, 28 resources, 0 prompts returned.
pass 3 or more catalogue items 10/10
63 items in total; 3 or more earns these points.
pass Describes itself 10/10
86 characters; more than 30 earns these points.

Tools · 35

list_models

List the ids of all currently registered Valem models (alphabetical).

create_model

Create a new model from a declarative ModelSpec. The spec carries the JSON schema plus derivations (computed fields), constraints (invariants), and optional effects. Returns the created id. Fails (isE…

get_model_info

Get summary info for a model: id, version, and derivation/meta/constraint/effect counts.

get_spec

Get the full stored ModelSpec JSON for a model.

get_library

List the JSONata functions and values a model's library exports — what an expression in this model may call, with signature, arity and originating layer. Call it before writing an expression so you re…

get_state

Get a model's merged state (base fields plus all computed derived fields). On a large model this is the biggest context cost — narrow it: pass 'paths' to project only specific subtrees (canonical addr…

get_field

Get the value of a single field by its JSON Path address (e.g. "$.order.total"). Evaluates a LAZY derivation on demand.

mutate

Apply field mutations to a model and run the reactive pipeline (derivations recompute, constraints enforce, effects dispatch). 'mutations' is a flat map keyed by canonical JSON Path address, e.g. {"$.…

patch_model

Apply an RFC 6902 JSON Patch document to a model and run the reactive pipeline. Unlike 'mutate' (a flat address→value map), a patch expresses array insert/remove/move and test/copy ops, e.g. [{"op":"a…

get_effective_schema

Get the effective JSON Schema for a field: the static schema overlaid with LIVE meta-derived constraints (current min/max/required/…). Check this BEFORE writing a value to learn what the reactive pipe…

snapshot

Capture an immutable point-in-time snapshot of a model's state (base document + derived/meta caches). A natural safety step before a risky evolve_spec: keep the returned snapshot and, if the change go…

restore

Restore a model's state from a snapshot previously returned by 'snapshot' (pass it back verbatim as 'snapshot'). Overwrites the model's current base state. The snapshot must be for the same model.

explain

Explain why a field is what it is: returns the recent derivation/constraint trace records for a path from the in-memory ring buffer (inputs, expression, result). For a constraint use the synthetic pat…

get_history

List the ISO-8601 timestamps of a model's committed mutations (most recent 100).

get_audit

Query a model's durable, append-only audit trail (newest-first): one record per committed reactive cycle (mutations, derivedUpdated, traces, flaggedConstraints, dispatchedEffects, source, sequence). T…

verify_audit

Verify the tamper-evidence hash chain of a model's durable audit trail. Returns {valid, recordsChecked, firstBrokenSequence, detail}; a false 'valid' points at the first altered/reordered/deleted reco…

upload_blob

Store binary content (base64-encoded in 'data') in the content-addressed blob store and get back a BlobRef {$blobId, $mediaType, $bytes} to embed in a model's binary field. Storage is content-addresse…

download_blob

Fetch a blob's bytes by id, base64-encoded in the result. Pass 'modelId' to fetch a blob referenced by a specific model (access-scoped); omit it for a direct store fetch. Large blobs may exceed the re…

evolve_spec

Apply an incremental SpecEvolution diff to a model, preserving live state. Returns the new version. Fails (isError) if the evolved spec is invalid, if expectedVersion no longer matches, or if a schema…

delete_model

Remove a model from the registry. Fails (isError) if the model does not exist.

get_view

Evaluate a model's embedded view definition against current state and return the resolved component tree. Pass an optional 'viewId' for a named view; omit for the default view.

get_domain_guidance

Get vetted instructions for the hard modelling shapes this domain involves (progressive tax/fee charges, per-period schedules, classification, date math, group-by, …). Read the model description in AN…

validate_spec

Validate a ModelSpec WITHOUT creating it: returns a 'valid' flag plus structured findings (errors + warnings, each with a location and message). Use this to iterate on a draft — fix the reported error…

eval_expression

Evaluate a single JSONata expression against a sample input document and return the computed value, or the exact compile/eval error. Write the expr exactly as in a derivation/constraint 'expr': bare d…

test_spec

Run a spec's embedded test cases (or ad-hoc given->expect cases) through the real reactive pipeline in a throwaway runtime, returning pass/fail plus per-field failures (path, expected, actual). Use th…

dry_run

Compile a candidate ModelSpec in an ISOLATED throwaway runtime, apply optional sample mutations, and return the resulting merged state (base + derived) — WITHOUT registering it in the live registry. U…

convert_spreadsheet

Compile an uploaded .xlsx workbook's OWN formulas into a ready ModelSpec — deterministic transpilation (Excel formula language -> JSONata), never an LLM call: every number the compiled spec computes i…

search_document

Deterministic, LLM-free search over an uploaded PDF/DOCX: ranks the document's pages/sections against your query (term-overlap, no embedding model, no network call) and returns the top matches with pa…

pair_browser

Pair this MCP session with a browser tab on the hosted Valem sandbox so both drive the same live model session. Mints a pairing on first call (or resumes an existing not-yet-approved one) and waits up…

valem_spec_guide

How to write a Valem ModelSpec that render_model accepts: sections, path notation, JSONata rules, view components and common mistakes. Call this once before writing your first spec in a conversation.

render_model

Show the user a Valem model as an interactive card they can edit in the chat: a form whose computed fields update on every change, checked by a deterministic engine. Use it when the user asks for a ca…

explain_value

Explain how a value in a Valem card was computed: the formula, the values it read and the inputs it ultimately comes from, as Valem's engine has them for the given inputs. Use it when the user asks wh…

valem_recompute

Called by the Valem card when the user edits an input. Not for direct use: call render_model instead.

show_model

Show the user one of this server's models (created with create_model) as an interactive card in the chat. Every edit the user makes in the card is a mutate on the model, so get_state and explain see i…

valem_card_edit

Called by the Valem card when the user edits a stored model. Not for direct use: call mutate instead.

Resources · 28

model-spec-format

How to write a Valem ModelSpec: sections, path notation, JSONata rules and common mistakes. Read this before authoring a spec.

valem://guide/model-spec-format
model-spec-schema

The JSON Schema for a full ModelSpec (the same schema embedded in the create_model tool).

valem://schema/model-spec
spec-evolution-schema

The JSON Schema for a SpecEvolution diff (used by the evolve_spec tool).

valem://schema/spec-evolution
jsonata-gotchas

The JSONata pitfalls that most often break Valem expressions (bindings, singleton arrays, path dialect). Skim before writing a derivation/constraint expr.

valem://guide/jsonata-gotchas
spec-evolution

How to author a SpecEvolution diff: targeted upserts vs wholesale sections, expectedVersion, and state-preserving schema changes. Read before calling evolve_spec.

valem://guide/spec-evolution
view-system

How an embedded viewDefinition maps model state to a component tree, the full catalog of legal component types, and the shape get_view returns. Read before authoring a view.

valem://guide/view-system
benefits-eligibility

A ready-to-run example ModelSpec (benefits-eligibility).

valem://examples/benefits-eligibility
car-loan-calculator

A ready-to-run example ModelSpec (car-loan-calculator).

valem://examples/car-loan-calculator
car-tax-estonia

A ready-to-run example ModelSpec (car-tax-estonia).

valem://examples/car-tax-estonia
car-tco

A ready-to-run example ModelSpec (car-tco).

valem://examples/car-tco
customer-satisfaction-survey

A ready-to-run example ModelSpec (customer-satisfaction-survey).

valem://examples/customer-satisfaction-survey
daily-wellness

A ready-to-run example ModelSpec (daily-wellness).

valem://examples/daily-wellness
debt-payoff

A ready-to-run example ModelSpec (debt-payoff).

valem://examples/debt-payoff
emergency-fund

A ready-to-run example ModelSpec (emergency-fund).

valem://examples/emergency-fund
energy-consumption-heating

A ready-to-run example ModelSpec (energy-consumption-heating).

valem://examples/energy-consumption-heating
fire-planner

A ready-to-run example ModelSpec (fire-planner).

valem://examples/fire-planner
insurance-quote

A ready-to-run example ModelSpec (insurance-quote).

valem://examples/insurance-quote
net-salary-estonia-2026

A ready-to-run example ModelSpec (net-salary-estonia-2026).

valem://examples/net-salary-estonia-2026
order-items-price-total

A ready-to-run example ModelSpec (order-items-price-total).

valem://examples/order-items-price-total
personal-budget-tracker

A ready-to-run example ModelSpec (personal-budget-tracker).

valem://examples/personal-budget-tracker
rent-vs-buy

A ready-to-run example ModelSpec (rent-vs-buy).

valem://examples/rent-vs-buy
savings-growth

A ready-to-run example ModelSpec (savings-growth).

valem://examples/savings-growth
shipping-cost-estimator

A ready-to-run example ModelSpec (shipping-cost-estimator).

valem://examples/shipping-cost-estimator
support-ticket-triage

A ready-to-run example ModelSpec (support-ticket-triage).

valem://examples/support-ticket-triage
team-offsite-planner

A ready-to-run example ModelSpec (team-offsite-planner).

valem://examples/team-offsite-planner
tic-tac-toe

A ready-to-run example ModelSpec (tic-tac-toe).

valem://examples/tic-tac-toe
world-clock

A ready-to-run example ModelSpec (world-clock).

valem://examples/world-clock
valem-model-card

The interactive card render_model results are shown in.

ui://valem/model-card.html

How to use

Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://valem.run/mcp

Cursor or Cline: add to your MCP config:

{
  "mcpServers": {
    "io.github.vlad-public-code/valem": {
      "url": "https://valem.run/mcp",
      "transport": "streamable-http"
    }
  }
}