Skip to main content
Glama
README.md
# Agentic MCP Chatbot

An agentic chatbot built with FastMCP, LangGraph, and LangChain. The agent autonomously decides which tools to use based on user queries — no hardcoded routing.

## Tech Stack

- **Python 3.11+** with UV package manager
- **FastMCP** — MCP server with 6 external tools
- **LangGraph + LangChain** — Agentic workflow with tool calling
- **Groq** — LLM provider
- **Streamlit** — Chat UI
- **SQLite** — Persistent conversation memory

## Setup

1. Install [UV](https://docs.astral.sh/uv/):
   ```bash
   curl -LsSf https://astral.sh/uv/install.sh | sh
   ```

2. Install dependencies:
   ```bash
   uv sync
   ```

3. Configure environment:
   ```bash
   cp .env.example .env
   # Edit .env with your API keys
   ```

4. Start the chatbot UI:
   ```bash
   uv run streamlit run src/frontend/app.py
   ```

## Available Tools

| Tool | API | Description |
|---|---|---|
| Weather | Open-Meteo | Current weather for any location |
| Wikipedia | Wikipedia | Search and summarize articles |
| ArXiv | ArXiv | Search academic papers |
| DuckDuckGo | DuckDuckGo | General web search |
| Location | OpenStreetMap | Geocoding and location search |
| Currency | ExchangeRate/ECB | Currency conversion rates |

## Project Status

🚧 Backend and Streamlit UI are implemented — see `docs/PROGRESS.md` for current status.