Prerequisites
X-Client-Source: google-adk header, and the SDK example sets the Nimble client’s client_source to google-adk, so requests are attributed to this integration.
Quick Start
Connect an ADK agent to the Nimble MCP server usingMcpToolset with StreamableHTTPConnectionParams. ADK auto-discovers all available Nimble tools: search, extraction, mapping, crawling, Extract Templates, and Web Search Agents.
Python
Run the Agent
Python
Filter Tools
By default, ADK discovers all Nimble MCP tools. Usetool_filter to expose only the tools the agent needs:
Python
Agent API V2: autonomous research tool
The hosted MCP tools above (nimble_search, nimble_extract, nimble_map, nimble_crawl_run, and nimble_extract_templates_run) are synchronous and single-shot. One call returns data directly, and the ADK model does the reasoning.
Agent API V2 is different. It exposes an asynchronous research agent that plans, searches across many sources, and returns a synthesized answer with a per-claim trust report. The lifecycle is create a run → poll to a terminal state → retrieve the result.
The Nimble MCP server exposes Agent API V2 too (creating a run, polling its status, and fetching the result), so an MCP-connected ADK agent can call these tools directly. Because a V2 run is asynchronous, you can also wrap the Nimble SDK lifecycle in a single Python function. The model then calls one synchronous “deep research” tool, and the create-poll-retrieve loop stays in your code. Register it as an ADK callable tool alongside the MCP toolset shown above.
1. Wrap the run lifecycle
This helper uses a stableagent_name, so every call — from this process or any other — reuses the same agent and its memory instead of spinning up a fresh one each time. It creates the run, polls until terminal, handles failed and cancelled runs, and returns the answer plus its trust and citation metadata. Errors return a safe message, so no API key or raw exception is surfaced.
Python
2. Register it as an ADK tool
Pass the function straight intoLlmAgent. ADK auto-wraps it as a FunctionTool, reading the signature and docstring for the schema. The model calls one tool; the async run loop stays hidden.
Python
Runner setup shown in the Quick Start. The tool returns the synthesized answer, an overall confidence grade (high, medium, or low), and the source URLs behind it, so the model can weigh how much to trust each claim. See Trust for the full report structure.
Available Tools
ADK auto-discovers these tools from the Nimble MCP server:Next Steps
Nimble MCP Server
Full MCP server setup for Cursor, Claude Desktop, and other clients
Web Search Agent
Agent API V2: autonomous research runs with per-claim trust
OpenAI
Use Nimble with OpenAI function calling and the Agents SDK
Anthropic
Use Nimble with Claude’s tool-use API and Tool Runner