auxiliar-mcp
v0.23.0
Published
Eval-backed tool discovery for AI agents on the auxiliar.ai web-access gateway. recommend_tools picks the best search, scraping, browser-automation or voice provider for a job from measured benchmarks (quality, latency, cost, error rate), returning routes
Readme
auxiliar-mcp
Eval-backed tool discovery for AI agents, on the auxiliar.ai web-access gateway — one API key for 24 search, scraping, browser-automation and voice APIs, upstream keys injected server-side, usage at each provider's real metered price.
Ask it "what's the best provider for this job?" and it answers from measured public benchmarks — every provider runs the identical task corpus per verb; scorecards carry their run dates; weak scores are published, not hidden.
Install
claude mcp add auxiliar -- npx auxiliar-mcpor in any MCP client config:
{ "mcpServers": { "auxiliar": { "command": "npx", "args": ["auxiliar-mcp"] } } }Tools
| Tool | What it does |
|---|---|
| recommend_tools | Best provider(s) for a job (search, scrape, crawl, extract_ai, extract_rules, answer, screenshot, scrape_domain, act, act_agent, serp, parse, watch), ranked by measured quality/latency/cost/errors. Optional optimize_for, max_latency_ms, max_cost_usd, limit. |
| get_scorecard | The full leaderboard for one verb — every scored provider, raw metrics, run dates. |
| get_provider | One provider in full: route, pricing, choose/avoid guidance, all its dated scorecards. |
| about_auxiliar | What the gateway is, how to get a key, how to call it. |
Every response carries the run date behind each number (measured_on, latest_run), the ranking context (rank #n of m), honest caveats, providers excluded_by_constraints (never silently dropped), and gated_not_scored entries for providers that couldn't be scored on the shared corpora.
Recommendations return an executable call pattern:
https://api.auxiliar.ai/{provider}/{provider-native-path}
Authorization: Bearer <your auxiliar API key>Same paths, parameters and responses as each provider's own docs — the gateway injects the upstream key server-side. Get a key (with $5 free credit, no card) at auxiliar.ai.
Where the data comes from
Benchmark data loads at runtime from auxiliar.ai/evals.json (1h in-memory cache) and falls back to a bundled snapshot offline — responses declare which via data_source. The same data renders the human-readable scorecards at auxiliar.ai/tools. Rankings carry no house incentive: the gateway's fee is flat at credit top-up, so nothing is earned by steering you toward pricier providers.
Development
npm install
npm run build # tsc → dist/ (+ bundled data snapshot)
npm test # unit tests + end-to-end stdio round-trip
npm run update-fallback # refresh src/data/evals-fallback.json from productionReleasing: bump the version in package.json and server.json (two spots) — npm run check-versions (run automatically at prepublish) enforces sync — then npm publish and mcp-publisher publish.
Roadmap
- v0.23 (this release) — eval-backed discovery.
- v1.0 — in-loop execution: call the providers through the gateway from this MCP (
web_search,scrape,extract,crawl, …), routed by the same measured rankings.
License
MIT
