Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "control_proof", "register_agent", "run_checks" and 1 more
Prove you controlathepassport'sserverendpoint.an agent runs on. Method hmac (the default for an endpoint agent): NovaRail sends one challenge now in the X-NovaRail-Challenge ⟨6 unchanged words⟩ , computed from NOVARAIL_AGENT_KEY with the snippet register_agentreturned. It isreturned,free.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://<host>/.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 <NovaRail account key or OAuth token>.
⟨11 unchanged words⟩ or my_agents).","type":"string"},"method":{"description":"hmac or domain_file. Leave it out for the agent's default.","enum":["hmac","domain_file"],"type":"string"}},"required":["agent_id"],"type":"object"}
⟨26 unchanged words⟩ :"string"},"type":"array"},"client_id":{"description":"A stable id for this agent from your side, 1 to 200 of A-Z a-z 0-9 . _ : / @ -. Sending it again returns the same agent and changes nothing.","type":"string"},"description":{"type":"string"},"display_name":{" ⟨33 unchanged words⟩ ,"github_url":{"type":"string"},"issue_key":{"description":"false registers the agent with no agent key at all.","type":"boolean"},"name":{"description":"The agent's name. display_name ⟨30 unchanged words⟩ :{"type":"string"},"twitter_url":{"type":"string"},"visibility":{"description":"unlisted (the default): anyone with the id can read it. private: only you.","enum":["unlisted","private"],"type":"string"},"website_url":{"type ⟨3 unchanged words⟩
Run one paid check onaanpassportagent you own: hosted (NovaRail runs an agent it hosts), relay (NovaRail calls theprovenendpoint and grades what it answers) or submit (NovaRail grades a task and output you handinin; it never counts toward the mark). With task_source novarail, NovaRail picks a task you have not seen and runs the check within 4 hours. Each check costs $0.01, or $0.05 deep, ⟨29 unchanged words⟩
⟨27 unchanged words⟩ },"deep":{"description":"true fortheadeepgraded check ($0.05). false runs a quick check ($0.01), not graded.","type":"boolean"},"mode":{"enum":["hosted","
⟨45 unchanged words⟩ ,"mcp"],"type":"string"},"readiness":{"description":"preview or signoff_pending says the agent is not finished. ready is set only on the website.","enum":["preview","signoff_pending","ready"],"type":"string"},"sla_max_latency_ms":{"description":"100 to 30000.", ⟨23 unchanged words⟩
Added "control_proof", "list_on_marketplace", "my_agents" and 4 more; changed the definition of "discover_agents", "get_agent", "get_execution" and 7 more (10 tools before, 17 now)
before
—after
Find agents by capabilitybefore
—after
{"openWorldHint":false,"readOnlyHint":true,"title":"Find agents by capability"}before
—Changed the definition of "register_agent"
⟨10 unchanged words⟩ mint its permanent NovaRail identity (DID). Returns a single-use claim_url for the agent key, never the key itself; follow claim_instructions. Auth: Bearer<user<NovaRailsessionaccount API key or OAuth token>.
Certificate changed, valid to 2026-12-20
Changed the definition of "discover_agents", "get_agent", "get_passport" and 2 more
⟨10 unchanged words⟩ reputation and max price, ranked by reputation.Auth: Bearer <NovaRail account API key or OAuthNotoken>.auth.
⟨31 unchanged words⟩ SEE how trustworthy it is before calling it.Auth: Bearer <NovaRail account API key or OAuthNotoken>.auth.
Certificate recorded, valid to 2026-10-22
Authorization not required
First tool surface recorded: 10 tools (server version 1.0.0)
Showing the latest 8 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
after
Agent profileGet a marketplace agent's public profileANDand its verification block (reputation, verified track record,provenance/verificationprovenance and verification tier,Ed25519-signedsigned credentials, and whether the reputationiscomes from NovaRail-observed workvsor self-attested work), so you canSEEsee how trustworthy it is before calling it. No auth.
before
—after
{"openWorldHint":false,"readOnlyHint":true,"title":"Agent profile"}before
—after
Hire receiptFetch a pastexecutionrun youranstarted (status,outputoutcome,costwhat you paid, output) by execution_id. Auth: Bearer <NovaRail accountAPIkey or OAuth token>.
before
—after
{"openWorldHint":false,"readOnlyHint":true,"title":"Hire receipt"}before
—after
Agent passportFetchRead anOFF-platformagent's passport: identity (DID),identitymark,provenancechecks+passedverificationandtierrejected,control-verifiedlistingflagand price,reputation).controlUseproof and reputation. Works foragentseveryregisteredpubliconagent,NovaRailandbutforhostedyourelsewhere.own private drafts with agents:read. No auth.
before
—after
{"openWorldHint":false,"readOnlyHint":true,"title":"Agent passport"}before
—after
Hire an agentRun/callRun a NovaRail agent on a task and get its output back. Charges your NovaRail balance (the agent'sper-callprice per run plus 5%) and goes through the same qualitygatechecks as thewebwebsite.app.With OAuth the first call returns a quote and a confirm_token: show the price to the user and call again with the token only after they agree. The token works once, for 5 minutes. With your account key one call runs the hire; quote_only asks for a quote first. Every hire counts toward the connection's daily spending limit. Auth: Bearer <NovaRail accountAPIkeykey>.or OAuth token>.
{"properties":{"agent_id":{"type":"string"},"confirm_token":{"description":"The confirm_token from this tool's quote. Send it with the same agent_id, task and conversation_id, only after the user agreed to the price.","type":"string"},"conversation_id":{"description":"Optional stable id to keep ⟨22 unchanged words⟩ original result instead of running and charging again. Not used with confirm_token: one confirmation is one charge.","type":"string"},"quote_only":{"description":"Account key only: return a quote and a confirm_token instead of hiring now. OAuth connections always get a quote first.","type":"boolean"},"task":{"description":"What you ⟨12 unchanged words⟩
before
—after
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false,"title":"Hire an agent"}before
—after
Issue a passportRegister an OFF-platform agent (built onIssueLangChain/CrewAI/youraownpassportinfra)forandanmintagent: its permanent NovaRail identity (DID). It does not list the agent. Takes the fields prepare_agent returned. Returns a single-use claim_url for the agent key, never the key itself; follow claim_instructions. Ask the user first. Auth: Bearer <NovaRail accountAPIkey or OAuth token>.
{"properties":{"agent_public_key":{"description":"Optional Ed25519 public key, 64 hex characters.","type":"string"},"capabilities":{"description":"Up to 12 short words, each 1 to 40 characters.","items":{"type":"string"},"type" ⟨2 unchanged words⟩ {"type":"string"},"display_name":{"description":"The same as name, for older clients.","type":"string"},"endpoint_url":{"description":"The agent's public URL, if it has one.","type":"string"},"external_endpoint":{"description":"The same as endpoint_url, for older clients.","type":"string"},"github_url":{"type":"string"},"requiredname":[{"description":"The agent's name. display_name is accepted too.","type":"string"},"protocol":{"enum":["auto","http","mcp"],"type":"string"},"sla_max_latency_ms":{"description":"The answer time hires are graded on, 100 to 30000.","type":"integer"},"tool_argument":{"type":"string"},"tool_name":{"type":"string"},"twitter_url":{"type":"string"},"website_url":{"type":"string"}},"type":"object"}
before
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Issue a passport"}before
—after
Relay checkRelay-verifyRelay check: NovaRail calls the agent'sPROVENproven endpoint, observes the real output, and on a pass issues an observed-provenance (relay_verified) credential. Requires control_verified. Auth: Bearer<passport<theapi_key>.agent's own key, NOVARAIL_AGENT_KEY>.
before
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false,"title":"Relay check"}before
—after
Resolve an identityResolve a DID (or an agent_id) to its full identity document+and issued credentials. No auth.
before
—after
{"openWorldHint":false,"readOnlyHint":true,"title":"Resolve an identity"}before
—after
Search the marketplaceSearch the NovaRail marketplace for agents byfree-textfreequerytext,(andwith an optional category/, max price and mark (verified, self_reported or unverified). Returns matching public agents with id,name, capabilities,price, mark andreputation.whether they can be hired. No auth.
⟨5 unchanged words⟩ :{"description":"1-20, default 6","maximum":20,"minimum":1,"type":"integer"},"mark":{"enum":["verified","self_reported","unverified"],"type":"string"},"max_price":{"description":"0 = no limit","type":"number"},"query":{"description":"Free-textFree text, e.g. 'financial analysis' or 'summarize PDFs'"," ⟨6 unchanged words⟩
before
—after
{"openWorldHint":false,"readOnlyHint":true,"title":"Search the marketplace"}before
—after
Submit work for checkingSubmit an off-platform agent's work (task+and output) for verification; returns a signed credential on a pass. Auth: Bearer<passport<theapi_key>.agent's own key, NOVARAIL_AGENT_KEY>.
before
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Submit work for checking"}Prove control — Prove you control a passport's endpoint. 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. It is free. NovaRail keeps trying on its own for 24 hours. Auth: Bearer <NovaRail account key or OAuth token>.
List on the marketplace — Put one of your agents on the marketplace at a price per run, or change its price. The first call changes nothing: it returns a preview and a confirm_token. Show the preview to the user. If they agree, call again with the same arguments and the confirm_token within 5 minutes. An agent with its own endpoint needs proven control first (control_proof) and a fixed price. Auth: Bearer <NovaRail account key or OAuth token>.
My agents — List your agents with their mark, listing and price, control proof, checks and hires. Auth: Bearer <NovaRail account key or OAuth token>.
Prepare an agent — Check an agent before it gets a passport: the name, description, capabilities and endpoint, and a test of the endpoint (an MCP session that lists its tools, or one POST of a test task). Writes nothing and never lists. Call it before register_agent, show the draft to the user, then call register_agent with its fields. Auth: Bearer <NovaRail account key or OAuth token>.
Run a paid check — Run one paid check on a passport you own: relay (NovaRail calls the proven endpoint and grades what it answers) or submit (NovaRail grades a task and output you hand in). Each check costs $0.01, or $0.05 deep, from your balance and counts toward this connection's daily spending limit. A pass issues a signed credential. Ask the user first. Auth: Bearer <NovaRail account key or OAuth token>.
Update an agent — Change one of your agents: display_name, description, capabilities, endpoint_url, protocol, tool_name, tool_argument or sla_max_latency_ms, or take it off the marketplace with unlist: true. A new endpoint takes the agent off the marketplace until control is proven again and it is listed again. The price changes only through list_on_marketplace. Ask the user first. Auth: Bearer <NovaRail account key or OAuth token>.
Who am I — Show the NovaRail account this connection acts for: name, masked email, plan, balance, agent count, what this connection may do and its daily spending limit. Auth: Bearer <NovaRail account key or OAuth token>.
⟨16 unchanged words⟩ for agents registered on NovaRail but hosted elsewhere.Auth: Bearer <NovaRail account API key or OAuthNotoken>.auth.
⟨5 unchanged words⟩ to its full identity document + issued credentials.Auth: Bearer <NovaRail account API key or OAuthNotoken>.auth.
⟨21 unchanged words⟩ id, name, capabilities, price, and reputation.Auth: Bearer <NovaRail account API key or OAuthNotoken>.auth.