feat(mcp): add Parallel search setup and fix structured tool inputs - #861
Open
georgeatparallel wants to merge 2 commits into
Open
georgeatparallel wants to merge 2 commits into
georgeatparallel wants to merge 2 commits into
Conversation
georgeatparallel
marked this pull request as ready for review
September 5, 2026 01:25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a Parallel Search MCP setup example to Basic Usage, using the existing
mcp-remotestdio path. Users can select public web search and page fetching for ReAct or ReWOO without a Parallel account or API key.When someone uses
@WebSearch, Kotaemon chooses Tavily as its default backend and calls its advanced mode. In Artificial Analysis's August 31 results, Parallel advanced scored 74.8 vs. 65.6 for Tavily basic on the Search Index. The gap on BrowseComp was bigger: 76.5% vs. 58.5%, an 18-point lead.AA tested Tavily basic, while Kotaemon uses advanced, so these aren't scores for the exact setup here. They're API benchmark results from AA's fixed agent harness, not a test of Kotaemon or this MCP path. I'd consider testing Parallel as the default
@WebSearchbackend too if answer quality is the priority. This PR adds the optional MCP path; it doesn't change that default.The setup exposed four gaps in the MCP support added in #813:
enabled_toolsfrom the cached server configuration. Loading a search-only server twice could enable fetching on the second load. Read the allowlist without changing it.anyOffields were treated as strings. Preserve the underlying type and required/optional presence rules so fields such as fetchsearch_queriesaccept arrays or null and still reject invalid values.Existing defaults and non-MCP tools are unchanged. The guide explains selection, disabling, rate limits, and that queries, URLs, and supplied context go to Parallel when the agent uses these tools. I work at Parallel, which operates this service.
Validation: 64 focused checks passed at
20f330f, using an isolated source-loading harness. These cover MCP inputs, nullable fields, discovery, configuration management, and repeated selection. Separate checks exercised both prompt composers and deterministic ReAct/ReWOO tool dispatch. The documented JSON passed through the actual Add/Save handlers, a temporary SQLite database, reload, and both source pipeline-selection methods. Anonymous search and fetch succeeded through the selectedMCPToolandmcp-remote0.8.3. Black 22.3.0, isort 5.12.0, and flake8 7.0.0 checks passed; whitespace checks passed with the existing CRLF line endings recognized. The unchanged guide retains its prior Prettier 2.7.1 validation. GitHub CI awaits maintainer approval; no passing CI result is claimed.The harness uses real MCP, tool, and database code while substituting unrelated UI and LLM construction. The full application, rendered UI, LLM-generated tool choices, repository builds, and full test suites were not run.
Type of change
Checklist