Quirox-Telegram-Bot
The Quirox Telegram Bot Backend is designed to provide backend services for interacting with tools like Google Sheets and conducting web searches using an AI agent. Built on the Model Context Protocol, it integrates with a FastAPI web server to facilitate these interactions effectively.
Quirox Telegram Bot Backend
This project provides the backend services for the Quirox Telegram Bot, featuring an AI agent capable of interacting with various tools like Google Sheets and web search via DuckDuckGo. The backend uses the Model Context Protocol (MCP) to manage communication between the AI model (Google Gemini) and the available tools and is exposed via a FastAPI web server.
Features
- AI Agent: Uses Google Gemini for reasoning and task execution.
- Tool Integration:
- Google Sheets: Create, read/write data, manage sheets, and share.
- Web Search: Uses DuckDuckGo for web searches.
- Web Content Fetching: Fetches and parses text from URLs.
- (Experimental/Disabled) Gmail Integration.
- MCP Framework: Runs the MCP server, exposing tools to the AI model.
- FastAPI Interface: Provides a
/chat
endpoint for interacting with the AI agent via HTTP requests.
Project Structure
Various files and directories structure the project, including README.md
, .env
for environment variables, requirements.txt
for dependencies, and several Python scripts for handling API integrations and AI interactions.
Setup
Prerequisites
- Python 3.8+
- Access to Google Cloud for Sheets/Drive API
- Google Gemini API Key
Clone the Repository
Commands are provided to clone and navigate the repository.
Install Dependencies
A command to install dependencies via requirements.txt
is included.
Environment Variables
Steps to create and configure a .env
file with necessary variables are outlined.
Google Cloud Setup
Instructions provided for setting up Service Account and OAuth 2.0 for Google Cloud authentication.
Usage
Instructions to run the MCP Server and FastAPI Application and how to interact via API with example curl
requests.
Key Modules
Descriptions of key Python modules for handling configurations, web search and content fetching, Google Sheets, and (disabled) Gmail integration.
Dependencies
Lists key dependencies like fastapi
, uvicorn
, google-api-python-client
, and more; full list available in requirements.txt
.