-
Notifications
You must be signed in to change notification settings - Fork 161
feat(mcp): add Parallel Web Search to MCP server registry + example config #1108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
NormallyGaussian
wants to merge
5
commits into
massgen:main
Choose a base branch
from
NormallyGaussian:feat/parallel-search-mcp
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+120
−0
Open
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
a80281c
feat(mcp): add Parallel Web Search to MCP server registry + example c…
NormallyGaussian 34a7654
fix(mcp): drop signature-style tool syntax from prompt-facing text
NormallyGaussian 9616809
fix(mcp): inject optional API key as Bearer header for streamable-htt…
NormallyGaussian 43f137d
fix(mcp): make parallel_search key-gated for auto-discovery
NormallyGaussian 1fb5b17
fix(mcp): use 'claude' backend in parallel_search example for headers…
NormallyGaussian File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
89 changes: 89 additions & 0 deletions
89
massgen/configs/tools/web-search/parallel_search_example.yaml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,89 @@ | ||
| # MassGen Configuration: Parallel Web Search | ||
| # This configuration demonstrates Parallel's hosted Search MCP server for | ||
| # LLM-optimized web search and URL extraction. | ||
| # | ||
| # Prerequisites: | ||
| # - None required for free anonymous use (light/exploratory traffic). | ||
| # - For higher rate limits or production use: | ||
| # 1. Get an API key at https://platform.parallel.ai | ||
| # 2. Set PARALLEL_API_KEY in your .env file | ||
| # 3. Uncomment the `headers` block below | ||
| # | ||
| # Usage: | ||
| # uv run massgen --config @examples/tools/web-search/parallel_search_example.yaml "Research the latest advances in multi-agent AI systems" | ||
| # | ||
| # Features: | ||
| # - web_search: pass an `objective` (natural-language goal) plus 2-3 short | ||
| # keyword `search_queries`; returns ranked URLs with LLM-optimized | ||
| # excerpts in one call (replaces multi-step keyword search loops) | ||
| # - web_fetch: pass a list of URLs (and optional `objective`); returns the | ||
| # most relevant markdown content from each page, bounded for token | ||
| # efficiency | ||
| # - Excerpts are pre-ranked and compressed for reasoning utility, so they | ||
| # can be fed directly into the model context with minimal post-processing | ||
|
|
||
| agents: | ||
| - id: "parallel_research_agent" | ||
| backend: | ||
| type: "claude" | ||
| model: "claude-sonnet-4-20250514" | ||
| mcp_servers: | ||
| - name: "parallel_search" | ||
| type: "streamable-http" | ||
| url: "https://search.parallel.ai/mcp" | ||
| # Uncomment to enable higher rate limits with a Parallel API key. | ||
| # NOTE: this `headers` block is the generic massgen MCP transport | ||
| # shape (matches the streamable_http_test configs). When using the | ||
| # `claude_code` backend, the equivalent field is a top-level | ||
| # `authorization: "Bearer ${PARALLEL_API_KEY}"` instead (see | ||
| # massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md). | ||
| # headers: | ||
| # Authorization: "Bearer ${PARALLEL_API_KEY}" | ||
| security: | ||
| level: "moderate" | ||
|
|
||
| system_message: | | ||
| You are a research assistant with access to Parallel Web Systems' | ||
| LLM-optimized search. | ||
|
|
||
| The Parallel Search MCP exposes two tools — the exact call schemas | ||
| will be provided to you by the MCP server itself. Rely on those | ||
| schemas for argument names and types; the notes below describe how | ||
| to use the tools well, not how to call them. | ||
|
|
||
| Web search | ||
| - The objective should be a natural-language description of what | ||
| you're trying to answer (up to 5000 chars). Include enough context | ||
| to make the search self-contained. | ||
| - Provide 2-3 short keyword queries, each 3-6 words. Vary entity | ||
| names, synonyms, and angles — keep them diverse. Do NOT write | ||
| sentences or use `site:` operators in the keyword queries. | ||
| Maximum of 5 queries per call. | ||
| - When the tool supports a mode preset, prefer the default | ||
| ("advanced") for higher-quality multi-step retrieval on harder | ||
| questions and the lower-latency "basic" mode for simple lookups. | ||
| - Results come back as ranked URLs with markdown excerpts that are | ||
| already relevance-ranked and compressed for direct LLM | ||
| consumption. | ||
|
|
||
| URL extraction | ||
| - Provide a small batch of URLs (up to 20) and, when useful, an | ||
| objective to focus the excerpts. | ||
| - Results come back as markdown content from each URL. | ||
|
|
||
| Best practices | ||
| - Provide BOTH an objective and keyword queries for best results — | ||
| one well-formed search typically replaces several keyword | ||
| searches. | ||
| - Use the web search tool for discovery; use the URL extraction | ||
| tool only when you already know the URL or after a search step | ||
| has surfaced one. | ||
| - Cite every claim with the source URL returned by the tools; | ||
| never invent URLs. | ||
|
|
||
| Provide comprehensive, well-sourced responses based on the search | ||
| results. | ||
|
|
||
| ui: | ||
| display_type: "textual_terminal" | ||
| logging_enabled: true |
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
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.
Uh oh!
There was an error while loading. Please reload this page.