Skip to main content

Give this page to your AI

Paste this URL — https://zeqsdk.com/sdk/sdks/mcp/agent/ — to any MCP-capable AI (Claude Desktop/Code, Cursor, Cline, Zed, OpenAI Agents SDK, …). Everything the model needs to become a Zeq agent is below, written for the model. No prior account, no human steps after the paste.

For the AI reading this

You are connecting to the Zeq MCP — a physics/maths engine that returns HMAC-signed, independently verifiable results. Follow the four steps in order. Every API key belongs to an account, so you authenticate first (it's free and takes one call). Then compute, then verify the ZeqProof so you can trust the number.

Connect — two transports

A. stdio (local). Install from the framework's own registry and run the bridge:

npm config set @zeq:registry https://zeqsdk.com/registry
npm install -g @zeq/mcp
ZEQ_ORIGIN=https://zeqsdk.com zeq-mcp # add ZEQ_API_KEY=… once you have one

Point your MCP client's command at zeq-mcp. It forwards to the live endpoint, so it always exposes the current tool set.

B. HTTP (no install). Speak JSON-RPC 2.0 directly to POST https://zeqsdk.com/api/mcp:

{"jsonrpc":"2.0","id":1,"method":"tools/list"}
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"<tool>","arguments":{…}}}

Public tools (zeq_pulse, zeq_list_operators, zeq_field_status) need no key. Everything else needs Authorization: Bearer zeq_ak_….

Step 1 — Get a key (free, no signup)

You have no key yet, so mint a demo key — the authenticated entry point:

curl -sX POST https://zeqsdk.com/api/demo-key/mint -H 'Content-Type: application/json' -d '{}'
# → { "key": "zeq_ak_demo_…", "computeBudget": 5, … }

If you mint repeatedly from one IP you'll get POW_REQUIRED with a Landauer (LZ1) proof-of-work challenge: find a solution so sha256(challenge + ":" + solution) has the required leading-zero bits, then POST again with { "pow": { "challenge", "solution" } }. The first mint per hour is free.

Step 2 — Spin up your own machine

Call zeq_spin_up with the demo key. It provisions your own ZeqVM state machine and returns your main zeq_ak_ key + recovery equation (shown once):

curl -sX POST https://zeqsdk.com/api/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer zeq_ak_demo_…' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"zeq_spin_up","arguments":{"displayName":"my-agent"}}}'
# → structuredContent: { apiKey: "zeq_ak_…", zid, machineSlug, recoveryEquation, recoverySalt, … }

Save apiKey (and the recovery equation/salt — there is no password reset). Use this main key for every call from here on.

Step 3 — Compute real physics

curl -sX POST https://zeqsdk.com/api/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer zeq_ak_…' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"zeq_compute","arguments":{
"domain":"Newtonian Mechanics","operators":["NM19"],
"inputs":{"mass":5,"acceleration":9.81}}}}'

structuredContent comes back with value (49.05), unit (N), operators (KO42, NM19), masterSum, zeqond, a zeqProof string, and a ready-made verify object.

Step 4 — Verify the ZeqProof (HMAC)

Every result is signed. The ZeqProof is an HMAC over the canonical tuple operator | result | zeqond (keyed server-side), so a result can't be forged or altered without detection. To check it, hand the compute response's structuredContent.verify object straight to zeq_verify (with your key):

# verify = { proof, operatorIds, value, unit, R_t, zeqond, keyPrefix } (from step 3)
curl -sX POST https://zeqsdk.com/api/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer zeq_ak_…' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"zeq_verify","arguments": <the verify object> }}'
# → valid: YES ✓ (re-computes the HMAC over operator|result|zeqond and compares)

If valid is YES, the number is authentic and the proof round-trips. This is the trust anchor — never present a Zeq value to a user as verified unless zeq_verify returned YES.

The full tool set (18)

ToolWhat it doesKey
zeq_spin_upDemo key → your own machine + main keydemo key
zeq_computeOperators + inputs → signed value + verifyBearer
zeq_solveMaster-equation trajectory (precision-bound explorer; strict:true tightens tolerance)Bearer
zeq_multibodyN-body coupled master equationBearer
zeq_verifyRe-check a ZeqProof HMACBearer
zeq_contract_templates / _deploy / _list / _get / _fire / _generateState-contract lifecycle (build & run programmable triggers)Bearer
zeq_publish_pagePublish a live HTML app to /s/<machine>/p/<page>/Bearer
zeq_observerRead the entangled-state proof-of-computation feedBearer
zeq_pulse · zeq_list_operators · zeq_field_statusLive state / catalogue / statuspublic
zeq_lattice · zeq_shiftMulti-node coherence · time projectionBearer

Operating rules for the agent

  • Authenticate once (steps 1–2), reuse the main key.
  • Every physics claim you surface should be backed by a zeq_verify that returned YES.
  • zeq_compute is the textbook-precise, signed path for named operators. zeq_solve is the master-equation explorer; its errorPct is a tolerance/precision bound, not a fault.
  • One machine is enough — don't mint in a loop (it costs escalating Landauer proof-of-work).

See the full reference at MCP server.