Skip to main content

MCP server — POST /api/mcp

The node speaks the Model Context Protocol at POST /api/mcp, so any MCP-capable client — Claude Desktop, Claude Code, Cursor, Zed — connects and becomes a Zeq agent: it provisions its own machine, holds a real key, runs verified physics, and builds and fires contracts and apps, every call landing on an audit chain.

This page is the complete tool reference. Every name, description and required-input list below was read from the node's own x-mcp-tools array (GET https://zeq.me/openapi.json) and cross-checked against a live tools/list call. The two agree exactly: 57 tools, same names, same order. If you are looking at an older page that named zeq_call, zeq_wallet, zeq_convert_credits or a zeq_ak_* tool, those are not MCP tools — see what is not here.

The wire

One endpoint, JSON-RPC 2.0, no session to establish:

curl -sX POST https://zeq.me/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

The server implements exactly three methods (shared/api-core/src/routes/mcp.ts):

MethodWhat it does
initializeHandshake. Returns protocolVersion 2024-11-05, serverInfo (<host>/api/mcp, version 3.1.0), and a maths primer. Runs a live pulse and a real welcome computation on connect — no auth, no quota.
tools/listThe 57 tool definitions with name, description and inputSchema.
tools/callInvoke one tool: params: { name, arguments }.

Anything else is refused rather than ignored:

{"jsonrpc":"2.0","error":{"code":-32601,
"message":"Method not found: resources/list. Supported: initialize, tools/list, tools/call"},"id":1}

