parallel-google-adk
Google Agent Development Kit (ADK) tools and plugin for Parallel — grounded web search, clean extraction, and cited deep research with structured output.
Install
pip install parallel-google-adk
export PARALLEL_API_KEY=your-key-here # get one at https://platform.parallel.ai
Quickstart
import os
from google.adk.agents import LlmAgent
from google.adk.runners import Runner
from parallel_google_adk import (
web_search, web_fetch, extract,
deep_research, enrich,
ParallelTracingPlugin,
)
agent = LlmAgent(
model="gemini-flash-latest",
name="research_agent",
instruction=(
"You are a research assistant. Use web_search to find sources, "
"web_fetch or extract for specific URLs, and deep_research for "
"comprehensive cited reports."
),
tools=[web_search, web_fetch, extract, deep_research, enrich],
)
# Plugins attach to the Runner, not the agent.
runner = Runner(agent=agent, app_name="my-app", plugins=[ParallelTracingPlugin()])
Tools
| Tool | What it does |
|---|---|
web_search |
Grounded web search returning citation-aware excerpts. |
web_fetch |
Clean content from a single URL. Handles JS and PDFs. |
extract |
Batch extraction across 1–20 URLs with optional objective. |
deep_research |
Multi-hop investigation with per-claim citations. Returns a markdown report. |
enrich |
Structured (JSON-Schema-conforming) enrichment of a list of entities. |
Plugin
ParallelTracingPlugin records latency, citation count, and (when reported) cost for every Parallel tool call. Read the trace from tool_context.state["_parallel_calls"].
MCP alternative
If you only want Search and don't want a Python dependency, the Parallel Search MCP works with ADK's MCPToolset:
import os
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams
MCPToolset(
connection_params=StreamableHTTPConnectionParams(
url="https://search.parallel.ai/mcp",
headers={"Authorization": f"Bearer {os.environ['PARALLEL_API_KEY']}"},
),
)
This package is the typed-FunctionTool path for users who want fine-grained schemas, hidden polling, structured enrichment, and tracing.
Examples
See examples/research_agent.py for a runnable demo.
Development
pip install -e ".[dev]"
pytest # unit tests (no network)
pytest tests/integration/ # live API smoke (needs PARALLEL_API_KEY + GOOGLE_API_KEY)
License
MIT
Metadata
Release files for parallel-google-adk 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| parallel_google_adk-0.0.1.tar.gz | 20.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| parallel_google_adk-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.7 kB
Release files / parallel_google_adk-0.0.1.tar.gz
| Download URL | parallel_google_adk-0.0.1.tar.gz |
|---|---|
| Size | 20.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
43c790ed05b1c823c8ffc081b3373ec3760c93a188ac7d6d511c9b47686d2c71
|
|
BLAKE2b-256 checksum How to use checksums |
9542ad5a4ab6d1c0d52ce9be72d6576ae921539d8a230f14d6a7a942ab9b9d81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 30, 2026.
Transparency logRelease files / parallel_google_adk-0.0.1-py3-none-any.whl
| Download URL | parallel_google_adk-0.0.1-py3-none-any.whl |
|---|---|
| Size | 11.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b41bfd1dcb416dc6ccf6d9ffd98d429156e5fd05921099ac4f53a24d6760ba25
|
|
BLAKE2b-256 checksum How to use checksums |
d4830164e09a39525c4e09b4dfedd89cf4d4115986f9073458a6f42ea94922dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 30, 2026.
Transparency log