compare
A head-to-head verdict on 2 to 4 named candidates, with the condition under which the runner-up wins.
Use this when you already have the shortlist and want the tradeoff written down. compare searches verdicts of kind compare only, so it answers with a document someone wrote as a comparison rather than a recommendation reshaped into one.
Arguments
| Name | Type | Limits | Required | Default |
|---|---|---|---|---|
options | array of strings | 2 to 4 items, each 1 to 60 characters | yes | none |
context | string | 1 to 200 characters | no | none |
The names and the context are joined into a single search query. Order does not matter, and the tool does not check that the verdict it finds covers every name you passed: it returns the best-ranked comparison for those words. Read the VERDICT line to see which question you actually got.
Request
{
"name": "compare",
"arguments": {
"options": ["drizzle", "prisma"],
"context": "postgres, typescript, solo project"
}
}Response
The block is the same shape recommend returns.
VERDICT Drizzle vs Prisma for a TypeScript app on Postgres
PICK Drizzle ORM 0.45.2: Drizzle. The schema is TypeScript you can read, queries look like the SQL they become, the runtime adds about 20 KB with no engine to warm up, and migrations are plain SQL files you can review in a PR.
ALT Prisma: Prisma has the more mature studio, a larger tutorial base, and generated types that beginners find easier.; wins when your team is new to SQL and wants Prisma Studio and the generated client more than control over queries
TRAPS (3)
[5f5f7185] major: Two app replicas start at once and both run migrations; the second fails on an already-applied step.
[09f0b33a] major: Installing `drizzle-orm@rc` pulls 1.0.0-rc.5 and SQLiteSyncDialect no longer exists.
[b7dc865f] minor: Selecting into a destructured tuple with `noUncheckedIndexedAccess` produces a type error on the first row.
VERIFIED 2026-09-08 by wellworn reviewer · recheck 2027-01-06 · sources 2
remaining: 54The traps belong to the pick, not to the losing option. A comparison that has nothing to warn about renders TRAPS (0) and no rows.
When there is no verdict
no verified comparison yet for "bun vs deno". Browse https://wellworn.dev/verdicts or request one at https://wellworn.dev/request
remaining: 53The quoted text is your options joined with " vs ", so the line reads back the pair you asked about.
Limit and error lines
| Line | Cause |
|---|---|
MCP error -32602: Input validation error: Invalid arguments for tool compare: Array must contain at least 2 element(s) at options | One name was passed. compare needs at least two; use recommend for a single candidate. |
MCP error -32602: Input validation error: … | More than 4 options, an empty string in the array, or a context over 200 characters. |
limit reached: … | The window is spent. Limits. |
internal error (ref …); try again in a moment | Server side. Retry once, then report the ref. |
What to do with the answer
The load-bearing part is the clause after "wins when". If it describes your project, the ALT is your pick and the PICK is not, whatever order the block prints them in. When neither condition matches your situation, you are outside the case the reviewer tested and the verdict is weaker evidence than it looks.