ZachDeLong/arthur
Independent verification layer for AI generated coding plans
Inspired by Quantum Merlin-Arthur (QMA) verification, Arthur is a deterministic ground truth verification method for AI-generated code. It catches hallucinated file paths, schema references, imports, env vars, routes, and package API usage before code gets written.
AI coding assistants hallucinate. They reference files that don't exist, query database columns that aren't real, import packages that aren't installed, and build plans on assumptions that don't match the actual codebase.
The model can't reliably catch its own mistakes. Self-review is limited by the same context constraints and attention budget that caused the hallucinations in the first place.
Arthur runs deterministic checks against ground truth (your actual files, schemas, packages, env vars) and returns the results, including what actually exists, so the model can self-correct.
claude mcp add arthur -- npx arthur-mcpArthur is now available as an MCP server in Claude Code. All tools run locally. No API key, no credits, no config.
check_all tool# When Arthur finds a hallucinated Prisma model:
✗ prisma.engagement - hallucinated-model -> prisma.participantEngagement
Available models: participant (Participant), contentItem (ContentItem),
participantEngagement (ParticipantEngagement)
# When Arthur finds a hallucinated file path:
✗ src/models/User.ts - NOT FOUND
Closest: src/lib/db.ts, src/app/api/participants/route.ts
# When Arthur finds a wrong Supabase column:
✗ .select('...early_decision_deadline...') - hallucinated-column
Available columns onLoading reviews...