Update the Redis integration page for adk-redis 0.0.7 selectable memory
backends. Sessions and memory now run on either managed Redis Agent Memory
(the default) or the self-hosted Agent Memory Server, chosen with a
`backend` field.
- Intro, approaches table, and prerequisites now describe both backends.
- Sessions + Memory example uses the managed backend with api_key/store_id,
plus a note on switching to opensource-agent-memory.
- New Memory tools tab covering the SDK BaseTool memory classes.
- Services table and resource links clarified per backend.
* 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)
* wip: temporary staging
* Consolidate Google Cloud and Agent Platform connection info
* remove gcp-mentions file
* adding links to central GCP connection page
* minor updates
* responded to review comments
* 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 MLflow scorers integration page
Adds a new integration page at docs/integrations/mlflow-scorers.md
covering MLflow's five Google ADK scorers (ToolTrajectory, ResponseMatch,
ResponseEvaluation, Safety, Hallucination) for agent evaluation. The
integration wraps ADK's TrajectoryEvaluator, RougeEvaluator,
FinalResponseMatchV2Evaluator, SafetyEvaluatorV1, and HallucinationsV1Evaluator
behind MLflow's scorer interface, so ADK users can evaluate agents inside
mlflow.genai.evaluate() runs without leaving the ADK ecosystem.
Complements the existing MLflow Tracing and MLflow AI Gateway integration
pages by covering evaluation, the third leg of the MLflow stack for ADK.
Signed-off-by: debu-sinha <debusinha2009@gmail.com>
* Trigger CLA re-check
Signed-off-by: debu-sinha <debusinha2009@gmail.com>
* Use version-agnostic Gemini aliases and refine copy
* Update category tags for other pages
---------
Signed-off-by: debu-sinha <debusinha2009@gmail.com>
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>
* Enhance BigQuery Agent Analytics with reliability fixes
Added reliability and observability fixes for BigQuery Agent Analytics, including cross-region storage write routing, dropped-event tracking, and improved span management in Cloud Trace.
* Fix markdown formatting in BQAA doc
Resolve the code-fence/content-tab indentation issues flagged in review:
- Full example: restore the === "Python" content tab and indent the whole
Python code block uniformly to 8 spaces so it is a proper sibling of the
=== "Java" tab (previously the block was half-de-indented with an orphaned
opening fence next to a lone Java tab).
- Public methods: move the Python list inside the === "Python" tab (it had
been pasted at column 0, outside the tab) and remove the duplicated list
that ended up wrongly nested under the "Async context manager" bullet.
* Revise BigQuery Agent Analytics documentation
Updated version requirements and added details about ADK 2.0 multi-agent workflow features and event types. Enhanced descriptions for internal span tracking and storage behavior.
* 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>
* docs(integrations): refresh e2a — hosted endpoint + 7 missing tools
The e2a integration page has drifted from what the e2a MCP server
actually ships. Two gaps this PR closes:
1. **Hosted endpoint not documented.** e2a runs a hosted Streamable
HTTP MCP at https://mcp.e2a.dev/mcp that accepts an API key in
the Authorization header. The page currently only shows the
stdio path (npx -y @e2a/mcp-server), which doesn't work for ADK
agents deployed to Cloud Run since Cloud Run can't host stdio
MCP child processes. Adds a "Hosted MCP Server" tab to both the
Python and TypeScript code examples using
StreamableHTTPConnectionParams.
2. **7 tools missing from the table.** The MCP server now registers
18 tools but the page lists 11. Adds:
Identity: update_agent, delete_agent
Messages: get_attachment_data
Domains: list_domains, register_domain, verify_domain,
delete_domain (new section)
Also clarifies a few descriptions:
- `whoami` notes E2A_AGENT_EMAIL is only required for multi-agent
accounts (the hosted endpoint auto-resolves the sole agent at
session init).
- `delete_agent` and `delete_domain` flag the `confirm: true`
required arg.
- `get_attachment_data` uses 0-based `attachment_index`, not an
attachment ID.
- `E2A_BASE_URL` clarifies the var has no effect when connecting
to the public hosted endpoint.
Cross-linked the cloud-mode webhook example (already shipped in
the e2a repo, not previously referenced from this page) and the
hosted endpoint URL under Additional resources.
No frontmatter / catalog metadata changes — title, description,
icon, and tags (`["mcp"]`) all unchanged.
* fix: import McpToolset from deep path (google-adk 2.0 compat)
google-adk 2.0 stopped re-exporting McpToolset from
`google.adk.tools.mcp_tool`'s package __init__ — only the deep path
`google.adk.tools.mcp_tool.mcp_toolset.McpToolset` still works.
Caught when I actually ran the example against a fresh
google-adk 2.0 install:
ImportError: cannot import name 'McpToolset' from
'google.adk.tools.mcp_tool'
($VENV/site-packages/google/adk/tools/mcp_tool/__init__.py)
Applies to both the stdio code block and the new hosted code block.
StdioConnectionParams and StreamableHTTPConnectionParams already use
deep paths and continue to work — only McpToolset was broken.
* Revert McpToolset import to standard path
The claim that google-adk 2.0 stopped re-exporting McpToolset from
google.adk.tools.mcp_tool is incorrect. The __init__.py at
src/google/adk/tools/mcp_tool/__init__.py explicitly re-exports
McpToolset (and MCPToolset) via `from .mcp_toolset import McpToolset`.
It has done so in every release, including v2.0.0.
* Rename tab to Remote MCP server for consistency with all other integration pages
* Remove link to raw MCP endpoint
* Match API key variable / format with all other integration pages
* Formatting and consistency edits
---------
Co-authored-by: Kristopher Overholt <koverholt@google.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 Kotlin to hero / front page
* Add quickstart page for Kotlin
* Complete Kotlin quickstart guide and fix hero code sample (#2)
* Replace GitHub repo links with language icons in header (#3)
* Fix header icon FOUC and homepage font weight regression (#4)
* Testing staging pipeline
* Revert test edit (for staging pipeline)
* Update language icon tooltips to indicate GitHub destination (#5)
* Add link to ADK Kotlin release notes (#7)
* Initial commit of ADK Kotlin API reference docs (#6)
* Add script to generate ADK Kotlin API reference docs (#8)
* Update links and link checker ignore list (temporarily) (#9)
* Add ADK Kotlin for Android getting started guide to Advanced setup page (#10)
* Add advanced setup page with steps to "Use ADK Kotlin in Android projects"
* Update temp link checker rules
* Add placeholder folder for adk-samples (#13)
* adding linter/compilation checks for kotlin snippets (#12)
* adding linter/compilation checks for kotlin snippets
* Add Kotlin validation scripts
* Initial commit of Kotlin sample agents for adk-samples (#15)
* Adding kotlin snippet for llm agents (#16)
* Adding kotlin snippets to Events (#17)
* Pull changes to docs/events/index.md from glaforge-kotlin-snippets
* fixing kotlin event timestamp and longRunningToolIds
* Fix language tags (#19)
* Fix language tags
* Update
* Fix wrapping
* Fix wrapping (again)
* Fix wrapping/format
* Fix language tag on integration page
* Enable check_paths in PyMdown Snippets Extension to make the build fail if a snippet can't be found (#20)
* Update mkdocs config (#21)
* Fix broken links, update URLs to adk.dev, and improve (temp) lychee config (#22)
* Add Kotlin/maven badge to README (#23)
* Adding Kotlin snippets for artifacts (#18)
* Pull Kotlin snippets for artifacts from glaforge-kotlin-snippets
* Add comprehensive Kotlin snippets for artifacts
* Refactor artifacts documentation to use external Kotlin snippets
* Update Kotlin model to gemini-flash-latest
* Fix GCS initialization in Kotlin artifact snippet
* afixi failing test with capital-agent added to files_to_check
* Fix snippet label syntax for MkDocs build
* Configure proper Gradle project for Kotlin snippets and fix dependencies
* Add KSP support and generated sources to Kotlin snippets build
* fixing capital_agent turnComplete
* Fix syntax error in build.gradle.kts by removing invalid placeholders (#25)
* Adding Kotlin snippets to google-gemini.md (#27)
Pulling kotlin changes to google-gemini.md from glaforge-kotlin-snippets
* Add a warning about not adding an api key to production code. (#28)
* Add a warning about not adding an api key to production code.
* Update note
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add ADK Demo App sample showcasing Gemini-powered agents (#29)
This sample demonstrates how to use the Google ADK (Agent Development Kit) in an Android application to create a chat interface powered by a Gemini-based "Fun Facts" agent. The implementation features:
* Integration with the Kotlin ADK core and processor libraries.
* A `FunFactsAgent` defined using `LlmAgent` and the Gemini model.
* A `ChatViewModel` utilizing `InMemoryRunner` for asynchronous message streaming.
* A modern UI built with Jetpack Compose and Material 3.
* Build configuration logic for secure API key management via environment variables or `local.properties`.
* Update Kotlin docs and samples to align with adk-kotlin API changes (#30)
Rename GeminiModel to Gemini, @AdkTool/@AdkParam to @Tool/@Param,
adkTools() to generatedTools(), replace DebugRunner with InMemoryRunner,
fix AgentLoader import path, use SingleAgentLoader, bump Kotlin to
2.3.21 and KSP to 2.3.7, and update Android minSdk from 24 to 26.
* adding kotlin info to READMEs (#14)
* Reorganize Android sample agent and add READMEs (#31)
* Move Android sample agent
* Update repo README, add Android README, update sample agent README
* Minor edit to language support tags (#32)
* Remove blog post link (#33)
Will re-add after it's published
* Remove examples link (#34)
* Adding Kotlin snippets for Sessions docs (#26)
* initial kotlins snippets additions to sessions docs
* Updating memory docs with kotlin snippets
* Adding kotlin snippets to session state docs.
* update model to gemini-flash-latest
* sessions examples clean-up
* fixing sessions snippet markers
* adding kotlin session snippets to files to test
* adding callback to memory_example
* Fixing capital agent snippet (#35)
Fixing file name
Updating adkTool > Tool
Updating GeminiModel > Gemini
* Adding kotlin snippets for tools docs (#36)
* adding function tool kotlin snippets
* adding function_tools snippets to files to test
* Adding kotlin snippets to observability docs (#37)
* initial kotlin observability updates
* adding observability snippets to file check (#38)
* Adding Kotlin snippets to Callbacks docs (#39)
* kotlin callbacks snippets
* adding callbacks snippets to file check
* Align Kotlin and KSP versions with published 0.1.0 artifacts (#40)
* switch CLI entry points from InMemoryRunner to ReplRunner (#41)
* Switch CLI entry points from InMemoryRunner to ReplRunner
* Fix wording
* Update API reference docs for Kotlin, 2026-05-18 (#42)
* Remove ADK on Android note until published (#43)
* Update Kotlin code samples (#44)
* Rename GeminiModel to Gemini in Kotlin snippets and docs
* Remove broken SessionKey call and use sessionId directly in AgentTool snippet
* Rewrite Go hero snippet to use llmagent API
* Use isFinalResponse with safe access in CapitalAgent snippet
* Use Role.USER constant instead of raw string in SetupExample
* Use full semver v0.1.0 in Kotlin language support tags
* Remove Android setup steps, moving to new property (#45)
* Tutorial Kotlin agent (#46)
* Adding multi-tool-agent snippet and updating tutorial
* Fixing Go language order on tutorial page
* adding multi tool agent example to files to test
* Inline Kotlin get-started code sample
* Kotlin Multi agents snippets (#47)
* Multi-agent kotlin snippets
* Fixing docs tags in multiagent example
* Fix Kotlin language support tags, code samples, and google-gemini.md cleanup (#48)
* Add Kotlin v0.1.0 to language support tags across docs
* Fix MultiToolAgent.kt model string and argument style
* Update MultiAgentExample.kt to use gemini-flash-latest model string
* Fix google-gemini.md: add Kotlin sample, remove unsupported Java tabs
* Remove explicit apiKey from CallbackBasic.kt for consistency
* Standardize Gemini() constructor to use named args in all snippets
* Remove adk-samples directory (moved to google/adk-samples#1969)
* Remove adk-samples directory (moved to google/adk-samples#1969) (#49)
* Update API reference docs for ADK Kotlin 0.1.0 (#50)
* Remove adk-samples directory (moved to google/adk-samples#1969)
* Update API reference docs for ADK Kotlin 0.1.0
* Remove kotlin lycheeignore config (#51)
* Remove adk-samples directory (moved to google/adk-samples#1969)
* Remove Kotlin .lycheeignore config links
---------
Co-authored-by: Toni Klopfenstein <2359976+ToniCorinne@users.noreply.github.com>
Co-authored-by: Jolanda Verhoef <JolandaVerhoef@users.noreply.github.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
* add agent-identity integration page link
* Refactor authentication documentation for clarity
Removed redundant information about OAuth tokens and streamlined the text regarding the Agent Identity Authentication Manager.
* test commit
* Enhance documentation with OAuth resource links
Added additional OAuth authentication resources for Google Cloud Agent Identity.
* remove extra new line
* Update authentication.md
---------
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
* 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(atlan): add Atlan integration page with updated copy and full tool list
Adds the Atlan MCP integration page for ADK. Positions Atlan as
the context layer for enterprise AI (not a data catalog), matching
the copy used in the VS Code and Cursor IDE extensions. Includes
the complete set of 28 tools exposed by the hosted MCP server,
organized by capability.
* Formatting edits
* Formatting in use case bullets
---------
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.
Documents mode="search_and_execute" shipped in stackone-adk 0.2.0 on the
StackOne integration page. Adds a new section between "Use with agent" and
"Available tools" with rationale (token overhead, payload limits, selection
accuracy), a runnable Python code sample, and an explanation of the
tool_search/tool_execute flow. Adds four rows to the Plugin parameters
table for mode, search, execute, and timeout.
Code sample verified end-to-end against a real StackOne account on
gemini-flash-latest.
* 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>