Unified multi-provider search CLI for AI agents — 13 providers, 13 modes, email verification, one binary
Agent-search has 14 tools with reasonable naming (verb-first: search, config, login, logout, verify, etc.) and descriptions present for all. However, critical gaps undermine production readiness: (1) Input schemas are inferred from Cargo.toml and source comments rather than explicitly visible in tool registration code; (2) Parameter descriptions exist but lack formal constraints (enums, ranges, patterns), e.g., 'mode' accepts 13 values but no enum is declared, 'count' has no min/max bounds; (3) Output schemas are completely undocumented, no tool declares what it returns; (4) Error handling is minimal, no recovery guidance, no categorization of retryable vs fatal errors; (5) Security concerns: 'login' and 'logout' manage credentials but no mention of secret injection or audit trails; (6) Composition issues: 'config' tool conflates show/set/check/path actions into one tool (should split); 'stats' and 'cache' are utility tools that don't chain well with search results. The 'search' tool is the core strength, detailed parameter docs and 13 provider options, but even it lacks output schema documentation and error recovery guidance.
Show machine-readable capabilities (for agents)
Manage the local query cache
Manage configuration (show, set, check)
Test-fire every configured provider with a minimal query and report health, latency, and failure causes (each check is one billed request)
Sign in to metasearch.sh and store an API key for this machine
Remove the stored metasearch.sh credentials from this machine
List all providers with status and capabilities
Output schemas completely undocumented. No tool declares what fields it returns, forcing LLMs to guess structure and plan downstream calls blindly.
Input parameters lack formal constraints. 'mode' accepts 13 values but no enum declared; 'count' unbounded; 'freshness' and 'country' lack pattern/enum definitions. LLMs will hallucinate invalid values.
No error handling guidance. Tools return errors but do not tell LLMs what to do next (retry? ask user? fatal?). No recovery paths documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Search across providers (use -m for mode, -p to pick providers)
Manage skill file installation for agent platforms
Usage statistics from the local search logs (spend, modes, providers)
Check for updates or self-update
Show remaining credits/quota for providers that expose a usage API
Verify if email addresses exist via SMTP (no API key needed). Probes mail servers directly (RCPT TO) — bulk probing can hurt IP reputation
Show which metasearch.sh account this machine is signed in to
'config' tool conflates four actions (show/set/check/path) into one tool. Should split into separate tools (get_config, set_config, check_config, get_config_path) for clarity and composability.
Credentials management (login/logout) lacks audit trail and secret injection documentation. No mention of how API keys are stored, rotated, or revoked server-side.