openclaw/docs/tools
Matt H 983b65b0e0
feat(parallel): add free Parallel Search MCP as the zero-config default web_search provider (#90849)
* feat(parallel): add free Parallel Search MCP as the zero-config default web_search provider

Registers two Parallel web_search providers in the parallel plugin:
- parallel-free: keyless, always the free hosted Search MCP (search.parallel.ai/mcp);
  the zero-config default (autoDetectOrder 76) so web_search works with no key.
- parallel: the existing paid v1 REST API (requires PARALLEL_API_KEY).

Shared query/result normalization lives in parallel-search-normalize.ts (used by both
transports); a minimal Streamable-HTTP JSON-RPC client (parallel-mcp-search.runtime.ts)
backs the free path. UI brands the tool-call chip 'Parallel Web Search' on the free path
via a searchTransport marker; setup default mirrors runtime auto-detect.

* chore(parallel): register parallel-free in doctor legacy-web-search owners

parallel-free is a bundled web_search provider, so add it to the doctor's
exhaustive BUNDLED_LEGACY_WEB_SEARCH_OWNERS map (owned by the parallel plugin)
and the NON_MIGRATED set — it has no legacy tools.web.search.* shape, so this is
a no-op for migration, matching paid parallel/tavily. Keeps the registry
complete. (Spotted by diffing the earlier local WIP branch.)

* docs(parallel): restore concise frontmatter summary

* docs(parallel): clearer, professional copy; drop v1 REST jargon and UI-label claim

- Frame the two providers as Parallel Search (Free) vs paid Parallel Search;
  remove internal 'v1 REST API' wording.
- Remove conversational/overstated phrasing ('out of the box for everyone').
- Remove the 'labeled Parallel Web Search in the UI' claim (only renders in the
  Control UI, not the TUI). Scope the searchTransport code comment accordingly.

* revert(parallel): drop the "Parallel Web Search" tool-call branding

The label only rendered in the Control UI, never the TUI (a separate renderer
via src/agents/tool-display.ts). Extending it would put provider-specific
labeling into a shared/core display path, against the plugin-agnostic-core rule.

Reverts the Control-UI labelOverride wiring and removes the now-orphaned
searchTransport marker from the free provider's result. The result still carries
provider: "parallel-free".

* fix(parallel): cap free Search MCP session_id at its 100-char tools/list contract

The free parallel-free provider reused the paid ParallelSearchSchema, whose
session_id allows 1000 chars, but the live Search MCP tools/list schema caps
session_id at 100. Parameterize normalizeParallelSessionId(value, maxLength);
the free path passes 100 (paid keeps 1000) and advertises the tighter bound in
its own ParallelFreeSearchSchema. An over-limit caller id is dropped and a
fresh in-contract id is minted. Updates tests and docs accordingly.
2026-06-06 17:36:28 -07:00
..
acp-agents-setup.md fix: hide sessions_spawn timeout overrides 2026-06-02 06:09:02 -04:00
acp-agents.md docs(acp): document parent commentary default 2026-06-04 19:30:46 +05:30
agent-send.md fix(agent): support explicit CLI session keys (#85121) 2026-05-22 03:08:25 +00:00
apply-patch.md
brave-search.md
browser-control.md fix(browser): document stable tab references (#88393) 2026-05-31 12:09:50 +00:00
browser-linux-troubleshooting.md
browser-login.md
browser-wsl2-windows-remote-cdp-troubleshooting.md
browser.md refactor: route browser screenshot vision through shared media understanding 2026-05-31 00:00:19 +01:00
btw.md Revert "refactor: move runtime state to SQLite" 2026-05-13 13:33:38 +01:00
capability-cookbook.md
clawhub.md
code-execution.md docs: align xai code execution auth docs (#84416) 2026-05-19 20:39:04 -07:00
creating-skills.md docs(skills): full rewrite of skills section with Mintlify components 2026-05-31 12:57:16 +01:00
diffs.md docs: clarify diffs language pack additions (#88865) 2026-05-31 19:24:45 -07:00
duckduckgo-search.md
elevated.md
exa-search.md
exec-approvals-advanced.md feat(googlechat): add native approval cards 2026-06-04 23:05:06 -07:00
exec-approvals.md fix #88773: [Bug]: Telegram DM exec requires approval despite allowlist + ask:off — works in webchat, not in Telegram (#89035) 2026-06-03 18:33:08 +05:30
exec.md fix #88773: [Bug]: Telegram DM exec requires approval despite allowlist + ask:off — works in webchat, not in Telegram (#89035) 2026-06-03 18:33:08 +05:30
firecrawl.md
gemini-search.md
goal.md feat: add core session goals (#87469) 2026-05-29 22:36:29 +02:00
grok-search.md feat: add xai oauth web search and provider timeouts 2026-05-22 08:49:53 +01:00
image-generation.md refactor: unify OpenAI provider identity 2026-05-30 11:48:41 +02:00
index.md docs: add Skill Workshop guide 2026-05-31 09:05:03 +01:00
kimi-search.md
llm-task.md refactor: unify OpenAI provider identity 2026-05-30 11:48:41 +02:00
lobster.md docs: reorganize tools automation nav (#80116) 2026-05-11 15:59:27 -07:00
loop-detection.md fix: abort generic no-progress tool loops 2026-05-12 00:29:10 +08:00
media-overview.md fix: route media completions through requester agent (#88141) 2026-05-30 00:24:28 +02:00
minimax-search.md
multi-agent-sandbox-tools.md Revert "refactor: move runtime state to SQLite" 2026-05-13 13:33:38 +01:00
music-generation.md fix: route media completions through requester agent (#88141) 2026-05-30 00:24:28 +02:00
ollama-search.md
parallel-search.md feat(parallel): add free Parallel Search MCP as the zero-config default web_search provider (#90849) 2026-06-06 17:36:28 -07:00
pdf.md feat: support encrypted PDF extraction (#87751) 2026-05-28 20:19:49 +01:00
permission-modes.md docs: add permission modes page 2026-05-31 08:47:02 +01:00
perplexity-search.md
plugin.md Add operator install policy and remove dangerous-code install scanners (#89516) 2026-06-03 14:17:29 -07:00
reactions.md fix(nextcloud-talk): dispatch react action so agents can send reactions (#70110) (#72348) 2026-05-18 18:54:44 +00:00
searxng-search.md
skill-workshop.md docs: add Skill Workshop guide 2026-05-31 09:05:03 +01:00
skills-config.md Add operator install policy and remove dangerous-code install scanners (#89516) 2026-06-03 14:17:29 -07:00
skills.md Add operator install policy and remove dangerous-code install scanners (#89516) 2026-06-03 14:17:29 -07:00
slash-commands.md fix(auto-reply): warn on substantive private message-tool finals 2026-05-31 14:35:58 +01:00
steer.md fix(agents): simplify subagent completion handoff 2026-05-23 13:50:08 +01:00
subagents.md fix: hide sessions_spawn timeout overrides 2026-06-02 06:09:02 -04:00
tavily.md
thinking.md refactor: unify OpenAI provider identity 2026-05-30 11:48:41 +02:00
tokenjuice.md build(plugins): externalize tokenjuice 2026-05-29 21:00:29 +01:00
tool-search.md refactor: internalize OpenClaw agent runtime (#85341) 2026-05-27 19:24:04 +01:00
trajectory.md refactor: internalize OpenClaw agent runtime (#85341) 2026-05-27 19:24:04 +01:00
tts.md fix(xiaomi): support MiMo voicedesign TTS 2026-05-31 10:34:51 +01:00
video-generation.md fix: route media completions through requester agent (#88141) 2026-05-30 00:24:28 +02:00
web-fetch.md fix(agents): add typed tool progress updates 2026-05-29 11:06:13 +01:00
web.md feat(parallel): add free Parallel Search MCP as the zero-config default web_search provider (#90849) 2026-06-06 17:36:28 -07:00