> ## Documentation Index
> Fetch the complete documentation index at: https://docs.keenable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Google ADK

> Give Google ADK agents Keenable search and fetch over the hosted MCP server.

*Agent framework · MCP*

Give [Google Agent Development Kit](https://adk.dev/) (ADK) agents web search and page fetch by adding the Keenable MCP server as a remote MCP toolset. You don't need an ADK-specific package.

## Install

```bash theme={"system"}
pip install google-adk
```

## Connect the MCP server

Add Keenable to your agent as an `McpToolset`:

```python theme={"system"}
from google.adk.agents import LlmAgent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams

root_agent = LlmAgent(
    model="gemini-2.5-flash",
    name="keenable_research_agent",
    instruction="Search the web with Keenable before you answer. Cite source URLs.",
    tools=[
        McpToolset(
            connection_params=StreamableHTTPConnectionParams(
                url="https://api.keenable.ai/mcp",
                headers={"X-API-Key": "keen_<your_key>"},
            )
        )
    ],
)
```

To run on the public tier, omit the `headers` argument. If your client reads OAuth discovery before it connects, use `https://api.keenable.ai/mcp-public` instead. See [MCP server](https://docs.keenable.ai/mcp-server.md#keyless-endpoint-for-listings-and-presets).

The agent gets the `search_web_pages` and `fetch_page_content` tools. Ask it a question that needs the web. It calls the tools and answers with sources.

> [!NOTE]
>
> Set `KEENABLE_API_KEY` to remove the hourly request cap. If you don't set a key, calls run on the shared public tier at [lower rate limits](https://docs.keenable.ai/rate-limits.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.