Parallel Web Search MCP Server
Registry code: 2e7006e79962cbcc
The search and fetch tools are read-only, idempotent, and safe to call
concurrently. When several independent search or fetch objectives are already
- endpoint
- https://search.parallel.ai/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is Parallel Web Search MCP Server live?
- Yes — it answered the hub's last check (checked 25m ago). It answered 99% of checks over the last 30 days.
- Is Parallel Web Search MCP Server free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does Parallel Web Search MCP Server have?
- 2 tools: web_fetch, web_search.
- Is Parallel Web Search MCP Server safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99.3%· all time 99.3%
last good check
of 2 tools
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- topic
- search & web web search
- used for
- search the web
- fetch content from urls
- answer factual questions
- research topics
- troubleshoot issues
- takes → gives
- text → text, web pages
- tools
- 2 reads
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
web_fetch reads unknown 18h ago
Purpose: Fetch and extract relevant content from specific web URLs. Use only when web_search excerpts are insufficient for the task at hand. Ideal Use Cases: - The user asked about a specific URL or page - You need exact wording or quotes that excerpts may have truncated - You need full-page analysis (long article, document, or page structure) - web_search excerpts are conflicting or clearly insufficient to answer For multiple independent extraction objectives, make separate web_fetch calls concurrently. Put related URLs that share one objective in a single call.
{ "type": "object", "title": "v1_extract_toolArguments", "required": [ "urls" ], "properties": { "urls": { "type": "array", "items": { "type": "string" }, "title": "Urls", "description": "List of URLs to extract content from. Must be\nvalid HTTP/HTTPS URLs. Up to 20 URLs per request." }, "objective": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Objective", "default": null, "description": "Natural-language description of what\ninformation you're looking for from the URLs. Limit to 200 characters." }, "model_name": { "type": "string", "maxLength": 100, "description": "The identifier of the LLM model making this tool call (e.g. 'claude-opus-4.7', 'gpt-5.5', 'gemini-2.5-pro'). Before the first call, verify the exact active model slug from trusted runtime/session metadata or active client configuration. Pass the full slug verbatim; never shorten or substitute a model-family alias like 'gpt-5'. Used for product analytics only; does not affect search behavior." }, "session_id": { "type": "string", "maxLength": 100, "description": "Stable identifier for the current conversation. Generate a random value (UUID or 32+ character hex string) at the start of your session and reuse the exact same value on every web_search / web_fetch call. Do NOT change it between turns. Used for free-tier rate limiting and correlating your tool calls in our logs; ignored on paid-tier keys." }, "full_content": { "type": "boolean", "title": "Full Content", "default": false, "description": "Prefer leaving this off. The default\nexcerpt mode returns LLM-optimized snippets focused on your objective — they\nare much smaller, cheaper, and usually all you need. Only set to true when\nyou explicitly need the entire page as markdown (e.g. reading a long article\nin full, or running a document through a downstream summarizer).\n\nWarning: enabling full content can return a large amount of content —\noften tens of thousands of tokens for a long article. This may exceed your\nMCP client's tool-output limit and will substantially increase response\nsize and latency." }, "search_queries": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Search Queries", "default": null, "description": "Optional keyword search queries (3-6\nwords each) used together with objective to focus excerpts on the most\nrelevant content. Pass the queries from the prior web_search call that\nsurfaced these URLs, if applicable." }, "allow_live_fetch": { "type": "boolean", "title": "Allow Live Fetch", "default": true, "description": "Whether live fetching is allowed. Leave\ntrue for the freshest available content. Set false to use cached content only,\nwhich makes web_fetch much faster by avoiding the source website, but may return\nolder content." } } }arguments 68 linesweb_search reads unknown 18h ago
Purpose: Perform web searches and return LLM-friendly results, including excerpts that are usually sufficient to answer directly without a follow-up fetch. Ideal Use Cases: - Answering questions that require fresh or current information - Research, comparison, documentation, and troubleshooting questions - Broad tasks where multiple `search_queries` can be issued in a single call For multiple independent objectives, make one web_search call per objective concurrently. Put related query variations for the same objective in a single call's search_queries list.
{ "type": "object", "title": "v1_search_toolArguments", "required": [ "objective", "search_queries" ], "properties": { "objective": { "type": "string", "title": "Objective", "description": "Natural-language description of what the web search is trying to find.\nTry to make the search objective atomic, looking for a specific piece of information. May include guidance about preferred sources or freshness." }, "model_name": { "type": "string", "maxLength": 100, "description": "The identifier of the LLM model making this tool call (e.g. 'claude-opus-4.7', 'gpt-5.5', 'gemini-2.5-pro'). Before the first call, verify the exact active model slug from trusted runtime/session metadata or active client configuration. Pass the full slug verbatim; never shorten or substitute a model-family alias like 'gpt-5'. Used for product analytics only; does not affect search behavior." }, "session_id": { "type": "string", "maxLength": 100, "description": "Stable identifier for the current conversation. Generate a random value (UUID or 32+ character hex string) at the start of your session and reuse the exact same value on every web_search / web_fetch call. Do NOT change it between turns. Used for free-tier rate limiting and correlating your tool calls in our logs; ignored on paid-tier keys." }, "search_queries": { "type": "array", "items": { "type": "string" }, "title": "Search Queries", "description": "Concise keyword search queries, 3-6 words\neach, which may include search operators. At least one query is required;\nprovide 2-3 for best results. For broad tasks, you can include multiple\nrelated queries in a single call instead of chaining web_search calls. The\nqueries should be related to the objective." } } }arguments 33 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id2e7006e79962cbcc.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/2e7006e79962cbcc/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/2e7006e79962cbcc?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.
Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.
- docs.parallel.ai Parallel
- api.parallel.ai Parallel Deep Research
- task-mcp.parallel.ai task-mcp.parallel.ai