MCP Parallel Agent

Create an agent that uses Parallel for searching information using the Parallel MCP server.

Web search using Parallel's MCP server. API key is optional (keyless access is rate-limited).

Example

import asyncio
from datetime import timedelta
from os import getenv

from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.tools.mcp import MCPTools
from agno.tools.mcp.params import StreamableHTTPClientParams


async def run_agent(message: str) -> None:
    headers: dict[str, str] = {}
    api_key = getenv("PARALLEL_API_KEY")
    if api_key:
        headers["Authorization"] = f"Bearer {api_key}"

    server_params = StreamableHTTPClientParams(
        url="https://search.parallel.ai/mcp",
        headers=headers,
        timeout=timedelta(seconds=300),
    )

    async with MCPTools(
        transport="streamable-http",
        server_params=server_params,
        include_tools=["web_search", "web_fetch"],
        timeout_seconds=300,
    ) as parallel_mcp_server:
        agent = Agent(
            model=Claude(id="claude-sonnet-4-6"),
            tools=[parallel_mcp_server],
            markdown=True,
        )
        await agent.aprint_response(message, stream=True)


if __name__ == "__main__":
    asyncio.run(run_agent("What is the weather in Tokyo?"))

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U "agno[mcp]" anthropic

Export API keys

export ANTHROPIC_API_KEY="your_anthropic_api_key_here"

Optionally export PARALLEL_API_KEY for a higher service allowance.

Run the example

Save the code above as parallel.py, then run:

python parallel.py