Agent-native · MCP + REST

The first agent-verifiable learning record.

An AI agent can verify a student's transcript, courses, and witness co-signatures with no login — over the Model Context Protocol or a single plain HTTPS call. We believe it's the first record built to be verified by an agent, not just read by one, for K-12, homeschool, and alternative pathways.

See the live demoRead the MCP docs

Why this matters now

Admissions offices and HR teams are wiring AI into their pipelines — application readers that ingest and summarize uploaded PDFs. But a PDF is an unverified claim. The agent extracts text and hopes it's true.

Eformogi is the record an agent can actually trust: hash-anchored to a public ledger, witness co-signed, and verifiable at a URL. Instead of guessing whether a transcript is real, the agent checks it — and reads who stood behind it.

Live demo

Two ways to verify the same record. Both are live on production right now.

1 · Plain HTTPS (public, no key)

A GET against the public verify endpoint returns non-identifying proof metadata for any issued receipt:

# Public. No key, no login. (Free for single-link verifies.)
curl "https://eformogi.com/api/verify-receipt?id=tr_8e59bb9641e8"

The tr_8e59bb9641e8 id above is a real, live ledger receipt for a clearly-fictional demo student — run the curl and you'll get this response back. To see the receiver view in your browser, open /verify/tr_8e59bb9641e8 (no real student — the record says so itself).

Response shape:

{
  "verified": true,
  "kind": "family_transcript",
  "id": "tr_8e59bb9641e8",
  "issued_at": "2026-07-21T01:36:44Z",
  "hash": "8e59bb9641e87b7d080a99a2dd99595b…",
  "student_name": "Jordan Sample (Fictional)",
  "issuer": "Sample Family Records Office — fictional demo record",
  "program": "Homeschool · mixed-provider — family-graded, mastery, co-op, dual-enrollment & AP (Demo)",
  "grad_year": "2027",
  "course_count": 12,
  "total_credits": 10,
  "tier_counts": { "self": 3, "family": 4, "mentor": 4, "receiver": 1 },
  "course_signature_rollup": { "total": 12, "co_signed": 4 },
  "courses": [ { "cr_receipt_id": "cr_0365c42ab299", … } ],
  "issued_by": "Eformogi"
}

2 · Model Context Protocol

For agents that already own an Eformogi key, the MCP server exposes six policy-governed tools over JSON-RPC 2.0. Here's a read_profile call:

curl -X POST https://eformogi.com/api/mcp \
  -H "Authorization: Bearer efg_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "read_profile",
      "arguments": { "categories": ["education"] }
    }
  }'

Full setup (Claude Desktop config, policy model, all six tools) lives in the MCP docs. The REST contract for /api/verify-receipt and the rest of the agent surface is in the developer docs.

read_profileRead vault data for specified categories, filtered by the owner's per-category policy.
list_consentsList the owner's active consent receipts — who they have shared with.
create_consentCreate a consent grant. Categories under "ask" queue for the owner's approval.
check_policyReport which categories the agent may access (auto / ask / never).
log_actionLog an explicit action description into the owner's activity feed.
search_orgsSearch organizations the owner can share data with.

How it works

1

A family issues the record

A parent builds a transcript in Eformogi and issues it. The record is hashed (SHA-256) and written to a public ledger. It gets an id like tr_8e59bb9641e8.

2

Witnesses co-sign it

A coach, evaluator, or teacher counter-signs individual courses or work samples. Each signature is its own verifiable receipt. Disagreements are shown, never hidden.

3

An agent or receiver verifies it

An admissions AI, an HR agent, or a person pastes the id — over MCP or a plain HTTPS GET. They get back the hash, the issuer, the course count, and the co-signature rollup. No Eformogi account required.

For builders

Machine-readable entry points, all live:

MCP server setup
/docs/mcp — connect Claude, ChatGPT, or Gemini
REST contract
/developers — verify-receipt + the agent endpoints
OpenAPI spec
/.well-known/openapi.json
Issuer DID
/.well-known/did.json

FAQ

What does "agent-verifiable" actually mean?
An AI agent — Claude, ChatGPT, Gemini, or a custom one — can confirm a learning record is authentic without a human in the loop and without logging into Eformogi. It does this two ways: an MCP tool call, or a single unauthenticated HTTPS GET to /api/verify-receipt. Both return structured JSON an agent can reason over.
Is the verify endpoint really public?
Yes. /api/verify-receipt takes an id and returns non-identifying proof metadata (hash, issuer, dates, counts, co-signature rollup) with no key and no account. Single-link verification is free forever. At-scale keyed callers can attribute calls to a billing plan, but the keyless path is never blocked.
What can the agent NOT see?
The verify endpoint never returns student or family identity beyond the issuer-stated name on the transcript itself, and never returns the underlying vault contents, org/counselor emails, or the raw metadata blob. It projects an allowlist of non-PII fields only.
How is this different from a PDF an AI reads?
A PDF is a claim. This is a verification. The agent is not extracting unverified text off a document — it is checking a hash-anchored record against a ledger and reading who co-signed it. The trust comes from the receipt, not from the agent's guess about a document.

Own the record. Let agents verify it.

Start a family recordVerify as a receiver
← Home|MCP Docs|Developer Docs|Receivers

Claude is a trademark of Anthropic, PBC. ChatGPT is a trademark of OpenAI, Inc. Gemini is a trademark of Google LLC. Model Context Protocol is an open standard published by Anthropic. Eformogi is an independent product and is not affiliated with, endorsed by, or sponsored by Anthropic, OpenAI, or Google.