This project implements an intelligent Python agent focused on research assistance. It is capable of searching and retrieving scientific papers from arXiv.
- Arxiv MCP integration: Incorporates a Model Context Protocol (MCP) tool for searching and retrieving scientific papers from arXiv, enabling the agent to answer research-related queries.
- Extensible agent: Based on Google ADK, you can easily add new tools or models.
- Modular code: Main functions are in
multi_tool_agent/agent.py.
multi_tool_agent/agent.py: Contains the main functions and agent definition.multi_tool_agent/__init__.py: Initializes the module.
- Python 3.11+
- uv (required for fast and reliable dependency management)
- Ollama (required to run the local LLM)
- Ollama model:
qwen3:8b(must be pulled withollama pull qwen3:8b) - Packages:
httpx,geopy,google-adk(and ADK dependencies)
- Install uv if you don't have it:
pip install uv
- Install project dependencies using uv:
uv pip install -r requirements.txt # or, for a quick setup: uv pip install httpx geopy google-adk - (Optional) Set up your virtual environment.
- Install Ollama and pull the required model:
# Install Ollama (see https://ollama.com/download) ollama pull qwen3:8b
To ensure all dependencies are up to date and properly installed, run:
uv syncCreate a .env file in the project root to store environment variables. Example:
# Example .env file
# Set your Google API key if required by google-adk or other services
GOOGLE_API_KEY=your_google_api_key_here
# Ollama API base URL (required if using Ollama locally)
OLLAMA_API_BASE="http://localhost:11434"
# Set other environment variables as needed by your project- If you use Ollama locally, make sure to set
OLLAMA_API_BASEas shown above. - If you use any API keys or secrets, add them here and never commit your
.envfile to version control. - The project will automatically load variables from
.envif you use packages likepython-dotenv.
- Ollama and the
qwen3:8bmodel must be running locally for the agent to work. - If the city is not found or the API does not respond, a friendly error message is returned.
- If you need to use API keys, set them in the
.envfile as shown above. - To run the project, execute:
from the root folder. This will start the ADK web server for your agent.
adk web
MIT
Author: emi-dm