Skip to main content
Glama

Tax Alert Chatbot MCP Server

by Soham-bakshi

📊 Tax Alert Chatbot (MCP-Powered)

An interactive Streamlit-based chatbot that connects to a custom MCP (Model Context Protocol) server. It allows users to query, insert, update, and delete tax alerts stored in a local SQLite database. The app uses LangGraph’s REACT agent framework with Google Gemini models and supports both SSE and STDIO transport modes.


📁 Project Structure

. ├── client.py # Frontend Streamlit Chat UI ├── server.py # MCP tool & Backend FastMCP SQLite server ├── dummy_tax_alerts.db # SQLite database (if present) ├── .env # Environment variables ├──.venv # virtual environment └── README.md # Documentation

🚀 Features

  • 🤖 Conversational interface with Google Gemini 1.5 models
  • 🧠 REACT-style reasoning agent via LangGraph
  • 🛠️ Tool execution via MCP server
  • 📄 Query, insert, update, and delete operations on tax alert data
  • 🔄 Real-time responses using SSE or STDIO

🛠️ Tech Stack

LayerTools / Frameworks
FrontendStreamlit, LangGraph, LangChain
BackendFastMCP, SQLite
LLM ProviderGoogle Gemini 1.5 Flash / Pro (via LangChain)
TransportSSE (Server-Sent Events) or STDIO
RuntimePython 3.10+, venv, python-dotenv

⚙️ Setup Instructions

1. Clone the Repository

git clone https://github.com/your-repo/tax-alert-chatbot.git cd tax-alert-chatbot

2. Create and Activate Virtual Environment

python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate

3. Install Dependencies

pip install -r requirements.txt (Optional: Split into client/requirements.txt and server/requirements.txt if needed.)

4. Configure Environment Variables

Create a .env file in the root folder:

GOOGLE_API_KEY=your_google_api_key ALERTS_DB=dummy_tax_alerts.db

🗃️ SQLite Schema

CREATE TABLE tax_alerts ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, date TEXT, jurisdiction TEXT, topics TEXT, summary TEXT, full_text TEXT, source_url TEXT, tags TEXT, created_at TIMESTAMP, updated_at TIMESTAMP );

🔧 MCP Server Tools

Tool NameDescription
query(sql)Run SELECT queries on the tax_alerts table
insert(...)Insert a new tax alert into the database
update(...)Update existing tax alerts based on a condition
delete(...)Delete tax alerts using WHERE conditions
schema_info()Return schema and column info of the table

▶️ Running the Server

python server.py

or

python server.py --transport stdio

Make sure your .env contains a valid path to dummy_tax_alerts.db.

💬 Running the Client (Chat UI)

streamlit run client.py

It will automatically open streamlit localhost:8501 in your browser.

⚙️ Configuration (via Sidebar) Gemini Model: Choose between gemini-1.5-flash or gemini-1.5-pro

Server Mode: Only single server supported

Server Type: SSE or STDIO

Server URL: Required only for SSE mode

Clear Chat / Show Tool Executions: Debug & reset tools

🧪 Sample Interaction

User Input:

"Show me tax alerts from 2024 in California"

Agent Response (Tool Call):

SELECT * FROM tax_alerts WHERE jurisdiction='California' AND date LIKE '2024%'

🧼 Debugging & Notes MCP server must be running before starting the client.

Full traceback is shown in the client if errors occur.

Ensure correct database path in .env.

-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

A server that powers an interactive chatbot for querying and managing tax alerts in a SQLite database using Google Gemini models and LangGraph's REACT agent framework.

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    A powerful server that enables AI agents to interact with MySQL databases, execute SQL queries, and manage database content through a simple interface.
    Last updated -
    25
    4
    JavaScript
    • Apple
  • -
    security
    A
    license
    -
    quality
    A streaming chat agent that integrates Google ADK with Model Context Protocol and Google Maps tools, enabling users to interact with location-based services through a conversational interface.
    Last updated -
    Python
    MIT License
  • -
    security
    A
    license
    -
    quality
    A lightweight server that uses ChatGPT to qualify leads using the BANT framework (Budget, Authority, Need, Timeline) through a conversational question-by-question approach.
    Last updated -
    2
    JavaScript
    MIT License
  • -
    security
    F
    license
    -
    quality
    A tool service that enables AI agents to interact with MySQL databases through natural language, supporting SQL queries, table structure retrieval, and connection testing.
    Last updated -
    35
    5
    JavaScript
    • Linux
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Soham-bakshi/MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server