# Brave Search API + MCP vs SpecStream (slim)

> SpecStream scores 64.4 (B) to Brave Search's 62.9 (B) for web search. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/brave-search-mcp-vs-specstream.md (~6,250 tokens) · this version ~3,930 tokens · JSON https://www.anchorterminal.com/compare/brave-search-mcp-vs-specstream.json · canonical https://www.anchorterminal.com/compare/brave-search-mcp-vs-specstream
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-03
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

SpecStream scores 64.4 (B) on agent readiness against Brave Search API + MCP's 62.9 (B), and leads in 4 of 7 scored categories. Brave Search API + MCP leads on reliability, agent ergonomics and transparency & trust. Both do web search. SpecStream accepts x402. Brave Search API + MCP doesn't.

- Brave Search API + MCP: B 62.9, rank #444 of 1272 · https://www.anchorterminal.com/tools/brave-search-mcp.min.md
- SpecStream: B 64.4, rank #399 of 1272 · https://www.anchorterminal.com/tools/specstream.min.md
- Brave Search API + MCP, good for Agents that want an independent, non-Google index at a flat price, or that want page text in one call through LLM Context. Ahead on Reliability, 80 against 23; Agent ergonomics, 72 against 65; Transparency & trust, 81 against 66. Also Runs on your own machine; Open source.
- SpecStream, good for Agents that need a list of companies, places, grants, tenders, papers or packages matching stated conditions, with a source page on every value and a price approved before anything runs, and teams that want the same list rechecked on a schedule and sent to a sheet or CRM. Ahead on Schema & documentation, 80 against 72; Security & auth, 73 against 58; Payments & pricing, 85 against 20. Also An agent can pay per call over x402, with no account; Free to start without a card; No incidents deducted, where Brave Search API + MCP loses 3 points for them.

| Category | Brave Search API + MCP | SpecStream |
| --- | --- | --- |
| Reliability (16%) | 80 | 23 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 72 | 80 |
| Agent ergonomics (13%) | 72 | 65 |
| Security & auth (14%) | 58 | 73 |
| Payments & pricing (10%) | 20 | 85 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 77 | 81 |
| Transparency & trust (7%) | 81 | 66 |

| Fact (where they differ) | Brave Search API + MCP | SpecStream |
| --- | --- | --- |
| Kind | HTTP API | Platform |
| Vendor | Brave | SpecStream SAS |
| Hosted endpoint | `https://api.search.brave.com/res/v1/web/search` | `https://api.specstream.ai/mcp` |
| Transports | stdio, Streamable HTTP, HTTP | Streamable HTTP, HTTP |
| Price for web search | $5 per 1,000 requests | not published |
| x402 | no | yes |
| Licence | MIT | Proprietary hosted service under SpecStream SAS's terms of use (updated 3 November 2026, French law). The client code in specstream/specstream-tools (SDKs, the stdio bridge, framework packages, plugins, skills and integrations) is MIT, copyright SpecStream SAS |
| Tools exposed | 8 | 128 |
| MCP registry | `io.github.brave/brave-search-mcp-server` | `ai.specstream/specstream` |
| Last release | 2026-09-17 | 2026-11-03 |
| Terms last updated | 2026-09-01 | not read yet |
| Privacy policy last updated | 2026-08-25 | not read yet |
| Customer content may train models | not found in the text | not read yet |
| Terms restrict automated access | not found in the text | not read yet |
| Terms restrict benchmarking | not found in the text | not read yet |
| Terms or service can change without notice | not found in the text | not read yet |
| Arbitration or class-action waiver | not found in the text | not read yet |
| Popularity | 1.4k stars, 22k npm/wk | none |
| Agent reviews | 3.5/5 (2) | none |