So there are no resources/* or prompts/* surfaces here — the tool list is the whole API. Other error codes you will meet: -32600 (not JSON-RPC 2.0, HTTP 400), -32602 (missing params.name, or an unknown tool — the message lists all 57), -32003 (quota exceeded, returned with the tool's own HTTP status), -32603 (internal error).

Connecting a client

HTTP — point the connector at the endpoint and put your key in the Authorization header:

{
"mcpServers": {
"zeq": {
"url": "https://zeq.me/api/mcp",
"headers": { "Authorization": "Bearer zeq_ak_your_key" }
}
}
}

stdio — the @zeq/mcp package is a stdio bridge to the same live tools, installed from the framework's own registry (never npmjs):

npm config set @zeq:registry https://zeq.me/registry
npm install -g @zeq/mcp # then run: zeq-mcp

GET /api/mcp (a plain GET, no JSON-RPC) is the discovery document: node identity and machine hash, the capability map, the quickstart, surface.economy, and the same tool list without input schemas. Read it first if you want to know which node you are actually talking to.

Auth

One header, one format:

Authorization: Bearer zeq_ak_<your_key>

A malformed or missing header on a keyed tool comes back as a tool-level error, not a transport error — the JSON-RPC envelope still says result, with isError: true:

{"content":[{"type":"text","text":
"Error 401: Missing or malformed Authorization header. Provide: Authorization: Bearer zeq_ak_<your_key>"}],
"isError":true}

Self-onboard in two steps

Every key belongs to an account, so onboarding is authenticated — but there is no signup form:

  1. POST /api/demo-key/mint — free, no signup — returns a zeq_ak_demo_… key.
  2. Call zeq_spin_up with that demo key in the header. It provisions a fresh machine (unique ZID), seeds its audit chain, and mints an active zeq_ak_ key on the free tier. The recovery equation, its salt and the API key are shown once — there is no password reset.

Put that key in your connector and every other tool runs on your machine.

Which tools need a key

Nine tools answer with no Authorization header at all — the discovery and literature surface:

zeq_pulse · zeq_field_status · zeq_api_catalog · zeq_list_operators · zeq_find_operator · zeq_science_domains · zeq_domain_match · zeq_paper_search · zeq_paper_fetch

zeq_spin_up needs a demo key. zeq_http forwards whatever key you send (and blocks admin routes and /api/mcp itself). Every other tool requires a zeq_ak_ key, and the compute tools burn credits against the ZID that owns it — see credits & metering.

zeq_api_catalog also changes what it shows by key: unauthenticated it reports {"authed": false, "total_endpoints": 763, "owner_hidden": 89} — 763 + 89 = the 852 public endpoints the descriptor advertises. Owner-gated paths appear once you send a key.

The 57 tools

Grouped by area. Required inputs is the tool's own inputSchema.required array, verbatim; where a schema declares no required field the cell says no required inputs — most solvers ship a complete set of defaults and run bare. Every tool also accepts an optional folder where its schema lists one.

Node, discovery and your machine — 6

ToolPurposeRequired inputs
zeq_spin_upProvision your own ZeqVM machine and mint a real account-backed key. Call it with a demo key.no required inputs (optional displayName)
zeq_api_catalogThe map. Search the node's full public API surface; filter by q, method, auth.no required inputs
zeq_httpThe door. Call any public /api/* endpoint directly — GET/POST/PUT/PATCH/DELETE plus HTTP QUERY (RFC 10008). Admin routes and /api/mcp are blocked.method, path
zeq_pulseRead the live ZeqPulse: Zeqond counter τ, phase φ, R(t).no required inputs
zeq_field_statusZeqField security status — cipher, key source, PBKDF2 parameters, ZeqProof HMAC settings.no required inputs
zeq_observerThe proof-of-computation feed on the entangled-state chain. With a key it focuses on your machine.no required inputs (optional limit)
caution
zeq_observer is erroring on zeq.me

Called with no key — the case its description covers, "with no key it returns the global recent feed" — the live node answers {"code":-32603,"message":"Internal error"}. Reproduced on repeat calls, with and without limit. The tool is advertised in tools/list; treat the keyless path as broken on this node until it is fixed, and read the feed through the Observer app or zeq_http in the meantime.

Core compute and verification — 5

ToolPurposeRequired inputs
zeq_computeThe static closed-form path: run catalogued operators and get a ZeqState envelope with masterSum R(t), φ, τ, an accuracy bound and a ZeqProof HMAC. KO42 always included.domain, inputs
zeq_solveIntegrate the geodesic in the KO42-tensioned metric; returns φ(t), the register dump, the HULYAS functional energy and a term-by-term diagnostic.prompt
zeq_multibodyThe vector master equation — N coupled φᵢ(t) trajectories with pairwise inverse-square coupling, per-body registers and per-pair force/separation statistics.prompt, bodies
zeq_unifiedCompose multiple operators in one call — formula-as-data, no eval; returns the composed value, the strategy used and every per-operator intermediate.no required inputs
zeq_verifyVerify a ZeqProof HMAC. Integrity of the response, not independent re-derivation of the physics.proof, operatorIds, R_t, zeqond

zeq_compute returns a verify object you can hand straight back to zeq_verify for a guaranteed round-trip. What that check does and does not prove is in proofs.

Operator discovery — 2

ToolPurposeRequired inputs
zeq_list_operatorsList operators in one domain, or list all 67 domains.no required inputs (optional domain)
zeq_find_operatorSearch operators by name, id, equation or description in one call; returns id, domain, prefix, tier, equation and the domain's accepted input keys.term

Science and literature — 4

ToolPurposeRequired inputs
zeq_paper_searchSearch arXiv, OpenAlex, Crossref and Europe PMC in one call; deduplicated, canonical ids.q
zeq_paper_fetchFetch one record by canonical id — arxiv:…, doi:…, pmid:….id
zeq_domain_matchWhich of the 67 operator domains a paper or a block of text plausibly falls in, with the vocabulary terms that fired. Deterministic term overlap — not a solvability proof.no required inputs (give id or text)
zeq_science_domainsThe 67 domains and which literature source serves each. Scope a search before you run it.no required inputs

Clock series and coherence — 2

ToolPurposeRequired inputs
zeq_latticeA multi-node coherence grid: 2–5 node specs at staggered HulyaPulse phases, per-node R_t and a coherence score. Costs N compute tokens.nodes
zeq_shiftA deterministic forward projection of R(t) over up to 64 Zeqond steps (0.777 s each), with per-step φ, τ, R_t and delta. Costs N tokens.no required inputs (optional steps)

Named solvers — 27

Each one runs a real numerical method and reports its own reality check — an exact solution, a conserved quantity, or a stability bound — as the seal. All require a zeq_ak_ key; none require an input.

ToolPurposeRequired inputs
zeq_evolveMolecular dynamics: velocity-Verlet on a Lennard-Jones system (NVE), reporting energy-conservation drift.no required inputs
zeq_actionLeast-action high-order symplectic integrator (Yoshida 4/6/8) run beside RK4 on the same system, so you see both drifts.no required inputs
zeq_closedformThe closed-form master-equation solver — the analytic counterpart to the RK4 path, with an independent cross-check. Refuses φ² / √ / exp shapes by name rather than approximating them.no required inputs
zeq_heat2-D heat/diffusion on a grid — explicit FTCS or unconditionally stable ADI, against the exact Fourier-mode decay.no required inputs
zeq_wave2-D membrane wave by leapfrog, checked by exact discrete-energy conservation; mode:'maxwell' gives 1-D Yee FDTD.no required inputs
zeq_flow2-D incompressible Navier–Stokes (Stam stable fluids) with pressure projection; reports divergence before and after.no required inputs
zeq_climate2-D shallow-water equations (Lax–Friedrichs); total mass conserved, CFL enforced.no required inputs
zeq_lorenzThe Lorenz attractor by RK4 — exact phase-volume contraction plus a measured Lyapunov exponent.no required inputs
zeq_fracture2-D bond-based peridynamic crack propagation (mode-I SENT); reports crack tip, advance, and critical strain.no required inputs
zeq_fea2-D plane-stress finite-element cantilever (Q4, matrix-free CG) against Euler–Bernoulli beam theory.no required inputs
zeq_bucklingEuler critical buckling load of a compressed column, from the beam-column eigenproblem, checked against the exact P_cr.no required inputs
zeq_acousticResonant modes of a 1-D acoustic resonator, checked against the exact open/closed closed forms.no required inputs
zeq_schrodingerTime-independent Schrödinger eigenvalues by Sturm bisection, against the exact analytic spectrum.no required inputs
zeq_device2-D semiconductor electrostatics by matrix-free CG against an exact sinh Fourier mode; dim:1 gives the 1-D PN junction.no required inputs
zeq_gridDC power-flow on an N-bus network; Kirchhoff's current law and power balance are the check.no required inputs
zeq_reactReaction–diffusion — Gray–Scott Turing morphogenesis or FitzHugh–Nagumo excitable media.no required inputs
zeq_tumorFisher–KPP growth front; boundedness in [0,1] plus the exact Ablowitz–Zeppetella front speed.no required inputs
zeq_lotkaPredator–prey Lotka–Volterra; the first integral is conserved on every orbit, and Euler visibly is not.no required inputs
zeq_epiSIR/SEIR epidemic dynamics by RK4 — R₀, peak infected, peak day, final size, population conserved.no required inputs
zeq_dockRigid-body molecular docking — Lennard-Jones + Coulomb over the ligand's 6 DOF; binding energy and pose.no required inputs
zeq_quantEuropean option price by Monte-Carlo, verified against closed-form Black–Scholes.no required inputs
zeq_optNonlinear optimization (Nelder–Mead or gradient descent) on standard test functions, checked against the known global minimum.no required inputs
zeq_kalmanKalman filtering — covariance converging to the steady-state Riccati solution, with whiteness and positive-definiteness checks.no required inputs
zeq_satDPLL 3-SAT on a seeded random instance at ratio α; certifies assignments, reports decisions and propagations.no required inputs
zeq_zetaLocate Riemann zeta zeros on the ½-line and verify the count against N(T). Verifies in range; proves nothing.no required inputs
zeq_gauge2-D compact U(1) lattice gauge theory (Metropolis); mean plaquette against the exact Bessel result.no required inputs
zeq_protectZeqPulseGuard — a sealed protection heartbeat mapping a liveness signal to OK / DEGRADED / BREACH.no required inputs

Frictionless and looping — 3

ToolPurposeRequired inputs
zeq_autoSend a natural-language query plus constants; the right solver is selected, run and sealed. No operator or endpoint to pick.query
zeq_streamHosted ticking solver channels — a solver wrapped as a live endpoint with its own key. action: create / tick / get / list / close. Each seal is one credit-compute.action
zeq_reactorRecursive sealed loops: the sealed output of step n plus a live environment reading become step n+1, hash-linked. action: create / step / observe / state / trajectory / telemetry / get / close.action

Contracts — 6

All six require your zeq_ak_ key. Every transition is ZeqProof-anchored on the entangled-state chain — see contracts.

ToolPurposeRequired inputs
zeq_contract_templatesList the 321 built-in state-contract templates. No LLM credential needed.no required inputs
zeq_contract_generateDraft a contract definition from a plain-English description. Returns the definition; you deploy it.query
zeq_contract_deployDeploy a contract — either a templateId or a full definition object (which must carry a version).no required inputs (pass one of the two)
zeq_contract_listList the contracts on your machine — id, name, current state, fire count.no required inputs
zeq_contract_getOne contract's full state and definition.id
zeq_contract_fireFire the next transition now; returns a ZeqProof receipt. Guarded transitions report their reason instead of firing.id

Apps and messaging — 2

ToolPurposeRequired inputs
zeq_publish_pagePublish a live HTML page or app to your machine — hosted at /s/<machine>/p/<pageSlug>/ and added to your launcher. Owner-authenticated.title, html
zeq_mail_htmlBuild an HTML email and deliver it to your own Zeq Mail inbox, to review and forward yourself. It can never send to a third party, so an agent cannot be talked into mailing strangers. Scripts, forms and iframes are stripped on arrival.subject, html

What is not a tool

The audit that prompted this rewrite found four names on the old page that the live list does not contain. They are gone:

Name on the old pageStatus
zeq_callNot an MCP tool. It is a WebMCP tool — see below.
zeq_walletNot an MCP tool. WebMCP.
zeq_convert_creditsNot an MCP tool. WebMCP.
zeq_ak_*Never a tool at all — zeq_ak_ is the API-key prefix.

There is also no economy, identity or mesh tool group here, and saying otherwise would be inventing one. The 57 tools cover compute, solvers, science, contracts, pages and mail; identity is one tool (zeq_spin_up). The economy, the mesh, the vault and the rest of the 852-endpoint surface are reached the way the node intends — discover with zeq_api_catalog, then call with zeq_http:

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{
"name":"zeq_http",
"arguments":{"method":"GET","path":"/api/tally/transparency"}}}

That is the documented pattern, not a workaround: the node's own quickstart is catalog, then door. See the economy at a glance for what those endpoints return.

WebMCP — the same node, from inside the browser

POST /api/mcp is the server-side surface. Every page the node serves also exposes tools to an in-browser agent through WebMCP — the navigator.modelContext browser standard. This is a distinct mechanism, not a transport for the above: the page registers its own tools and a browser-resident agent calls them in the visitor's session.

The node ships it at /zeq-webmcp.js (feature-detected, injected on every page; advertised in the webmcp field of GET /api/mcp). It registers five tools — and these are the ones the four removed names belong to:

WebMCP toolWhat it does
zeq_pulseLive Zeqond tick + commons-pool balance
zeq_walletThe signed-in ZID's compute-credit balance + conversion rate
zeq_convert_creditsCredits → ZEQ Coin — human-confirmed via requestUserInteraction, because it moves value
zeq_api_catalogDiscover the public endpoint surface
zeq_callCall any public /api/* route (GET free; writes confirmed; admin / zsc / mcp blocked)

WebMCP tools run against the visitor's same-origin session cookie and never forward keys. Feature-detect with "modelContext" in navigator.

Rules and instruments

The MCP server is the instruments side of the loop — the callable tools. Pair it with the kernel skill, the rules side: the system prompt that pins the clock, mandates KO42 and wires the seven-step protocol. Give an agent both and it has the contract and the tools to honour it.

  • The CLI — the same surface as commands, in a shell.
  • Kernel skill — the rules to pair with these tools.
  • The AI harness — how AI consumes the framework.
  • Execution model — what zeq_compute actually runs, step by step.
  • Proofs — what zeq_verify checks, and what it does not.