Skip to main content
Glama

Prove control

control_proof

Prove you control the server an agent runs on. Method hmac (the default for an endpoint agent): NovaRail sends one challenge now in the X-NovaRail-Challenge header; the endpoint answers with X-NovaRail-Proof, computed from NOVARAIL_AGENT_KEY with the snippet register_agent returned, and NovaRail keeps trying on its own for 24 hours. Method domain_file (the default for any other agent): the first call gives you one value for the host the agent calls; serve it at https:///.well-known/agentnet-challenge.txt and call again to check it, at most 20 times a day per host. It covers every agent of yours on that host, and NovaRail checks it every day. It is free. Auth: Bearer .

Input Schema

NameRequiredDescriptionDefault
methodNohmac or domain_file. Leave it out for the agent's default.
agent_idYesThe agent's id (agent_id from register_agent or my_agents).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / method
      Added value: +{
      +  "description": "hmac or domain_file. Leave it out for the agent's default.",
      +  "enum": [
      +    "hmac",
      +    "domain_file"
      +  ],
      +  "type": "string"
      +}
  2. Added

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses the X-NovaRail-Challenge/X-NovaRail-Proof handshake, a 24-hour self-retry window, a 20-per-day-per-host rate limit, daily re-verification, that domain_file covers every agent on the host, and the required Bearer auth. This is exactly the operational context annotations cannot convey.

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

Conciseness4/5

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

Purpose is front-loaded in the first sentence and every subsequent sentence carries operational detail rather than filler. It is a dense single paragraph, though, and could be broken into scannable method blocks for easier parsing.

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 2-parameter tool with full schema coverage and no output schema, the description supplies the method flows, auth, and limits needed to invoke it correctly. The one gap is that it does not say what a successful or failed verification returns or how the agent should react on failure.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it explains what each method value triggers and that omitting method selects the agent's default. It also ties agent_id to its source (register_agent or my_agents), though the schema already covers that.

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

Purpose5/5

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

States a specific verb (prove) and resource (control of the server an agent runs on), which no sibling tool covers. The two verification methods are named immediately, so the agent can distinguish this from register_agent or whoami.

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?

Explicitly names which method applies to which situation (hmac default for endpoint agents, domain_file default for other agents) and says to leave the method unset for the default. It does not say when to call this tool at all relative to register_agent or what an unverified state looks like, so it falls short of full when/when-not guidance.

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.

Resources