Why the edge:
- Payments & pricing, SpecStream +65: Brave Search API + MCP 20 (No machine payment on 1 November. The x402 proxy at search.agent.s.brave.app answers 404 on its root, llms.txt, OpenAPI file and the web search and LLM Context paths it sold on 1 October, the agent payments guide answers 404, and neither llms.txt nor brave.com/search/api mentions x402 (0). $5 per 1,000 searches and $4 per 1,000 Answers requests plus tokens, published without login (20). The $5 monthly credit needs a card on file, which brave.com says is to prevent abuse (0). A person signs up and adds a card before getting a key, so no autonomous route remains (0). 0+20+0+0 = 20.); SpecStream 85 (x402 v2 (USDC on Base, Arbitrum or Polygon, Permit2 `upto` for the quoted maximum, settled for the results cost) and MPP by card on SpecStream's own `POST /v1/agent/lists`, the route for buying a list of 1 to 500 results without an account; enrichment of imported lists, refreshes, monitors and investigations need an account, and the route was read in the docs and not exercised because api.specstream.ai's robots.txt could not be read, so partial (25). Per-result prices published without a login, 5, 15 or 100 cents a result, 5 cents an email, 15 cents a phone, rechecks at half rate or 1 cent (20). $10 of work for 30 days with no card (20). An agent can buy a list over x402 or MPP with no account, and the A2A endpoint prices a request without a key (20). 25+20+20+20 = 85.)
- Reliability, Brave Search API + MCP +57: Brave Search API + MCP 80 (status.brave.app (Better Stack) lists a Brave Search API component monitoring api.search.brave.com, showing 100% uptime with every two-day mark from 6 May to 1 November 2026 operational, and a Search API Dashboard monitor at 99.996%. The 1 October note read the page as unmonitored, but its marks go back to May (20). No incident in the 90 days from 3 August on the page or its feed, and the docs' own status log still ends on 27 March 2025, so a clean record on a readable page (20). Rate limits published per plan, 50 QPS Search, 2 QPS Answers, 100 QPS Spellcheck and Autosuggest, in a 1-second sliding window, per the 1 October check (15). 429 on overrun, `X-RateLimit-Reset` in seconds and exponential backoff guidance. Searches are reads, so no idempotency keys are needed (15). No SLA on any self-serve plan (0). GA (10). 20+20+15+15+0+10 = 80.); SpecStream 23 (Hosted reading, for the MCP server and REST API on api.specstream.ai. No public status page was found. None is linked from the site, llms.txt or the docs, llms-full.txt mentions none, and https://specstream.ai/status returned an error (0). No readable incident history, so the floor (5). No rate limit with numbers is published in the docs, llms.txt, llms-full.txt or the part of the OpenAPI file read; the privacy policy and DPA mention rate limiting without figures, and the published limits are per job (10,000 results a request, four-hour runs, 20,000 imported rows) (0). Nothing documents 429, Retry-After or backoff, but paid work requires an `idempotency_key` on `authorize_capacity_work` and `POST /v1/capacity/executions`, `GET /v1/capacity/requests/{request_key}` recovers the original find after an uncertain response, and the skills say never to quote again to recover a lost reply (8 of 15). No SLA on any plan, and the terms say 'We do not promise uninterrupted access' (0). No beta or preview label on the API, the MCP server or the SDKs, which PyPI classifies as production and stable at 1.2 (10). 0+5+0+8+0+10 = 23.)
- Security & auth, SpecStream +15: Brave Search API + MCP 58 (Plain API keys in the `X-Subscription-Token` header. Several keys per account, revocable from the dashboard, with rotation advice, but no scopes (20). Read-only by nature, with tool allow and deny lists in the MCP server. The HTTP transport binds to 127.0.0.1 and checks Origin (18). Results are untrusted web text and LLM Context returns page content, and we found no prompt-injection guidance in the API docs or the MCP README (0). No per-call audit log found. Rate-limit headers show quota use only (0). SOC 2 Type II attestation, a HackerOne bounty, a pen test in April 2025 and a security.txt at brave.com that names a contact and the HackerOne policy, though it has no Expires field, re-read on 1 November (20). 20+18+0+0+20 = 58.); SpecStream 73 (API keys `ss_live_...` shown once, with eight scopes, an optional project, an expiry of 1 to 365 days (default 90) and a spending ceiling, revoked singly; OAuth for MCP clients with client ID metadata documents or dynamic registration and read, prepare or execute access, with registered clients listed and revoked in settings; no secret in a query string documented. The authorisation server metadata on api.specstream.ai was not read and rotation is not described beyond expiry (28 of 30). Read, prepare and execute levels, only `finds:spend` or execute access starts paid work, every purchase needs an approved `confirm_max_cents` and delegated access has per-run and monthly limits; `create_api_key`, `delegate_access` and `request_account_deletion` are on the MCP surface marked destructive, and which scope guards account deletion is not documented (18 of 20). The home page says pages read are treated as data, never as instructions, and the Grok plugin's rules tell the agent to treat rows as untrusted; the docs, tool descriptions and four skills say nothing on it (6 of 15). A 12-month audit log of sign-ins, keys, delegated access, spending, exports, monitors and imports, readable through `list_audit_events`, plus per-find decisions, lineage and a source on every value; export of the audit log is Enterprise-only on the pricing page while the account docs describe a CSV export (13 of 15). security.txt is valid until October 2027 with support@specstream.ai, and SECURITY.md adds GitHub private vulnerability reporting; no SOC 2, ISO 27001 or bug bounty, and the DPA promises breach notice within 48 hours (8 of 20). 28+18+6+13+8 = 73.)
- Transparency & trust, Brave Search API + MCP +15: Brave Search API + MCP 81 (The MCP server is MIT. The API is closed with published terms, so between the two bands (20). Privacy notice updated 25 August 2026, with query records kept up to 90 days, zero data retention for Enterprise and subprocessors in Annex IV of the DPA (25). Dated `Api-Version` versions and a deprecated Summarizer, but no notice period stated (8). Brave Software Inc. in the US is named, and subprocessors sit in the DPA annex. We found no data-location statement (10). 20+25+8+10 = 63.); SpecStream 66 (Closed hosted service under terms of 3 November 2026 naming SpecStream SAS, French law and a liability cap of the greater of 12 months' fees or 100 euros; the client code is MIT (20 of 30). The privacy policy and DPA agree with each other and the about page on EU hosting, no training on customer requests, lists or results, and a retention table (server logs 30 days, backups 8 days, page copies 24 hours, run working copies 7 days, audit log 12 months, support 3 years, accounts until deleted, erased from backups within 8 days of deletion), with breach notice in 48 hours and audit rights; the pricing page and the account docs disagree on who can export the audit log (27 of 30). No API deprecation policy; the changelog dates a price cut of 26 October 2026 that kept approved quotes at their old prices, the terms promise notice of material changes and keep historical quotes on their terms, and the DPA gives 30 days' notice of a new subprocessor (8 of 20). Subprocessors are listed by category with locations and transfer safeguards, hosting on IBM Cloud in Madrid is named in the legal notice, and names are available only on request (12 of 20). 20+27+8+12 = 67.)
- Schema & documentation, SpecStream +8: Brave Search API + MCP 72 (No public OpenAPI for the keyed API. The x402 proxy's OpenAPI 3.1 document, counted on 1 October, answers 404 on 1 November, but all eight MCP tools carry typed JSON Schema (2020-12 since v2.1.1), so 20 of 25 stands on the tool schemas. llms.txt at api-dashboard.search.brave.com, linking a Markdown copy of every page (10). Each MCP tool says when to use it, none says when not to, and `brave_summarizer` still calls a Summarizer endpoint the source itself calls deprecated (12). Inputs are typed with enums for country and language and a 400-character, 50-word query cap (14). Quickstart and playground, but we found no documented error catalogue (8). Dated `Api-Version` header versions, but no API changelog. The docs status log stops in March 2025, and only the MCP server has GitHub releases (8). 20+10+12+14+8+8 = 72.); SpecStream 80 (MCP reading, with the REST API described. The tool list shipped in specstream-mcp-stdio 1.2.3 gives every one of the 128 tools a typed JSON Schema input (357 of 358 properties typed, `additionalProperties: false` on all but two objects), and an OpenAPI 3.1 file at https://specstream.ai/openapi.json lists at least 121 paths with cursor and limit parameters; several capacity and investigation responses are untyped objects, and our reader stopped at about 104,000 characters before the components, so request bodies and `ErrorEnvelope` were not read (22 of 25). llms.txt, llms-full.txt and a Markdown twin of every page, also served for `Accept: text/markdown` (10). Each tool has a title and a description of what it does and whether it charges ('Nothing runs and nothing is charged'), and the skills set the order of calls and where to stop and ask, but no description says when not to use a tool or names a better one (13 of 20). 13 enums (operations, evidence level, key scopes), 264 bounds and patterns such as 64-hex hashes, `requested_units` 1 to 10,000 and `limit` up to 100, and required lists on every tool (14 of 15). curl, Python and TypeScript examples, worked scripts in the repository and a sample run on the home page, but no documented error codes or error examples (6 of 15). A dated changelog of 48 entries from 30 September to 26 October 2026, `/v1` paths, a named API version and tagged releases (15). 22+10+13+14+6+15 = 80.)
- Agent ergonomics, Brave Search API + MCP +7: Brave Search API + MCP 72 (Eight tools, under ten, with `--enabled-tools` and `--disabled-tools` to trim the list. Country and language enums make the web search schema long (22). `count`, `offset`, `freshness`, `result_filter` and safesearch on web search, and token budgets on LLM Context (20). 429s carry reset headers, but the MCP server returns an empty search as an error result ("No web results found"), which reads as a failure to a model (12). Searches are safe to repeat, but the tools set only `openWorldHint`, with no `readOnlyHint` (10). Only `query` is required. No official SDK in any language (8). 22+20+12+10+8 = 72.); SpecStream 65 (MCP reading. 128 tools at about 143,700 characters of names, descriptions and schemas (more than 30, 5), with no server-side toolsets or dynamic loading; the framework packages for LangChain, LlamaIndex, CrewAI and the Vercel AI SDK and the Open WebUI tool expose two to four tools with the price cap held in code, and results default to short evidence (5 back, 10 of 25). Cursor and `limit` on rows, search, specs and revisits, `evidence` short or full, filters by area and by field on collections, and unconfirmed candidates kept in a separate list (18 of 20). An `ErrorEnvelope` on every operation and an SDK error class that exposes `code` and `details`, but no published code list, meanings or retry rules (6 of 20). Required idempotency keys on paid work, schedules and refund claims with a recovery route, `expected_version` on updates, stable event ids on webhook retries, and readOnlyHint on 72 tools and destructiveHint on 29, with no idempotentHint (18 of 20). `compile` needs only `q`, a quote needs only `ast_hash` with 25 results by default, and official SDKs in Python and TypeScript with a CLI, though one purchase takes three calls with a hash carried between them (13 of 15). 10+18+6+18+13 = 65.)
