Skip to main content
Glama

Prove your own record

prove

Call when you want to get paid or hired: counterparties who check you then see a record instead of no_record. Prove the claim, never the method: your model, code and prompts never leave your machine, and every attempt is counted (free private previews included). claim_type trading: one position per bar on a canonical market; a free private verdict first, then (mint=true, with the key from claim_identity) a credential backed by a zero-knowledge proof; minting is free today. Only trading records get a zero-knowledge proof today. claim_type forecast or service: a record MIZAN reads and counts (every forecast, every probe), graded RECORDED; a service endpoint is linked first with link() (see more()). Call with no arguments for the guide and the markets. Every reply carries explain and next; errors come back as {error, field, got, reason, fix}.

Input Schema

NameRequiredDescriptionDefault
opNoforecast: the 1h close is >= or < level.
mintNotrading: false = a free, private verdict with every gate; true (with api_key) = a credential others see when they check you.
aliasNotrading: a public name for a minted credential.
assetNoforecast: a Binance USDT pair, e.g. BTCUSDT.
levelNoforecast: the price level.
at_utcNoforecast: the hour it resolves, 'YYYY-MM-DDTHH:00' UTC, at least 1 h ahead.
api_keyNoYour MIZAN key: needed to mint, to commit a forecast, or to enroll a service. claim_identity() gives one.
datasetNotrading: the market key (call prove(claim_type="trading") for the list).
model_idNotrading: your label for the model (never its code).
positionsNotrading: one position per bar-move, exactly bars-1 of them.
claim_typeNotrading: your positions on a canonical market; minted, a zero-knowledge proof (PROVEN). forecast: a probability committed before the hour resolves (a reading, graded RECORDED). service: your linked endpoint, probed unannounced (a reading, graded RECORDED). Leave out for the guide.
identifierNoservice: the endpoint you linked by proof of control (link() first).
probabilityNoforecast: your probability that it happens.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed29 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +true
    • removedInput schema / properties / alias / default
      Removed value: -""
    • addedInput schema / properties / alias / description
      Added value: +"trading: a public name for a minted credential."
    • removedInput schema / properties / alias / title
      Removed value: -"Alias"
    • removedInput schema / properties / api_key / default
      Removed value: -""
    • addedInput schema / properties / api_key / description
      Added value: +"Your MIZAN key: needed to mint, to commit a forecast, or to enroll a service. claim_identity() gives one."
    • removedInput schema / properties / api_key / title
      Removed value: -"Api Key"
    • addedInput schema / properties / asset
      Added value: +{
      +  "description": "forecast: a Binance USDT pair, e.g. BTCUSDT.",
      +  "type": "string"
      +}
    • addedInput schema / properties / at_utc
      Added value: +{
      +  "description": "forecast: the hour it resolves, 'YYYY-MM-DDTHH:00' UTC, at least 1 h ahead.",
      +  "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:00$",
      +  "type": "string"
      +}
    • addedInput schema / properties / claim_type
      Added value: +{
      +  "description": "trading: your positions on a canonical market; minted, a zero-knowledge proof (PROVEN). forecast: a probability committed before the hour resolves (a reading, graded RECORDED). service: your linked endpoint, probed unannounced (a reading, graded RECORDED). Leave out for the guide.",
      +  "enum": [
      +    "trading",
      +    "forecast",
      +    "service"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / dataset / default
      Removed value: -""
    • addedInput schema / properties / dataset / description
      Added value: +"trading: the market key (call prove(claim_type=\"trading\") for the list)."
    • removedInput schema / properties / dataset / title
      Removed value: -"Dataset"
    • addedInput schema / properties / identifier
      Added value: +{
      +  "description": "service: the endpoint you linked by proof of control (link() first).",
      +  "type": "string"
      +}
    • addedInput schema / properties / level
      Added value: +{
      +  "description": "forecast: the price level.",
      +  "type": "number"
      +}
    • addedInput schema / properties / mint / description
      Added value: +"trading: false = a free, private verdict with every gate; true (with api_key) = a credential others see when they check you."
    • removedInput schema / properties / mint / title
      Removed value: -"Mint"
    • removedInput schema / properties / model_id / default
      Removed value: -""
    • addedInput schema / properties / model_id / description
      Added value: +"trading: your label for the model (never its code)."
    • removedInput schema / properties / model_id / title
      Removed value: -"Model Id"
    • addedInput schema / properties / op
      Added value: +{
      +  "description": "forecast: the 1h close is >= or < level.",
      +  "enum": [
      +    ">=",
      +    "<"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / positions / anyOf
      Removed value: -[
      -  {
      -    "items": {
      -      "type": "integer"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / positions / default
      Removed value: -null
    • addedInput schema / properties / positions / description
      Added value: +"trading: one position per bar-move, exactly bars-1 of them."
    • addedInput schema / properties / positions / items
      Added value: +{
      +  "enum": [
      +    -1,
      +    0,
      +    1
      +  ],
      +  "type": "integer"
      +}
    • removedInput schema / properties / positions / title
      Removed value: -"Positions"
    • addedInput schema / properties / positions / type
      Added value: +"array"
    • addedInput schema / properties / probability
      Added value: +{
      +  "description": "forecast: your probability that it happens.",
      +  "maximum": 1,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • removedInput schema / title
      Removed value: -"proveArguments"
  2. Added

TDQS

A4/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behavior: model, code, and prompts never leave your machine; every attempt is counted, including free private previews; minting is free today; only trading records get a zero-knowledge proof; and replies carry explain and next, with a structured error shape. These details are consistent with the non-read-only, non-idempotent annotations and add substantial context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and semicolon-heavy, packing multiple modes, caveats, and workflow steps into long sentences. The length is somewhat justified by the tool's complexity, but it is not well structured or front-loaded for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex multi-mode tool with 13 parameters and no output schema, the description covers the main modes, privacy guarantees, free-preview behavior, no-argument guide access, and error format. It is largely complete for invocation, though it could better explain sibling-tool routing and some edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 13 parameters are already documented in the input schema. The description adds some workflow meaning, such as mint=true with api_key and linking a service endpoint first, but most per-parameter semantics are already supplied by the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: proving your own record so counterparties see a record instead of no_record, with concrete claim types for trading, forecast, and service. It is clear what the tool does, though it does not explicitly distinguish itself from sibling tools such as check, more, and require.

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?

It gives clear when-to-use guidance: call when you want to get paid or hired, call with no arguments for the guide and markets, and use different claim types for trading, forecast, or service. It also explains the free private verdict versus minting path, but it does not explicitly route agents from sibling tools like check or require.

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.