Skip to content

Add optional keyless Parallel web search - #297

Open
georgeatparallel wants to merge 1 commit into
virattt:mainfrom
georgeatparallel:feat/parallel-search-mcp
Open

georgeatparallel wants to merge 1 commit into
virattt:mainfrom
georgeatparallel:feat/parallel-search-mcp

Conversation

@georgeatparallel

@georgeatparallel georgeatparallel commented Sep 5, 2026 •

Copy link
Copy Markdown

Adds Parallel (free, no API key) to /search, so users can choose web search without a Parallel account or credential. I work at Parallel, which operates this service.

Dexter tries Exa first when its key is configured and no saved preference overrides it, so Exa is the comparison that matters here. In Artificial Analysis's August 31 Search API results, Parallel Search (advanced) scores 76.5% vs 73.5% on BrowseComp and 80.6 vs 77.8 on DeepSearchQA F1 against Exa Search (auto). Its overall Search Index is higher too, 74.8 vs 73.7.

If getting stronger research answers is the priority, I'd consider Parallel as a replacement for Exa's default slot too. Those scores come from AA's direct Search API benchmark, including Parallel's advanced mode, rather than this free MCP adapter. I'd check it on Dexter's research tasks before changing the default; this PR keeps that choice opt-in.

Parallel is available only while explicitly selected. Existing provider defaults, key requirements, fallback order, and behavior with no configured provider are preserved. When selected, Parallel runs first and configured providers remain fallbacks. The picker and README explain that the agent can send queries to Parallel during research and that free access is rate limited.

The adapter uses the maintained MCP SDK, returns Dexter's existing result envelope with source URLs and warnings, and bounds request time, response bytes, result count, and snippets. It passes cancellation through the search chain and rejects redirects. Provider selection now lives alongside the search chain, and the picker uses the existing provider metadata instead of a duplicate list.

Validation:

  • 18 focused tests pass, including picker/configuration, default and fallback routing, MCP errors, response limits, cancellation, and redirect/cleanup behavior.
  • Focused TypeScript checks pass for the adapter, search loader, configuration, and selection controller.
  • Live anonymous MCP discovery and one search through the actual picker, saved preference, provider loader, and tool invocation returned five results with source URLs. No Parallel credentials were sent.
  • No repository build, full application run, full typecheck, or full test suite was run locally. CI remains the check for the broader project.

@georgeatparallel
georgeatparallel marked this pull request as ready for review September 5, 2026 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant