Skip to main content
For AI agents: a documentation index is available at https://docs.parallel.ai/llms.txt. The full text of all docs is at https://docs.parallel.ai/llms-full.txt. You may also fetch any page as Markdown by appending .md to its URL or sending Accept: text/markdown.For Search and Extract, use /v1/search and /v1/extract for all new integrations and agent tool calls. Use /v1beta/search and /v1beta/extract only when maintaining an existing integration that already uses them. The request bodies changed too: on /v1/extract, full_content, fetch_policy and excerpt_settings go inside advanced_settings, and sending the v1beta top-level excerpts, full_content and fetch_policy to /v1/extract returns a 422. Do not substitute /v1 for the documented FindAll or Ingest endpoint paths.
The Parallel MCP server gives Claude, ChatGPT, Cursor, Codex, and any other MCP client web search, page fetch, and research through one URL:
No API key is required to get started: web_search, web_fetch, and web_decisions are free at lower rate limits. web_research requires authentication.

Installation

One-click install for Claude, ChatGPT, Cursor, and VS Code

Add Parallel to your app in one click from parallel.ai/mcp.
Add the server to Claude Code or Codex with one command:
The commands connect without a key, with access to web_search and web_fetch. To sign in or use an API key, see Authentication. For other clients, such as Gemini CLI, Windsurf, and Zed, see the client installation guide. To call the server from your own code, see Programmatic use.
Looking for help with Parallel documentation? Try our Docs MCP to get AI-assisted answers about Parallel’s documentation. The Docs MCP searches our docs only and doesn’t call Parallel APIs.

Agent installation prompt

Paste the following prompt into a chat app like ChatGPT or Claude, or into a coding agent like Claude Code, Cursor, or Codex. The agent finds Parallel’s official plugin for its app or adds the MCP server for you.
Parallel MCP install prompt

Authentication

The server supports three authentication methods:

OAuth sign-in

Connect to https://mcp.parallel.ai/mcp?login from any client that supports MCP OAuth, such as Claude, ChatGPT, Claude Code, Codex, and Cursor. The client opens a browser window to sign in with your Parallel account and stores the token.
Codex opens the sign-in page when you add the server. In Claude Code, run /mcp, select parallel, and sign in. Quote the URL in shell commands, because ? and & are special characters in most shells.

API key

Create a key on Platform, then send the key in either of the following headers:
Each example reads the key from the PARALLEL_API_KEY environment variable when the client connects, so the key isn’t written to the client’s configuration. For other clients, see the client installation guide.

Billing

Calls made with OAuth sign-in or an API key are billed to your Parallel account at the same rates as the underlying API. Each tool result reports its cost in _meta["parallel/usage"], with one entry per SKU that lists name, count, and cost_usd. Calls without a key are free and don’t report usage.

Tools

By default, the server lists web_search, web_fetch, and web_decisions, plus web_research with OAuth sign-in or an API key. web_search calls the Search API. Searches use fast mode unless an override setting specifies a different mode.

web_fetch

web_fetch calls the Extract API.

web_research

web_research calls the Responses API and returns when the answer is ready.
Each web_research result contains the full Responses API response, including its id. To ask a follow-up that builds on earlier research, pass that id as previous_response_id. The follow-up inherits the earlier question and answer, so the new question can refer to earlier findings without restating the original question. Follow-ups aren’t available for organizations with Zero Data Retention (ZDR) enabled. See Statefulness.

web_decisions

web_decisions calls the Decisions API, which takes context and named questions, retrieves web evidence, and returns typed answers with sources. Pass the context in state and up to 100 questions in questions. Since web_decisions is an early release, we recommend being explicit about using it when you prompt your agent. For example:
Example prompt
Each question has a type, instructions, and criteria for its type: See Question Types for example answers.
Example arguments
Any question can return a refusal instead of an answer. Each question, including the shared state, may use at most 32,000 estimated input tokens. Each tool rejects arguments that aren’t in its input schema. The error message lists the arguments the tool accepts, which helps models in clients that don’t show input schemas.

Configuration

The server works without configuration. Tool selection changes which tools a client sees, and override settings change the API requests that each tool sends.

Tool selection

By default, the server lists web_search, web_fetch, and web_decisions, plus web_research with OAuth sign-in or an API key. To choose the tools, add the tools query parameter with a comma-separated list of tool names:
A tool list replaces the default list, so include every tool the client should see. Tool names must match exactly and can’t contain spaces. An unknown tool name or a repeated tools parameter returns HTTP 400, and a URL with a trailing slash, such as https://mcp.parallel.ai/mcp/, returns HTTP 404.

Override settings

Override settings set API request fields for every call on a connection. Override settings can also expose additional request fields to the model as tool arguments. Send override settings as a JSON object in the x-parallel-mcp-config request header.
Override settings require an API key or OAuth sign-in, and an MCP client that can send custom headers. A request without credentials that includes the header receives HTTP 400.
The JSON object is keyed by tool name. Each tool accepts two optional fields:
  • override sets fields of the tool’s API request. override is a JSON Merge Patch: objects merge, null removes a field, and any other value replaces the existing value. The server applies override last, so the model can’t change these values.
  • model_choice lists dotted field paths that the model can set. Each exposed top-level field becomes a tool argument with the same name. Paths can traverse objects but not lists or unions.
In this example, every web_search call uses basic mode and excludes reddit.com, and the model can pass include_domains on each call. Every web_research call uses low reasoning effort and low verbosity.

Supported fields

override and model_choice accept any field of the tool’s API request. The following tables list the most common fields.
Fields of the Search API request:

Validation and limits

  • When a model_choice path covers the field behind one of a tool’s own arguments, the exposed field replaces that argument, so the model sees one control per field. For example, web_fetch’s full_content argument sets advanced_settings.full_content, and web_research’s reasoning_effort argument sets reasoning.effort.
  • The server validates the header when the client connects. Unknown fields, paths through lists or unions, and invalid Search values return HTTP 400. Other invalid values return a tool error when the tool runs.
  • Don’t include credentials in the header. The server rejects web_research tools entries in override that include authorization or headers.
  • The server doesn’t support the Search MCP’s x-parallel-search-config header, and it ignores URL query parameters other than login and tools, such as the Search MCP’s ?mode=.
Source-policy fields are hard filters and can reduce result quality. For flexible preferences, such as “from the last month” or “from nytimes.com”, include the preference in the search objective or queries. Reserve source-policy overrides for requirements that apply to the whole session.

Client examples

The following examples set mode to basic for every web_search call:

Migration from the Search MCP and Task MCP

The Parallel MCP server replaces the standalone Search MCP (search.parallel.ai/mcp) and Task MCP (task-mcp.parallel.ai/mcp) for new installations. Both standalone servers continue to run.
  • Search MCP: Change https://search.parallel.ai/mcp to https://mcp.parallel.ai/mcp, and https://search.parallel.ai/mcp-oauth to https://mcp.parallel.ai/mcp?login. The web_search and web_fetch tools keep their names. Move settings from URL query parameters or the x-parallel-search-config header to the x-parallel-mcp-config header. The new server ignores the old query parameters.
  • Task MCP: For single research questions, use web_research, which returns the answer in the same call without polling. For asynchronous deep research reports and enrichment of lists, continue to use the Task MCP, or call the Task API or the Parallel CLI directly.
Documentation for the standalone servers remains available: Search MCP and Task MCP.