Soham-bakshi/MCP-Server
If you are the rightful owner of MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Tax Alert Chatbot is an interactive Streamlit-based application that connects to a custom MCP server, allowing users to manage tax alerts stored in a local SQLite database.
query
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
π 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
Layer | Tools / Frameworks |
---|---|
Frontend | Streamlit, LangGraph, LangChain |
Backend | FastMCP, SQLite |
LLM Provider | Google Gemini 1.5 Flash / Pro (via LangChain) |
Transport | SSE (Server-Sent Events) or STDIO |
Runtime | Python 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 Name | Description |
---|---|
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.