Delivery
MCP · API · SDK · CLI.
Every VerifAI capability, exposed the way your team prefers to work. Same evidence layer under all four surfaces.
MCP
Model Context Protocol server
Point Claude Desktop, Cursor, Zed, or any MCP-capable client at vryf-mcp and get every VerifAI capability as first-class tools — with a verified receipt on every call.
# claude_desktop_config.json
{
"mcpServers": {
"vryf": {
"command": "npx",
"args": ["-y", "@vryf/mcp"],
"env": { "VRYF_API_KEY": "sk_live_..." }
}
}
}API
REST + streaming HTTP
One endpoint. Bearer auth. Streaming when it helps. Every response ships with a VeriStamp header carrying the check digit and the evidence file id.
curl https://api.vryf.ai/v1/chat/completions \
-H "Authorization: Bearer $VRYF_KEY" \
-H "X-Verify: on" \
-d '{ "model": "anthropic/claude-sonnet-4.5",
"messages": [{"role":"user","content":"..."}] }'SDK
TypeScript · Python · Go
Typed clients that mirror the API 1:1. Auto-retry, streaming iterators, verified receipts as first-class objects. Tree-shakable in the browser.
import { VryfClient } from "@vryf/sdk";
const vryf = new VryfClient({ apiKey: process.env.VRYF_KEY });
const res = await vryf.chat.create({
model: "openai/gpt-5",
messages: [{ role: "user", content: "Summarise this PDF" }],
verify: true,
});
console.log(res.veriStamp.checkDigit);CLI
vryf, the command line
Explore models, run evals, replay an evidence file, or ship a new concierge — all from the terminal. Piped output is JSON by default.
$ vryf ask "How do I stay GDPR-compliant?"
$ vryf run --evidence file_abc123.json --replay
$ vryf models list --provider anthropic
$ vryf concierge deploy ./site.yml