Skip to content
Protocol Company logo

Protocol Company MCP server

Which MCP servers are Protocol Company's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-27

← Back to Protocol Company

Whose server it is
  • Registry namecom.zerotrustphysics/verifierverified in the MCP registry

The registry name sits under zerotrustphysics.com. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-27
  • Stateanswerschecked 2026-10-27
  • Tools18
  • Server calls itselfZero-Trust Physics
  • Server version0.15.2
  • Protocol version2025-06-18

On 2026-10-27 the server answered initialize and tools/list without a sign-in. First answer in 72 ms.

Should an agent connect itNot proven either way yet
  • Whether its tools do the product's job has not been judged yet.

Once connected

  • Its definitions take about 18295 tokens of context: enable only the tools a task needs.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 7, the first on 2026-10-27
  • INITE MCP score91 of 100answers 100 · definitions 95 · context 51 · connects 100
  • Answered100% of days7 of 7 daily checks
  • Median first answer72 ms
  • Space in an agent's context≈ 18,295 tokensthe definitions of all its tools (18), which an agent carries on every turn
  • Tool definitionsA · 95 of 100
  • Typed results0 of 18 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a type: in 1 of 18
  • Parameters without a description: in 4 of 18

What an agent can do with it

  • can do · recompute agent-reported reactor transients with deterministic physics
  • not sure · check signed sensor readings against physics to catch spoofing
  • not sure · verify sealed answers offline without any engine or network

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

None of the five warning signs in these definitions.

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers18 tools · read 2026-10-27
  • list_cards

    Lists every domain and card this connection serves, each with one sentence, and count, how many there are. against_measurement names the evidence behind the model, in one of three words: "compared with measurement" (a real object; its…

  • describe_card

    Describes one domain and card pair: inputs, units, bounds, step limits, reject names and meanings, advisory flags, frame slots, and worked examples. With form "short" the answer is a page, enough to write a first request: what the model…

  • compute_step

    Computes one anchored step of one card and returns the state it lands on, in decimals and exact hex, with its cryptographic proof (sha384_seal) and a receipt. parameters holds the card's phase fields, its load fields and dt_s, as…

  • run_trajectory

    Runs one card from a start state through segments of steps, each under its own load, and seals the run. The answer holds the outcome, the final state in decimals and exact hex, a frame for each recorded step, the run_seal and a receipt…

  • verify_tape

    Verifies the seal of a run. Short form, which needs only what is short: request is the run_trajectory request as it was sent, with its readout and its from, whose request has none, when it had them (the answer's inputs holds neither), and…

  • list_solvers

    Lists every field solver this connection serves, each with one sentence, and count, how many there are. against_measurement names the evidence behind the model, in one of three words: "compared with measurement" (a real object; its…

  • describe_solver

    Describes one solver: inputs and bounds, outputs, invariants and tolerances, refusal names and meanings, the published reference, and a worked example. With form "short" the answer is a page, enough to write a first request: what the…

  • solve

    Solves one field problem with one solver and seals the solution: the outcome, the result in decimals and exact hex, its invariants, the solution_seal and a receipt. parameters holds the solver's inputs as describe_solver gives them…

  • verify_solution

    Verifies the seal of a solution. Short form, which needs only what is short: request is the solve request as it was sent (the answer's inputs), and solution_seal is the seal its answer gave. The request is solved again, under a physics…

  • run_dataset

    Runs a declared plan of runs on one card, or of solves of one solver, and seals the rows under one root. A plan is a list of runs, a grid over a base run, or a seeded sample over a base run; a run is a run_trajectory request without…

  • verify_dataset

    Verifies the seal of a dataset. Short form: request is the run_dataset request as it was sent, and dataset_seal is the seal its answer gave. The plan is run again under run_dataset's permits and limits; the answer is holds, cause…

  • verify_receipt

    Verifies the receipt at the end of one response against the text before it. It takes no physics permit. The receipt covers every byte of the response before it, the decimal values included, and shows who produced the response or when in…

  • validate_series

    Runs a run_trajectory request (without a readout) and compares one published quantity with the agent's measurements, each at a landed step. The answer is the error in numbers (rms, mean signed, greatest absolute, model minus measurement…

  • cite

    Gives how to cite a card or a solver: the service itself first (Zero-Trust Physics, its maker and its address) and the paper (https://doi.org/10.5281/zenodo.23517223), then the people whose measurements the model stands on (authors…

  • find_model

    Finds the served model for a real thing described in plain words, such as "a lithium cell discharging in the cold". It returns the best few cards and solvers, each with fit first (the words that matched, and model_of: the one real thing…

  • find_flip

    Finds where an outcome changes, and gives the run on each side. request is a run_trajectory or solve request written out, its domain and card or its solver by the name find_model or the lists give, with no from, readout or example; vary…

  • design_run

    Designs a run: from a target end state to the loads of each segment that reach it, computed by the engine with no randomness, so the same request gives the same bits. request is a run_trajectory request; its numbers at the places vary…

  • verify_step

    Computes one anchored step of one card, as compute_step does: verify_step is the earlier name of compute_step, served for this one version beside it, and takes the same arguments and gives the same answer, byte for byte. The name…

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "verifier": {
      "type": "http",
      "url": "https://mcp.zerotrustphysics.com/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http zerotrustphysics https://mcp.zerotrustphysics.com/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://mcp.zerotrustphysics.com/mcp as a custom connector in the settings.

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.