{"name":"io.github.verax-ai/verax","slug":"verax-ai-verax","title":"VERAX","description":"The body an agent asks before it acts: decide, approve, and keep a signed record on your machine.","url":"https://mcp.market/server/verax-ai-verax","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":30,"stars":0,"forks":0,"downloads_week":255,"last_push_at":"2026-09-19T18:36:05.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/verax-ai/verax","website":"https://verax-ai.com","version":"0.2.0","remotes":[],"packages":[{"registryType":"npm","identifier":"@verax-ai/body","version":"0.2.0","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"}]}],"tools":[{"name":"audit.explain","description":"Reads one decision back from the signed ledger by its ref and explains it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory.get","description":"Reads one memory item this tenant stored earlier with memory.put, by its id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"memory.put","description":"Writes one memory item for this tenant, or replaces the item with the same id, in the body's state directory on this machine.","write_action":true,"price_micros":0,"input_schema":null},{"name":"message.read","description":"Reads this tenant's inbox, the messages placed for it in the body's state directory on this machine, and returns them as a JSON array in arrival order, oldest first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"message.send","description":"Queues one message in this tenant's outbox on this machine for the delivery step the operator runs; this call opens no network connection and nothing leaves the body from it.","write_action":true,"price_micros":0,"input_schema":null},{"name":"spend","description":"Asks the body to authorize a payment and records the decision; the body never moves money, so authorized: true is a signed permission for a later payment step, not a transfer.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":91,"grade":"A","scanned_at":"2026-09-19T21:13:43.681Z","report":{"scannerVersion":"0.1.8","scannedAt":"2026-09-19T21:13:43.683Z","components":{"code":{"score":25,"max":25,"notes":["69 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@verax-ai/body","version":"0.2.0","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":4,"publishedAt":"2026-09-19T18:19:09.405Z","repositoryUrl":"git+https://github.com/verax-ai/verax.git","weeklyDownloads":255}],"repo":{"found":true,"owner":"verax-ai","repo":"verax","archived":false,"pushedAt":"2026-09-19T18:36:05Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/324657259?v=4","ownerCreatedAt":"2026-09-03T21:29:14Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/324657259?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":0,"forks":0,"downloadsWeek":255,"license":"Apache-2.0","lastPushAt":"2026-09-19T18:36:05.000Z","score":30}}}},"grade_history":[{"kind":"restore","fromGrade":"B","toGrade":"A","reason":"score 91","createdAt":"2026-09-19T21:13:44.129Z"},{"kind":"downgrade","fromGrade":"A","toGrade":"B","reason":"score 83: Network call to a raw IP address","createdAt":"2026-09-19T00:28:49.534Z"}],"reviews":[]}