* Create bashtool.md
This PR adds the integration documentation for the new ExecuteBashTool in the Python ADK.
Rendered view:
Agent's PR: #1442
Original Issue: #1438
Key additions:
- Documented the tool's core capabilities and experimental status.
- Added security and execution safeguards (User Confirmation, Command Validation, Resource Limits, Disabled Core Dumps, and Process Group Termination).
- Reviewed against ADK integration-create and review guidelines
- Checked against the repository> https://github.com/google/adk-python/blob/ecb759cc16bc870aa190d01c4c3f0e1e3e97afab/src/google/adk/tools/bash_tool.py
Icon PR: #2047
* Update bashtool.md
* Update bashtool.md
* Add files via upload
* Add files via upload
* Add Unstructured Transform MCP integration
* Add pacing helper, env setup, and Gemini key prerequisite from review
* Re-trigger CLA check after signing
* Use the blue Unstructured logo for the integration icon
* Note that the agent can retry a weak parse with the hi_res strategy
* formatting changes
* Adopt nested tab convention, make wait helper async, replace hyphen asides
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add Sprites integration
Adds the Sprites integration page and catalog icon. Sprites (https://sprites.dev)
are persistent, stateful Linux sandboxes from Fly.io with checkpoint/restore,
via the sprites-adk plugin (pip install sprites-adk).
* Refine Sprites page: benefit-forward use cases, precise wording
* Address review: functional heading + runner registration in example
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs(integrations): rename Mimir Memory -> Perseus Vault Memory (supersedes #1877)
* docs(integrations): address review on perseus-vault memory page
- Restore "Use cases" section
- Add intro phrases before Installation and Use-with-agent code blocks
- Point the binary prereq at the Installation section
- Drop the non-existent `cargo install perseus-vault` step
- Remove the "(formerly Mimir/Mneme)" lineage note
- Add trailing newline
* docs(integrations): restore Perseus live context (optional) section
Carry over the optional [perseus] extra / perseus_context_agent section
from the original page, updated to the Perseus Vault names.
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs(integrations): add CarsXE MCP integration
Add CarsXE to the integrations catalog as an MCP server integration.
The hosted CarsXE MCP server (https://mcp.carsxe.com/mcp, streamable
HTTP) exposes vehicle data — VIN specs, plate decoding, market value,
history, recalls, lien/theft, OBD codes, images — as MCP tools wired
into an ADK agent via McpToolset. Includes Python and TypeScript
examples, the full tool list, and an icon asset.
* Update docs/integrations/carsxe.md
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Update docs/integrations/carsxe.md
Co-authored-by: Kristopher Overholt <koverholt@google.com>
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add Perseus Context integration page
Adds docs/integrations/perseus.md (catalog tags: code, mcp) plus the
assets/perseus.svg icon. The page documents adk-perseus-context — an ADK
plugin / before_model_callback that injects a deterministically compiled
Perseus context into the system instruction — and the optional Perseus MCP
server via McpToolset. The integrations catalog auto-renders from the
frontmatter, so no nav changes are needed.
* Update Perseus icon to the matched Mimir/Perseus icon system
Flat SVG: directives (nodes) converging into a single context node
(amber #F5A623 on #161420), matched to Mimir's layered-memory mark.
* Refine page for consistency and correctness
* Fix typo in lychee config
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Update Mimir icon to the matched Mimir/Perseus icon system
Flat SVG: fading memory layers (violet #8B5CF6 on #161420), matched to
Perseus's converging-context mark so the pair reads as one ecosystem.
* Add "mcp" catalog tag to Mimir
Mimir is an MCP (stdio) server, so it belongs under the catalog's MCP
filter — which also surfaces it alongside its companion, Perseus
(tagged code/mcp), as a pair.
* docs(mimir): drop "mcp" catalog tag per review (integration uses BaseMemoryService, not McpToolset)
* docs(integrations): add Latitude observability integration
Add a Latitude integration page under docs/integrations with an
observability catalog tag, a square card logo, and a complete,
runnable ADK example using Latitude's Python telemetry SDK.
* Add evaluation tag, env-var credentials, and clean up copy/links
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs(integrations): add Agent Threat Rules (ATR) guardrail plugin
Adds docs/integrations/atr-guardrail.md (+ icon) for the adk-atr-guardrail
package -- an in-process, deterministic security guardrail that enforces the
open-source Agent Threat Rules ruleset at three fail-closed Runner callbacks
(before_run / before_model / before_tool). Tagged 'resilience'. Created per
maintainer guidance on google/adk-python#6130 to ship as a standalone package
listed in the integrations catalog. Verified locally with mkdocs build.
* Use gemini-flash-latest, switch to the App plugin pattern with ADK >= 2.0, and remove the resilience catalog tag
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add Aerospike integration to ADK catalog
Document adk-aerospike session, memory, and artifact services with tabbed
Python examples, URI configuration, storage layout, and catalog assets.
* Fix adk web CLI flags and minor formatting edits
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs: Document GCS first party toolset
* Update gcs.md for clarity and style considerations
* Update gcs.md
---------
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
* Add context graph section to BigQuery Agent Analytics docs
Added a section on the context graph, detailing its purpose, structure, and operational references for materialization and deployment.
* Add files via upload
---------
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
* Add Redis integration entry
Adds an integration catalog entry for `adk-redis`
(https://github.com/redis-developer/adk-redis), the Python package
that provides Redis-backed ADK integrations:
- RedisVL-backed search tools (vector, hybrid, range, text, SQL),
including native FT.HYBRID on Redis 8.4+
- Session and long-term memory services that implement
BaseSessionService and BaseMemoryService against
Redis Agent Memory Server
- An McpToolset helper for RedisVL's own MCP server (`rvl mcp`),
alongside the existing Agent Memory Server MCP helper
- Self-hosted and managed (Redis LangCache) semantic cache providers
Built and previewed with `mkdocs build --strict`; the page renders at
/integrations/redis/ and appears on the catalog grid.
* Minor fixes to Redis integration page
* Use ADK's native McpToolset for the RedisVL MCP integration
Per maintainer guidance on the PR review thread:
- Replace `create_redisvl_mcp_toolset(...)` (a third-party Python
wrapper that adk-redis shipped briefly but does not ship in the
released 0.0.5) with ADK's native `McpToolset` plus
`StdioConnectionParams` + `StdioServerParameters(command="rvl", ...)`.
Matches the pattern used by every other MCP catalog page
(cartesia, chroma, mongodb, pinecone, qdrant).
- Add a `!!! note` admonition pointing readers to
`/tools-custom/mcp-tools/` if they want to connect to the `rvl mcp`
server from other ADK language SDKs.
- Rename the tab from "MCP toolset" to "RedisVL MCP server" and
prepend a one-paragraph explanation.
- Update the surface table at the top: split the single "MCP toolsets"
row into "RedisVL MCP" (native McpToolset against `rvl mcp`) and
"AMS MCP toolset" (`create_memory_mcp_toolset`).
- Update the "Available tools" table: replace the
`create_redisvl_mcp_toolset(...)` helper row with a description of
the `rvl mcp` server's exposed tools and how to wire `McpToolset`
to them.
Other clean-ups:
- Drop the `pip install 'adk-redis[mcp-search]'` line; the extra was
retired from adk-redis 0.0.5 along with the wrapper. Add a
`pip install 'redisvl[mcp]>=0.18.2'` line for the MCP CLI.
- Switch sample vectorizer to `redis/langcache-embed-v2`, matching
the repo's runnable examples and the rest of the adk-redis docs.
Verified with `mkdocs build --strict` locally. The admonition renders;
the link to `/tools-custom/mcp-tools/` resolves.
* Switch Redis catalog icon to the official Red wordmark SVG
The page previously used the Redis org GitHub avatar PNG (460x460,
cube mark). Swap to `Redis_Logo_Red_RGB.svg` from the official Redis
brand kit (sourced via redis/redis-vl-python), matching the logo used
in the adk-redis README hero. SVG is acceptable for catalog assets
(see goodmem.svg precedent).
Note: this asset is a wordmark (viewBox ~500x156), wider than peer
catalog cards which are mostly square. If it renders awkwardly on the
catalog grid, swap back to a square cube-mark variant.
- Add `docs/integrations/assets/redis.svg`.
- Update `catalog_icon` in `redis.md` frontmatter.
- Drop `docs/integrations/assets/redis.png`.
Verified with `mkdocs build --strict`.
* Formatting and minor edits
* fix: remove AMS MCP toolset mentions per reviewer feedback
Remove create_memory_mcp_toolset() references from the overview table
and MCP tools table. This wrapper was removed from adk-redis in v0.0.6
(redis-developer/adk-redis#13). Users should use ADK's native McpToolset
with SseConnectionParams for Agent Memory Server MCP access.
Resolves comments from @koverholt on lines 29 and 239.
* fix: reorder tabs and table to lead with MCP, fix count to four ways
* feat: add AMS MCP server tab and MCP table entry
Add a separate code tab showing how to connect ADK's native McpToolset
to Agent Memory Server's MCP endpoint over SSE, based on the
fitness_coach_mcp example. Also add a corresponding row to the MCP
reference table. Update overview count to five ways.
* fix: rename AMS MCP to Sessions + Memory MCP server
* feat: split Semantic cache tab into self-hosted and LangCache
Add a separate LangCache tab with accurate code snippet using
LangCacheProvider and LangCacheProviderConfig (cache_id, api_key,
server_url). No local vectorizer needed for the managed service.
* refactor: move semantic caching into its own section
Semantic caching is a cross-cutting optimization rather than a core
integration approach. Move the self-hosted (RedisVL) and managed
(LangCache) cache tabs out of 'Use with agent' into a dedicated
'## Semantic caching' section. Drop the cache row from the overview
table, leaving four core approaches.
* fix: add descriptions to Sessions + Memory and Search tools tabs
* fix: semantic search -> hybrid search in Sessions + Memory description
* docs: link to adk-redis mkdocs site in additional resources
Primary docs link now points to redis-developer.github.io/adk-redis/.
The redis.io integration page is kept as a secondary reference.
* Remove redundant MCP table - does not show tools; make approaches wording future proof
* Readd MCP table with tools and options as before
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add e2a integration
e2a is an authenticated email gateway for AI agents — SPF/DKIM-verified
inbound, optional human-in-the-loop approval before outbound mail
ships. Distributed as an MCP stdio server via npx -y @e2a/mcp-server,
exposing 11 tools for inbox management, threaded replies, and HITL
approval flows.
Source: https://github.com/Mnexa-AI/e2a/tree/main/mcp
npm: https://www.npmjs.com/package/@e2a/mcp-server
* docs(e2a): shorten catalog_description per review feedback
* docs: add integration guide for Agent Identity Auth Manager
* docs: reformat agent-identity.md to match integration guidelines
* docs: update agent-identity.md based on review
* docs: add icon for agent identity integration
* docs: fix icon format for agent identity integration
* Edits to Agent Identity integration page for docs conventions
* Revise agent-identity.md for clarity and updates
Updated the documentation for the Agent Identity Auth Manager to clarify features and improve readability.
* Revise Agent Identity documentation for OAuth flow
Updated the Agent Identity documentation for clarity and added details on OAuth consent flow handling.
* Refactor agent-identity.md for clarity and formatting
Updated formatting and improved clarity in the documentation for the Agent Identity Auth Manager.
* Clarify OAuth consent flow and credential handling
Updated the OAuth consent flow section for clarity and added details on handling the continue URI and credential finalization.
* Refine text for clarity in agent-identity.md
Clarify language and improve readability in the Agent Identity documentation.
* Update Agent Identity auth provider configuration details
Revised instructions for configuring the Agent Identity auth provider and handling user consent flow, including code examples and clarifications.
* add proper spacing
* Updated card title and formatting
* Update agent-identity.md
---------
Co-authored-by: Prashant Patare <prashantpatare@google.com>
Co-authored-by: Kristopher Overholt <koverholt@google.com>
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
* Add Grafana Cloud MCP server integration
Add an integration page for the Grafana Cloud MCP server, which connects
ADK agents to Grafana Cloud observability data (Prometheus, Loki, Tempo,
dashboards, alerts, incidents, and more) via 60+ MCP tools.
Includes Python and TypeScript examples using StreamableHTTP transport
with OAuth 2.1 authorization.
* fix: clarify that users need access to a Grafana Cloud instance, not an account
* Fix docs URLs
* Update docs/integrations/grafana-cloud.md
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs: add Atlan MCP integration page
Adds an integrations catalog entry for the Atlan data catalog MCP
server, covering semantic search, lineage traversal, governance, and
data quality tools. Mirrors the format used by the Atlassian MCP page.
* docs(atlan): expand tool list to match hosted MCP server
Adds tools that the hosted Atlan MCP server (mcp.atlan.com) exposes
but were missing from the table: get_asset_tool, resolve_metadata_tool,
get_groups_tool, search_atlan_docs_tool, manage_announcements_tool,
manage_asset_lifecycle_tool, the custom-metadata set/value tools
(create/delete/add/remove attributes, update/remove values), and the
Atlan tag tools (add/remove). Drops get_assets_by_dsl_tool, which is
not registered on the hosted server. Groups tools by capability for
readability.
* docs: add Markifact MCP integration
Adds the Markifact MCP server (https://api.markifact.com/mcp) as an ADK integration with both Local (mcp-remote OAuth) and Remote (Streamable HTTP + bearer) connection patterns for Python and TypeScript.
* Formatting and edits
* Markifact site is returning an error with our link checker CI
Rejected status code: 429 Too Many Requests (configurable with "accept" option)
* Remove unneeded URL that is also failing link checker
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs(integrations): add Cisco AI Defense integration page
Add documentation for the Cisco AI Defense plugin for Google ADK,
providing runtime LLM and MCP tool inspection with monitor and enforce
modes. Includes logo asset and code examples for both plugin and
callback approaches.
Resolves#1665
Made-with: Cursor
* Formatting and copy edits
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs(integrations): add Database Memory Service
Add a new integration entry for adk-database-memory, a drop-in durable
BaseMemoryService for the Python ADK backed by any async SQLAlchemy
dialect (SQLite, PostgreSQL, MySQL/MariaDB).
Repo: https://github.com/anmolg1997/adk-database-memory
Package: adk-database-memory on PyPI (Apache 2.0)
This fills the gap between InMemoryMemoryService (ephemeral, for dev)
and VertexAiMemoryBankService (managed GCP) for self-hosted durable
memory on the database the user already runs.
* Update formatting and wording
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs: add MLflow AI Gateway model provider page
Adds a model provider page showing how to connect ADK agents to
MLflow AI Gateway via the LiteLlm wrapper with a custom api_base.
* docs: add Create Endpoint screenshot
* docs: move MLflow AI Gateway to integrations section
Per reviewer feedback: move the gateway page from agents/models/ to
integrations/ as a standalone integration page. Rename the existing
MLflow tracing page catalog_title to "MLflow Tracing" to distinguish
the two entries.
* Remove nav entry for integrations
* Additional cleanup / redirects / renames
* Additional edits
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add Adspirer advertising MCP server to integrations
Adds Adspirer, an AI-powered advertising MCP server with 100+ tools
across Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads.
Closes#1558
* Address review feedback: repo link, generic free tier copy, gemini-2.5-pro model
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
Add AgentPhone as the first telephony integration for ADK. AgentPhone
gives agents the ability to make/receive phone calls, send/receive SMS,
manage phone numbers, and create autonomous AI voice agents.
Includes Python and TypeScript examples for both local stdio and remote
HTTP MCP server modes, with all 26 available tools documented.
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Adds the Google Developer Knowledge MCP server.
* Edits for formatting and consistency
* Update StreamableHTTPConnectionParams across integration docs
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs: add A2UI integration page
Add documentation for the A2UI (Agent-to-UI) protocol integration with ADK.
Covers schema manager setup, system prompt generation, validation, streaming,
dynamic catalogs, custom catalogs, multi-agent orchestration, and sample agents.
References the A2UI Python SDK agent development guide.
* refine: simplify A2UI intro, transport-agnostic, add admonition
- Remove A2A-specific framing — A2UI works with A2A, MCP, REST, WebSockets
- Simpler intro: agent outputs JSON, renderer turns it into UI
- Add info admonition linking to a2ui.org
- Remove comparison table (redundant with the intro)
* update: v0.9, gemini-flash-latest, catalog cross-reference
- Update all code examples from v0.8 to v0.9
- Update model from gemini-2.0-flash to gemini-flash-latest
- Add cross-reference in catalog tip to custom catalogs and advanced patterns
* address review: remove hardcoded version, add auto-detect note
Per nan-yu's feedback: schema manager will auto-detect A2UI version
from client requests. Removed hardcoded VERSION_0_9 from examples,
added note explaining auto-detection with explicit override option.
* fix: use official A2UI logo SVG from google/A2UI repo
Replace hallucinated favicon PNG with the real A2UI_dark.svg
from https://github.com/google/A2UI/blob/main/docs/assets/A2UI_dark.svg
* Add Temporal plugin to integrations
* Feedback
* Fix up package inclusions and address other feedback
* Rename plugin
* Add summaries to Agents for better display in Temporal UI
* more realistic sample, consolidate into one sample, minor fixups
* Tim feedback
* Code sample and formatting fixes
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add Supermetrics MCP integration
Adds docs/integrations/supermetrics.md with Python and TypeScript code
examples for connecting ADK agents to the Supermetrics remote MCP server,
plus the Supermetrics logo asset.
* Update Supermetrics integration docs and logo
- Update platform count from 50+ to 100+ sources
- Improve catalog description to mention more platforms
- Add get_today step to query workflow note
- Remove redundant API key format note
- Update logo image
* Fix Python and TypeScript MCP code examples
- Replace deprecated StreamableHTTPServerParams alias with StreamableHTTPConnectionParams
- Simplify Python import to use public mcp_tool package export
- Replace deprecated TypeScript header field with transportOptions.requestInit.headers