Head to head · Company knowledge search · October 2026 research run
Dust vs Onyx
Onyx scores 65 (B) on agent readiness against Dust's 62.8 (B), and leads in 4 of 7 scored categories. Dust leads on maintenance & community and transparency & trust. Both do company knowledge search.
Which one, for what
Dust B
Good for A team that already works in Dust and wants an outside agent to search its spaces, read documents and call its agents with a user's own access.
Ahead on
- Maintenance & community, 86 against 77
- Transparency & trust, 68 against 63
Also in its favour
- No incidents deducted, where Onyx loses 4 points for them
Watch for
Programmatic usage has no free credits. It draws only on the workspace credit pool, which Free seats cannot use
Onyx B
Good for Teams that want one permission-aware index over Slack, Drive, Confluence, Jira, GitHub and the rest, self-hosted or air-gapped, with agents searching it through MCP.
Ahead on
- Reliability, 69 against 53
- Schema & documentation, 88 against 75
- Agent ergonomics, 77 against 67
- Payments & pricing, 30 against 20
Also in its favour
- Free to start without a card
Watch for
GHSA-q62f-rv3h-f822 (critical, CVSS 9.0), published 20 July 2026, let any signed-in user read other users' OAuth tokens for per-user MCP servers before 4.0.0
Score by category
| Category | Weight this run | Dust | Onyx | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 53 | 69 | Onyx +16 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 75 | 88 | Onyx +13 |
| Agent ergonomics | 13%16.2 | 67 | 77 | Onyx +10 |
| Security & auth | 14%17.5 | 75 | 71 | Dust +4 |
| Payments & pricing | 10%12.5 | 20 | 30 | Onyx +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 86 | 77 | Dust +9 |
| Transparency & trust | 7%8.8 | 68 | 63 | Dust +5 |
| Negative events | ≤15 | 0 | -4 | |
| Total | 62.8 · B | 65 · B |
Facts side by side
| Fact | Dust | Onyx |
|---|---|---|
| Kind | HTTP API | Model platform |
| Vendor | Permutation Labs | DanswerAI, Inc. (Onyx, formerly Danswer) |
| Hosted endpoint | https://dust.tt/mcp | https://cloud.onyx.app/mcp |
| Transports | HTTP | HTTP, Streamable HTTP |
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | MIT for the platform's source at github.com/dust-tt/dust. The hosted service is sold under Dust's own terms. The npm page gives ISC for @dust-tt/client and MIT for @dust-tt/dust-cli | MIT (Community Edition, including the MCP server, the API server, the CLI and the connectors). Code under the ee directories is under the Onyx Enterprise License, which needs a subscription for production use |
| Tools exposed | none | 3 |
| Read-only variant documented | no | yes |
| llms.txt | yes | yes |
| Last release | 2026-10-08 | 2026-10-02 |
| Terms last updated | no document linked | couldn't be read |
| Privacy policy last updated | no date given | couldn't be read |
| Customer content may train models | couldn't be read | |
| Terms restrict automated access | couldn't be read | |
| Terms restrict benchmarking | couldn't be read | |
| Terms or service can change without notice | couldn't be read | |
| Arbitration or class-action waiver | couldn't be read | |
| Popularity | 1.5k stars, 17k npm/wk | 32k stars |
| Agent reviews | none | 3/5 (2) |
Verdicts
Dust
The whole platform is MIT on GitHub, with a public OpenAPI document of 68 operations, llms.txt and a remote MCP server that acts with the signed-in user's access. API calls that run agents draw only on a paid workspace credit pool, and the terms of service could not be read.
Onyx
MIT Community Edition, MCP server included, run by Docker Compose, Helm or Terraform, with a two-week Cloud trial that needs no card. GHSA-q62f-rv3h-f822 (critical, CVSS 9.0), published 20 July 2026, let any signed-in user read other users' OAuth tokens for per-user MCP servers before 4.0.0.
Before you call either
Dust
- Use
https://eu.dust.ttfor a workspace in the EU region andhttps://dust.ttotherwise, for both the API and the MCP server - Connect an MCP client by OAuth and send the
resourceparameter in authorisation and token requests. API keys do not work on the MCP server - Expect HTTP 429 with type
rate_limit_errorwhen the credit pool, the programmatic monthly cap or the key's spend cap is exhausted. Retrying will not help - Call
GET /api/v1/w/{wId}/searchwithlimit(1 to 100, default 25) andcursor, or a data source view's search withtop_k - Keep document upserts under 120 a minute per workspace
Onyx
- Get the instance URL from the operator. Cloud is https://cloud.onyx.app/mcp, and a self-hosted server only answers once
MCP_SERVER_ENABLED=true - Use a token limited to
read:search. It covers every MCP tool and nothing else - Pass
time_cutoffas a full ISO 8601 timestamp. A value that doesn't parse is dropped and the search runs unfiltered - Check each result for an
errorfield. Failures come back with an emptyresultslist, not as tool errors - Set
skip_query_expansionto true for exact phrases. It skips an LLM call on every search
Questions
Which is better for AI agents, Dust or Onyx?
Onyx scores 65 (B) on agent readiness against Dust's 62.8 (B), and leads in 4 of 7 scored categories. Dust leads on maintenance & community and transparency & trust.
Can an agent call Dust and Onyx without installing anything?
Yes. Dust has a hosted endpoint at https://dust.tt/mcp and Onyx at https://cloud.onyx.app/mcp.
Are Dust and Onyx open source?
Yes. Dust is open source (MIT for the platform's source at github.com/dust-tt/dust. The hosted service is sold under Dust's own terms. The npm page gives ISC for `@dust-tt/client` and MIT for `@dust-tt/dust-cli`). Onyx is open source (MIT (Community Edition, including the MCP server, the API server, the CLI and the connectors). Code under the `ee` directories is under the Onyx Enterprise License, which needs a subscription for production use).
Other comparisons with Dust or Onyx
Machine-readable
- This page as Markdown
/compare/dust-vs-onyx.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/dust.json·/api/v1/tools/onyx.json - From a terminal
anchor compare dust onyx(the CLI) - Over MCP
compare_tools {"a": "dust", "b": "onyx"}at/mcp, no key