zaira_compare_tools
Compare 2-3 developer tools side by side. Returns each tool's full Markdown-KV entry separated by "===". Alternatives and worksWith are enriched with tagline + agent-readiness for resolved slugs. If any requested slugs are not found, they appear in a trailing "Note: slugs not found: ..." line; the comparison still returns for the ones found.
Examples:
Three search engines: {slugs: ["meilisearch-oss", "algolia", "elasticsearch-oss"]}
Two ORMs: {slugs: ["drizzle-orm", "prisma"]}
Three auth providers: {slugs: ["auth0", "clerk", "keycloak"]}
Hosted vs self-hosted for the same vendor: {slugs: ["redis-cloud", "redis-oss"]} — shows deployment trade-off
Postgres engine vs hosted offerings: {slugs: ["postgresql", "supabase-cloud", "cockroachdb-cloud"]}
Edge cases:
Cross-category comparisons (e.g., {slugs: ["auth0", "redis-cloud"]}) are allowed but rarely useful. Same-category comparisons answer "which should I pick?" better; cross-category answers "these coexist in my stack" — a compatibility question.
Minimum 2 slugs, maximum 3. Four or more is a validation error; for more, run pairs.
Invalid or unknown slugs are listed under "slugs not found"; the partial comparison returns for valid ones.
Duplicate slugs in the array are deduplicated.
A few tools are single entries (no -cloud/-oss split): stripe, auth0, firebase, twilio, openai-api, pinecone, algolia. Don't pass "stripe-cloud" — it doesn't exist.
Risk: read-only, closed-world, idempotent — no state change possible.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slugs | Yes | Array of 2-3 tool slugs to compare. Example: ["supabase", "firebase"] |