Skip to main content
Glama
auxiliar-ai
by auxiliar-ai
README.md
# auxiliar-mcp

Eval-backed tool discovery for AI agents, on the [auxiliar.ai](https://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

```bash
claude mcp add auxiliar -- npx auxiliar-mcp
```

or in any MCP client config:

```json
{ "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](https://auxiliar.ai).

## Where the data comes from

Benchmark data loads at runtime from [`auxiliar.ai/evals.json`](https://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](https://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

```bash
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 production
```

Releasing: 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

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: about_auxiliar introduces the service, get_provider details a single provider, get_scorecard shows benchmarks for a verb, and recommend_tools recommends providers. No overlap.

Naming Consistency5/5

All tool names use a consistent verb_noun pattern in snake_case (about_auxiliar, get_provider, get_scorecard, recommend_tools), making them predictable and easy to understand.

Tool Count5/5

With 4 tools covering onboarding, provider details, benchmarks, and recommendations, the count is well-scoped for an information-focused MCP server about a gateway service.

Completeness4/5

The tools cover the main user needs: understanding, provider details, benchmarks, and recommendations. A minor gap is the lack of a tool to list all providers or verbs, but recommend_tools partially addresses this by taking a job as input.

Maintenance

ActivityStale
ResponsivenessUnresponsive