Google ADK McpToolset: checking two structured document fixtures before adding a Runner #7104
ashevilleislove
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Disclosure: I maintain Ardaro. This example and write-up were prepared with AI assistance; the results below come from an executed, bounded Python test.
I wanted to check the shape of a remote MCP tool result before adding an ADK Runner or asking a model to interpret a construction document. Here is a small reproducible check using ADK's native
McpToolsetandMcpTool.run_async.The endpoint has two fixed, synthetic document fixtures. They take
{}and require no account, wallet or payment. The receipt fixture illustrates text normalization, line items and arithmetic; the invoice fixture compares supplied invoice lines against purchase-order metadata. These are example responses, not an upload or OCR service.Tested with Python 3.11.0,
google-adk==2.9.0,mcp==1.30.0,httpx==0.28.1andpydantic==2.13.5:What the run established:
tool_filter.structuredContent,synthetic_only: trueandreview_required.One connection detail: ADK 2.9.0 defaults to attempting client-certificate setup. My first bounded run blocked its separate Google credential-discovery HTTP attempt; ADK fell back and the fixture calls still passed. For this public endpoint I then explicitly set
GOOGLE_API_USE_CLIENT_CERTIFICATE=falsein this example process and reran successfully without that discovery warning. Do not copy that setting to an endpoint that requires a client certificate. ADK still emitted experimental-feature warnings for its authentication and graceful-error-handling paths.tool_filterselects which tools the toolset exposes; it is not a general spending or network firewall. The audit wrapper for this run separately allowed only this endpoint, the MCP handshake and one empty-argument call to each fixture, rejecting payment/authorization headers and other HTTP clients.This does not test an ADK Runner, model reasoning, authenticated sessions, arbitrary documents or paid tools. The examples remain advisory: matching supplied fields does not establish delivery, approve payment or write to accounting.
ADK MCP documentation · Fixed fixture evidence
If you validate MCP outputs before handing them to an ADK agent, I would be interested in which result-schema checks you keep at that boundary.
All reactions