Skip to content

Add opt-in Parallel Search MCP tools - #117

Open
georgeatparallel wants to merge 2 commits into
dfinke:mainfrom
georgeatparallel:parallel-search-e4f38a5c-8ce0-4f11-95ea-57c1e9e73465
Open

georgeatparallel wants to merge 2 commits into
dfinke:mainfrom
georgeatparallel:parallel-search-e4f38a5c-8ce0-4f11-95ea-57c1e9e73465

Conversation

@georgeatparallel

Copy link
Copy Markdown

Adds opt-in web search and page excerpts through the free, keyless Parallel Search MCP. Register Search-ParallelWeb and Get-ParallelWebContent with New-Agent -Tools; a runnable quickstart is included. Existing provider defaults are preserved. The anonymous tier has rate limits, and model inference still needs separate credentials.

I work at Parallel. For context, here are Artificial Analysis's Search API benchmarks.

Tested: the full Pester suite, JSON/SSE responses and error handling, plus live anonymous search and fetch through PSAI's agent dispatch with a deterministic model fixture.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Requests need explicit UTF-8 encoding to preserve non-ASCII queries on supported PowerShell versions before 7.4.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Adds opt-in Parallel web search and page excerpts to PSAI agents without changing provider defaults.

Changes:

  • Adds anonymous MCP transport and two public tools.
  • Documents usage with a runnable quickstart.
  • Adds transport and agent-dispatch tests to CI.
File Description
Tests/​ParallelWeb.tests.ps1 Tests transport, errors, validation, and agent dispatch.
README.md Documents setup, limits, and usage.
Public/​Search-ParallelWeb.ps1 Adds web search.
Public/​Get-ParallelWebContent.ps1 Adds page excerpt retrieval.
PSAI.psm1 Loads the new functions.
PSAI.psd1 Exports both public tools.
Private/​Invoke-ParallelMcp.ps1 Implements anonymous MCP requests and response handling.
examples/​agent-quickstarts/​06-ParallelWebSearch.ps1 Demonstrates agent integration.
.github/​workflows/​ci.yml Includes the new tests and enables CI failure reporting.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread Private/Invoke-ParallelMcp.ps1 Outdated
$timeoutOptions['OperationTimeoutSeconds'] = $TimeoutSec
}
$response = Invoke-WebRequest -Uri 'https://search.parallel.ai/mcp' -Method Post `
-ContentType 'application/json' -Headers $Headers `

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 27116ab. Requests now use application/json; charset=utf-8. A local HTTP regression checks the actual UTF-8 bytes for 東京 café in both the objective and query; it fails without the charset on PowerShell 7.3.12 and passes with the fix. The full Pester suite passes on PowerShell 7.3.12 and 7.6.6 (199 passed, 2 existing skips).

@dfinke dfinke self-assigned this Oct 7, 2026
@dfinke dfinke added the investigate needs review for won't fix or plan to fix label Oct 7, 2026
@dfinke

dfinke commented Oct 7, 2026

Copy link
Copy Markdown
Owner

@georgeatparallel, thanks for bringing this to PSAI and for working through the review feedback. I appreciate the opt-in design for the integration.

This got me curious about how you approach developer relations and community integrations at Parallel. Would you be up for a short conversation sometime?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

investigate needs review for won't fix or plan to fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants