{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.verax-ai/verax","description":"The body an agent asks before it acts: decide, approve, and keep a signed record on your machine.","title":"VERAX","repository":{"url":"https://github.com/verax-ai/verax","source":"github"},"version":"0.1.0","websiteUrl":"https://verax-ai.com","packages":[{"registryType":"npm","identifier":"@verax-ai/body","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Issuer the agent's token must carry. The body refuses to start without one; `verax doctor` names what is missing.","isRequired":true,"name":"VERAX_ISSUER"},{"description":"Where the body fetches the keys that verify that token.","isRequired":true,"name":"VERAX_JWKS_URL"},{"description":"Audience the token must name, so a token minted for something else is refused.","isRequired":true,"name":"VERAX_AUDIENCE"},{"description":"Directory the ledger, keys and approvals live in. It stays on this machine.","name":"VERAX_STATE_DIR"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-16T10:50:08.633298Z","publishedAt":"2026-09-16T10:50:08.633298Z","updatedAt":"2026-09-16T10:50:08.633298Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.verax-ai/verax","description":"The body an agent asks before it acts: decide, approve, and keep a signed record on your machine.","title":"VERAX","repository":{"url":"https://github.com/verax-ai/verax","source":"github"},"version":"0.1.1","websiteUrl":"https://verax-ai.com","packages":[{"registryType":"npm","identifier":"@verax-ai/body","version":"0.1.1","transport":{"type":"streamable-http","url":"http://{VERAX_BIND}/mcp"},"environmentVariables":[{"description":"Issuer the agent's token must carry. The body refuses to start without one; `verax doctor` names what is missing.","isRequired":true,"name":"VERAX_ISSUER"},{"description":"Where the body fetches the keys that verify that token.","isRequired":true,"name":"VERAX_JWKS_URL"},{"description":"Audience the token must name, so a token minted for something else is refused.","isRequired":true,"name":"VERAX_AUDIENCE"},{"description":"Directory the ledger, keys and approvals live in. It stays on this machine.","isRequired":true,"format":"filepath","name":"VERAX_STATE_DIR"},{"description":"Policy the gate applies. @verax-ai/proxy ships policy/default.json, which denies what it does not name.","isRequired":true,"format":"filepath","name":"VERAX_POLICY_FILE"},{"description":"host:port the body listens on. Anything but loopback needs VERAX_TLS_TERMINATED=1.","default":"127.0.0.1:8787","name":"VERAX_BIND"},{"description":"Roster document the body serves; the format is @verax-ai/inventory.","format":"filepath","name":"VERAX_INVENTORY_FILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-16T12:49:02.124898Z","publishedAt":"2026-09-16T12:49:02.124898Z","updatedAt":"2026-09-16T12:49:02.124898Z","isLatest":true}}}],"metadata":{"count":2}}
