Skip to main content
Shows that get_tools() composes cleanly across providers: no name collisions, each source stays in its own namespace. Also shows the lifecycle story: only the web provider needs asetup/aclose (its MCP session), and the caller brackets just that one.
multi_provider.py

Run the Example

1

Set up your virtual environment

2

Install dependencies

3

Export your OpenAI API key

4

Clone Agno

Clone the repository and run the remaining commands from its root:
5

Run the example

Run the example from the repository root:
Full source: cookbook/12_context/08_multi_provider.py