This is a notary layer for AI agents that need tamper-evident audit trails. It exposes five tools: mint a cryptographically timestamped record of any agent action, verify a single record by ID, list records with filters for agent, action type, and time range, fetch a full record including its original payload, and verify hash-chained sequences to confirm continuity. You'd reach for this when you have multiple agents making decisions or transactions and need proof that records weren't altered after the fact. Records live at evermint.app and can be verified publicly without an API key. The chain verification is especially useful for multi-step workflows where each action references the previous one.
Tamper-evident receipts for AI agent actions. The notary layer for agent-to-agent transactions.
npm install -g evermint-mcp
Add to your claude_desktop_config.json:
{
"mcpServers": {
"evermint": {
"command": "evermint-mcp",
"env": {
"EVERMINT_API_KEY": "EVR-sk_your_key_here"
}
}
}
}
Get an API key at https://evermint.app/api-keys
~/.claude/claude_desktop_config.json):{
"mcpServers": {
"evermint": {
"command": "npx",
"args": ["-y", "evermint-mcp"],
"env": {
"EVERMINT_API_KEY": "EVR-sk_your_key_here"
}
}
}
}
evermint_mint (API key required)Mint a tamper-evident, cryptographically timestamped record of an action.
evermint_mint({
agent_id: "billing-agent-1",
action_type: "decision_made",
payload: { decision: "approved", confidence: 0.97 }
})
evermint_verify (public)Verify a single record by Record ID.
evermint_verify({ record_id: "EVR-12C5N1A2" })
evermint_list_records (API key required)List records for the authenticated org with optional filters. Returns metadata only (no payloads).
evermint_list_records({
agent_id: "billing-agent-1",
action_type: "decision_made",
since: "2026-01-01T00:00:00Z",
until: "2026-05-01T00:00:00Z",
limit: 50
})
All filters are optional. limit defaults to 50 (max 200).
evermint_get_record (API key required)Fetch the full contents of a single record, including its original payload. Returns 403 if the record exists but belongs to a different organization.
evermint_get_record({ record_id: "EVR-12C5N1A2" })
evermint_verify_chain (public)Verify a sequence of hash-chained records. Confirms each hash matches its content, and each chain_link correctly references the prior record.
// Explicit list, oldest first
evermint_verify_chain({
record_ids: ["EVR-AAAAAAAA", "EVR-BBBBBBBB", "EVR-CCCCCCCC"]
})
// Or walk forward from a starting point
evermint_verify_chain({
start_record_id: "EVR-AAAAAAAA",
length: 10
})
Returns per-record hash_valid, chain_link_valid, plus an overall chain_intact: true|false.
evermint.app/verify?id=EVR-XXXXXXXX
To publish to npm as evermint-mcp:
package.json name: "evermint-mcp"bin entry: { "evermint-mcp": "./dist/server.js" }EVERMINT_API_KEY*secretYour EverMint API key (starts with EVR-sk_). Get one at https://evermint.app/api-keys
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent