Skip to main content

Google ADK FunctionTools and Plugin for Parallel APIs (search, extract, deep research).

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parallel_google_adk-0.0.1.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

parallel_google_adk-0.0.1-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file parallel_google_adk-0.0.1.tar.gz.

File metadata

  • Download URL: parallel_google_adk-0.0.1.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for parallel_google_adk-0.0.1.tar.gz
Algorithm Hash digest
SHA256 43c790ed05b1c823c8ffc081b3373ec3760c93a188ac7d6d511c9b47686d2c71
MD5 a67d55bb59731cef9a90b44292a19057
BLAKE2b-256 9542ad5a4ab6d1c0d52ce9be72d6576ae921539d8a230f14d6a7a942ab9b9d81

See more details on using hashes here.

Provenance

The following attestation bundles were made for parallel_google_adk-0.0.1.tar.gz:

Publisher: publish.yml on parallel-web/parallel-google-adk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file parallel_google_adk-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for parallel_google_adk-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b41bfd1dcb416dc6ccf6d9ffd98d429156e5fd05921099ac4f53a24d6760ba25
MD5 94809888c5ba33ec4d5eb7e094ccfc74
BLAKE2b-256 d4830164e09a39525c4e09b4dfedd89cf4d4115986f9073458a6f42ea94922dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for parallel_google_adk-0.0.1-py3-none-any.whl:

Publisher: publish.yml on parallel-web/parallel-google-adk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page