Fabric Verify MCP server
Give your AI agent a tamper-evident record of what it did.
Each time the agent records an action, this server signs a short record on your machine, with the agent's own key, and adds it to the Fabric Verify public log. Later you get a proof that anyone can check offline, without trusting you or us.
A proof shows that this exact record existed, unchanged, by a certain time. It does not show that what the record describes is true.
Your text stays with you. Each record sends a salted fingerprint of it, plus the signature. Action details stay private. The public log holds only a salted fingerprint, the action kind and time, and coded identifiers that only you, or an auditor you give an audit pack to, can link to your agents. Records are permanent. AugmentEV keeps the agent name, key name and public key in an erasable store so they can go into your audit packs, so never put personal data in FABRIC_AGENT or FABRIC_KID.
Price
| Tool | Cost |
|---|---|
record_action, record_event | $0.005 per record, from prepaid credit |
get_proof, check_balance, buy_credit_link, export_events | free |
Buy credit by card at https://augmentev.com/pricing#buy. Your credit key (fvk_…) is shown once after payment, so save it in a password manager.
Install
You need Node.js 20 or later. Add this to your MCP client's configuration:
{
"mcpServers": {
"fabric-verify": {
"command": "npx",
"args": ["-y", "@augmentev/fabric-verify-mcp"],
"env": {
"FABRIC_CREDIT_KEY": "fvk_...",
"FABRIC_AGENT": "my-agent"
}
}
}
}
In Claude Code:
claude mcp add fabric-verify --env FABRIC_CREDIT_KEY=fvk_... --env FABRIC_AGENT=my-agent -- npx -y @augmentev/fabric-verify-mcp
Remote connector
The Cursor plugin (.cursor-plugin/plugin.json and mcp.json) and the Gemini CLI extension (gemini-extension.json) in this repository don't run this package. They connect to the hosted server at https://mcp.augmentev.com/mcp, the address chat apps use as a custom connector. There is nothing to install.
When an app connects, it sends you to a sign-in page where you enter your credit key, a name for the assistant and a daily spending limit ($0.50 to $20). The app gets an access token, not your key.
The remote connector has four tools: record_action, record_event, get_proof and check_balance. Records made through it are signed by a key AugmentEV hosts for your account and are labelled "augmentev-hosted"; only this connector can make records with that label. For records signed by a key only your agent holds, use the package above.
Settings
| Variable | Default | Meaning |
|---|---|---|
FABRIC_CREDIT_KEY | (required) | Your credit key. Keep it secret. |
FABRIC_AGENT | mcp-agent | A stable name for this agent (printable ASCII, no spaces). |
FABRIC_KID | <agent>-key-1 | A name for the agent's signing key. Change it when you rotate the key. |
FABRIC_HOME | ~/.fabric-verify | Where the agent key and your records are kept (private to your user). |
FABRIC_MAX_SPEND_USD | 1 | The most this server may spend in one session. |
Tools
record_action(kind,summary, optionalidempotency_key, optionalapproval_record): signs and logs one record, then returns its log index. The summary and its salt are saved underFABRIC_HOME/records/<api host>/<index>/, so you can later show what the record was about. If a call fails, call again with the sameidempotency_key,kindandsummary: the exact same signed record is resent and charged at most once.record_event(event,body, optionalaction,run_id,step_id,parent_record,delegation_record,kind,idempotency_key): signs and logs one structured agent event: a tool call, its result, an approval, a delegation, a policy decision, a halt and so on (formataugmentev/fabric-agent-event/v1). Same price asrecord_action. The event is the record's payload and stays on this machine. It returnsrecord, which later events link to. For a tool call, passaction(tool, server, arguments), and pass the sameactionwhen recording its approval, so both name the same action. If your account's governance policy requires approval for tool calls, setbody.approval_recordand the approval is presented to the log, which uses it once. A tool result is signed as kindother, so that rule does not also gate results.export_events(run_idorindices): bundles events recorded from this machine, with their proofs, into one file that anyone can check offline withaugmentev-verify agent-events. Free. Fetch the proofs first. The bundle shows that its events were logged unchanged and that every link points to an earlier event of the right type. It does not show that the bundle holds every event, or that a described tool result is true. Events recorded on another machine (another agent's approval, say) are in that machine's bundle; merge records in log order to check them together.get_proof(index, optionalwait_secondsup to 45): fetches the proof and saves it next to the record. Proofs are usually ready a few minutes after recording.check_balance: shows your remaining credit and this session's spend.buy_credit_link(amount_usd: 25, 50, 100 or 500): returns a card checkout link for a person to open. This tool charges nothing.
Check a proof
Download the verifier and the published log keys from https://augmentev.com/verify, then run this in the record's folder:
augmentev-verify log-proof proof.json --pins fabric-log-v1.json --audit agent-record.json
Pin the version
For production agents, pin an exact version, such as npx -y @augmentev/fabric-verify-mcp@0.2.1, and update deliberately. The package ships a lockfile (npm-shrinkwrap.json) so its dependencies are fixed too.
Keep your agent key
The agent key is FABRIC_HOME/agent-ed25519.pem. Back it up. Each key name (FABRIC_KID) belongs to one key for good. If you lose the key, set a new FABRIC_KID.
Support
Licence
Apache-2.0. "Fabric Verify" and "AugmentEV" are trademarks of AugmentEV Inc.; the licence grants no rights to them.