Repository navigation
feat(integrations): add free Parallel Search MCP - #528
georgeatparallel wants to merge 1 commit into
Conversation
|
👋 This PR needs a couple of things fixed before OpenHands can review it:
Push an update once this is addressed and this check re-runs automatically. This is an automated check - no AI was used to generate this comment. |
|
🚦 CI is currently failing on this PR's latest commit. Please fix the failing checks before OpenHands reviews it - this is re-checked automatically once you push a new commit. (A maintainer can also request This is an automated check - no AI was used to generate this comment. |
|
I've merged current main and regenerated the integration index in 38fe194. Local validation on Python 3.12 passed 985 tests (25 skipped), and the anonymous Parallel search/fetch smoke test passed. The PR description now records the fresh results and Rowan's earlier local test report without claiming hosted UI testing. Could a maintainer add The fresh Tests, Check Extensions, and Deprecation deadlines runs also require approval for this fork. Could you approve those workflows? Once the readiness gate and CI pass, I'd appreciate a review of this catalog addition. |
There was a problem hiding this comment.
I'm an AI agent (Claude Code, based on Opus 5.5) helping Engel Nyst (@enyst) with project work.
The entry looks correct, and keyless Parallel Search seems like a reasonable addition alongside Tavily, Exa and Brave. Only process items block it right now.
- Conflict in the generated index.
integrations/catalog-index.jsconflicts with main because Granola (#655) landed after your Sep 21 merge. Please merge main again and re-runnpm run build:integrationsinstead of resolving the conflict by hand. Main's generator, run on main plus this JSON, produces a clean 80-entry index. - Gates. The other blockers are the ones you already raised on Sep 21, and they are on maintainers: #604 still needs triage to
ready-for-dev, and the fork workflows still need approval.
Non-blocking: the no-auth allowlist in tests/test_catalogs.py exists so that each public endpoint is added deliberately. Adding parallel-search there looks reasonable to me. The endpoint is on Parallel's own domain, and the PR says that queries and fetched URLs go to Parallel.
Checked:
integrations/catalog/parallel-search.jsonvalidates against main'sintegrations/catalog.schema.json.catalog-index.jsat38fe194matches main's generator output for this head's catalog directory.docsUrlreturns 200.https://search.parallel.ai/mcpanswers a credential-less HEAD with MCP headers (405,mcp-session-id). I did not call any MCP tools or run the live smoke test.MCPToolObservation.from_call_tool_resultexists in the SDK'sopenhands/sdk/mcp/definition.py, and the new live test is opt-in and skipped by default.
Adds the keyless Parallel Search MCP catalog entry, allowlists it as an intentional no-auth remote MCP, adds an opt-in live smoke test, and regenerates catalog-index.js with npm run build:integrations on current main.
5c77dd9 to
b84b8a5
Compare
|
Thanks @enyst! Rebased onto current main as a single commit and regenerated The remaining gates are the #604 triage and the fork workflow approval. |
HUMAN:
I work at Parallel. I’d like OpenHands users to be able to add Parallel Search from the integration catalog without manually configuring the MCP URL. I asked an agent to update this PR against main and regenerate the catalog.
AGENT:
Why
This adds free, keyless web search and page fetching to the shared integration catalog. OpenHands users can add Parallel Search through the normal MCP settings instead of entering its URL manually. I'm George from Parallel.
For context, Parallel Search Fast scores 80 F1 on Artificial Analysis's DeepSearchQA benchmark, and its Time per Task chart reports 18.5 seconds per task. Fast is also the mode used by anonymous Search MCP. These are search API benchmark results, not measured OpenHands performance.
Summary
Issue Number
Fixes #604
How to Test
uv sync --group test npm run build:integrations uv run pytest -q RUN_PARALLEL_MCP_LIVE=1 uv run pytest -q tests/test_live_integration_smoke.py -k parallelValidation after merging upstream
mainand regenerating the integration index on September 21, 2026: Python 3.12.13 with openhands-sdk 1.49.2 passed 985 tests, with 25 skipped. The anonymous live Parallel test passed search, page fetching, source-bearing results and invalid arguments. Extension sync and deprecation checks also passed; extension sync reported an existing non-blocking marketplace coverage warning forplugins/issue-duplicate-checker.Earlier validation with this package linked into Agent Canvas passed 52 focused component/helper tests, including credential-free installation and preservation of sibling servers. Those consumer tests were not rerun for this merge, and the full hosted UI was not exercised.
With this catalog version installed in Agent Canvas, open MCP settings, choose Parallel Search from the marketplace and add its no-auth connection. It uses
https://search.parallel.ai/mcpand requires no API key. The enabled server exposesweb_searchandweb_fetchthrough the existing MCP tool path.Video/Screenshots
No hosted UI recording was captured for this catalog and test change.
Notes
Search queries and fetched URLs are sent to Parallel's hosted service. Anonymous Search MCP is free for light use and rate-limited; model and hosting costs still apply. Availability in released clients follows the catalog release and consumer update.