Veto vs Boyce
Boyce (by boyce-io) is an MCP server that gives AI agents structured database intelligence — deterministic SQL analysis, NULL trap detection, and EXPLAIN pre-flight. Veto overlaps on correctness and cost, but optimizes for a different job: a hard ok / warn / block safety gate before execution.
At a glance
| Boyce | Veto | |
|---|---|---|
| Positioning | Database intelligence for agents (MIT) | SQL safety & cost oracle — pre-execution gate |
| Deterministic analysis | Yes — NULL traps, EXPLAIN pre-flight | Yes — rules + optional EXPLAIN on scratch Postgres |
| Destructive ops | Varies by implementation | First-class: unscoped DELETE/UPDATE, DROP, TRUNCATE, CTE-hidden deletes → block |
| Verdict model | Structured intelligence / findings | Explicit ok / warn / block for pipeline gating |
| Custom org rules | — | Pro: set_policies per-table rules on your key |
| Deployment | Self-hosted MCP (typical) | Hosted remote MCP at vetosql.com/mcp — no install |
When Boyce fits
You want a MIT-licensed MCP server you run yourself, focused on giving agents rich, deterministic database context — schema intelligence, NULL semantics, query planning — as part of a broader agent toolkit.
When Veto fits
You need a gate, not just intelligence: the agent must get a block verdict on DELETE FROM payments before it runs, with stable finding ids for CI and audit. You want a hosted endpoint (free tier, no key) and optional Pro policies like "never DELETE from payments".
Can you use both?
Possibly — if Boyce supplies context and Veto is the last check before execution. They solve overlapping but not identical problems. Evaluate whether you need a general database brain, a safety gate, or both.