# Course Drift Oracle > An MCP server that scans the `ai-agents-for-beginners` course repo for model > pins and package-version floors that have drifted from upstream reality, and > sells the full findings report to agents. Ten tools: four free (summaries, > single model lookup, receipt verification), six paid (the drift report, > batch model lookups, and full site audits - each sold on two payment > rails, MPP and x402, identical goods on both). Live since 2026-08-28 at `https://signetworks.atelieri.workers.dev/mcp`. This file describes the built and tested system; see `catalog.json` for exact prices and payloads, and `README.md` in this directory for what is served where. MCP endpoint: `POST https://signetworks.atelieri.workers.dev/mcp`, streamable HTTP transport. ## Tools - [drift_summary](catalog.json): free. Counts and severities of drift findings by lesson, plus a signed receipt. No payment required. - [verify_report](catalog.json): free. Verifies a receipt's Ed25519 signature and, optionally, that a findings array matches the receipt's committed hash. - [model_status](catalog.json): free. Looks up a single model id in the signed model catalog and returns its status, dates, and replacement. - [drift_report](catalog.json): $0.25 USD, paid via MPP (Machine Payments Protocol; settles by card or stablecoin, testnet). Every finding with file, line, diagnosis, and fix. - [drift_report_x402](catalog.json): $0.25 USD, paid via x402/USDC on Base Sepolia (testnet). Identical report to drift_report; exists for x402 Bazaar discoverability. - [model_status_batch](catalog.json): $0.10 USD, paid via MPP (testnet). A caller's list of model ids in, per-model entries plus an `any_action_needed` boolean out. - [model_status_batch_x402](catalog.json): $0.10 USD, paid via x402/USDC on Base Sepolia (testnet). Identical goods to model_status_batch. - [site_audit_summary](catalog.json): free. Submit a site URL, get back "N of 12 checks passed" plus the target and date. - [site_audit](catalog.json): $0.25 USD, paid via MPP (testnet). All 12 agent-legibility checks for a submitted site URL, each with status and detail, as a signed dated receipt. - [site_audit_x402](catalog.json): $0.25 USD, paid via x402/USDC on Base Sepolia (testnet). Identical report to site_audit. ## Badge - `GET /badge?models=`: free. Shields.io-compatible JSON badge endpoint reporting the worst status among the given model ids. No MCP round trip required, for embedding in a README or dashboard. - `GET /heartbeat`: free. Shields.io-compatible JSON badge reporting how long ago a payment last settled on this server ("today", "N days ago"). Refreshed by every real sale, including a weekly automated self-purchase, so it doubles as a liveness check on the payment rail itself. ## Free signed skill - [skills/course-drift-check/SKILL.md](https://github.com/710git/course-drift-oracle/blob/main/skills/course-drift-check/SKILL.md): the correct agent procedure for using this oracle (audit before paying, verify after), signed by the same Ed25519 key that signs reports. The receipt.json beside it commits to the file's SHA-256; verify with the free verify_report tool. ## Verification - [catalog.json](catalog.json): machine-readable service catalog with full verification instructions. - [Ed25519 + RFC 8785 canonical JSON receipts](https://github.com/710git/course-drift-oracle/blob/main/oracle/receipt.py): the signing implementation. A receipt signed here verifies against the Worker's TypeScript verifier without either side trusting the other. ## Source - [README.md](https://github.com/710git/course-drift-oracle/blob/main/README.md): what the system does, why it charges what it charges, and its honest limits. - [worker/src/index.ts](https://github.com/710git/course-drift-oracle/blob/main/worker/src/index.ts): the MCP server that serves these tools. ## Contact - Service contact: pm.agent.svc@gmail.com