Expense_Tracker_MCP
by satyam0singh
README.md
<div align="center">
<img src="https://capsule-render.vercel.app/api?type=waving&color=0:0d1117,50:161b22,100:0f172a&height=220§ion=header&text=Expense%20Tracker%20MCP%20Server&fontSize=38&fontAlign=50&fontAlignY=36&animation=twinkling&desc=Production-Grade%20Financial%20Intelligence%20for%20AI%20Agents&descFontSize=16&descAlign=50&descAlignY=62" width="100%" alt="Header Banner" />
<a href="https://git.io/typing-svg">
<img src="https://readme-typing-svg.demolab.com?font=Fira+Code&weight=600&size=22&pause=1000&color=38BDF8¢er=true&vCenter=true&width=700&lines=Empowering+AI+Agents+With+Financial+Intelligence;Fully+Async+Python+3.12+%7C+PostgreSQL+%7C+FastMCP;Seamless+Integration+with+Claude%2C+Cursor+%26+Gemini;Automated+Budgeting%2C+Credit+Cards+%26+PDF%2FExcel+Reports" alt="Typing SVG" />
</a>
<p align="center">
<b>A enterprise-grade Model Context Protocol (MCP) server built with FastMCP, PostgreSQL 16, SQLAlchemy 2.0, Alembic, and Pydantic v2.</b><br>
Enables Claude Desktop, Gemini CLI, Cursor, and LLM agents to securely track expenses, enforce budgets, manage credit cards, and generate executive financial reports via natural language.
</p>
<p align="center">
<a href="#-overview"><strong>Explore Overview »</strong></a> •
<a href="#-available-mcp-tools"><strong>View MCP Tools »</strong></a> •
<a href="#-claude-desktop-configuration"><strong>Setup Guide »</strong></a>
</p>
<!-- BADGES -->
<p align="center">
<a href="https://github.com/satyam0singh/Expense_Tracker_MCP/stargazers">
<img src="https://img.shields.io/github/stars/satyam0singh/Expense_Tracker_MCP?style=for-the-badge&logo=github&color=7c3aed&logoColor=white" alt="Stars" />
</a>
<a href="https://github.com/satyam0singh/Expense_Tracker_MCP/network/members">
<img src="https://img.shields.io/github/forks/satyam0singh/Expense_Tracker_MCP?style=for-the-badge&logo=github&color=3b82f6&logoColor=white" alt="Forks" />
</a>
<a href="https://github.com/satyam0singh/Expense_Tracker_MCP/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/satyam0singh/Expense_Tracker_MCP?style=for-the-badge&color=10b981&logoColor=white" alt="License" />
</a>
<a href="https://www.python.org/">
<img src="https://img.shields.io/badge/Python-3.12%2B-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python" />
</a>
<a href="https://www.postgresql.org/">
<img src="https://img.shields.io/badge/PostgreSQL-16.0-4169E1?style=for-the-badge&logo=postgresql&logoColor=white" alt="PostgreSQL" />
</a>
<a href="https://github.com/jlowin/fastmcp">
<img src="https://img.shields.io/badge/FastMCP-0.4%2B-000000?style=for-the-badge&logo=fastapi&logoColor=white" alt="FastMCP" />
</a>
<a href="https://www.docker.com/">
<img src="https://img.shields.io/badge/Docker-Containerized-2496ED?style=for-the-badge&logo=docker&logoColor=white" alt="Docker" />
</a>
<a href="https://github.com/satyam0singh/Expense_Tracker_MCP/commits/main">
<img src="https://img.shields.io/github/last-commit/satyam0singh/Expense_Tracker_MCP?style=for-the-badge&color=f59e0b&logoColor=white" alt="Last Commit" />
</a>
<a href="https://github.com/satyam0singh/Expense_Tracker_MCP">
<img src="https://komarev.com/ghpvc/?username=satyam0singh-expense-tracker-mcp&color=f59e0b&style=for-the-badge&label=VISITORS" alt="Visitors" />
</a>
</p>
</div>
---
## 🌟 Overview
Expense Tracker MCP Server bridges the gap between **Large Language Models (LLMs)** and **Personal Financial Intelligence**. Traditional finance tools force users to perform manual data entry across complex tabular interfaces. By introducing a standardized **Model Context Protocol (MCP)** backend, AI assistants can converse with your local database to manage transactions, monitor budgets, and audit financial health autonomously.
> [!IMPORTANT]
> **Why MCP?**
> Standard APIs require custom LLM integrations and continuous maintenance. MCP provides an open, universal standard connecting AI applications to data sources securely, preserving local privacy without third-party SaaS cloud lock-in.
### 💡 Core Value Drivers
* 🧠 **Natural Language Accounting**: Simply say *"I spent $45 on groceries today"* and let the AI extract merchants, categories, amounts, and dates with full validation.
* 🛡️ **Zero Cloud Leakage & Isolation**: All transactions are stored locally or in your private PostgreSQL instance. Multi-tenant UUID isolation keeps user records compartmentalized.
* 📊 **Proactive Financial Intelligence**: Beyond storage, the server empowers AI clients to run spending trend analyses, calculate category distribution metrics, and flag budget overruns dynamically.
* 📑 **Executive Exports**: Instant generation of production-ready CSV, Excel spreadsheets, and formatted PDF reports straight from chat windows.
---
## 🏛️ System Architecture
Built from the ground up using clean **Layered & Repository Architecture** patterns to enforce strict separation of concerns, complete testability, and asynchronous performance.
```mermaid
graph TD
%% Styling Definitions
classDef client fill:#1e293b,stroke:#38bdf8,stroke-width:2px,color:#f8fafc;
classDef mcp fill:#0f172a,stroke:#818cf8,stroke-width:2px,color:#f8fafc;
classDef service fill:#1e1b4b,stroke:#c084fc,stroke-width:2px,color:#f8fafc;
classDef repo fill:#111827,stroke:#34d399,stroke-width:2px,color:#f8fafc;
classDef db fill:#064e3b,stroke:#10b981,stroke-width:2px,color:#f8fafc;
subgraph LLM_Clients[" Client Integration Layer "]
Claude[" 🤖 Claude Desktop Client "]:::client
Cursor[" 💻 Cursor IDE / VS Code "]:::client
Gemini[" 🚀 Gemini CLI / Custom Agent "]:::client
end
subgraph MCP_Server[" Model Context Protocol (FastMCP) "]
ToolRegistry[" ⚡ Tools Layer (17 Endpoint Handlers) "]:::mcp
Schemas[" 🛡️ Pydantic v2 Schema Validation "]:::mcp
end
subgraph Application_Core[" Business & Persistence Layer "]
Services[" ⚙️ Service Layer (Business Logic & Audit Logs) "]:::service
Repos[" 📦 Repository Layer (Async Queries & Data Access) "]:::repo
end
subgraph Database_Layer[" Storage Engine "]
PostgreSQL[(" 🐘 PostgreSQL 16 DB\n(SQLAlchemy 2.0 Async + JSONB Audits) ")]:::db
end
Claude -->|stdio / JSON-RPC| ToolRegistry
Cursor -->|stdio / JSON-RPC| ToolRegistry
Gemini -->|stdio / JSON-RPC| ToolRegistry
ToolRegistry --> Schemas
Schemas --> Services
Services --> Repos
Repos --> PostgreSQL
```
---
## ✨ Key Feature Cards
<table>
<tr>
<td width="50%" valign="top">
<h3>⚡ Clean Async Architecture</h3>
<p>Powered by Python 3.12 <code>asyncio</code> and <code>asyncpg</code>. Clean separation into Tools, Services, Repositories, and ORM Models ensures zero thread-blocking during high-throughput tool calls.</p>
</td>
<td width="50%" valign="top">
<h3>🛡️ Immutable Audit Logging</h3>
<p>Every transaction write, update, or soft-deletion triggers automatic audit capture inside PostgreSQL <code>JSONB</code> fields, providing complete lineage of AI actions.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>📊 Smart Budget & Trend Analytics</h3>
<p>Real-time calculation of monthly budget consumption percentages, over-budget warnings, and historical multi-month spending velocity trends.</p>
</td>
<td width="50%" valign="top">
<h3>💳 Credit Card Management</h3>
<p>Track active credit lines, statement periods, available balances, and record payments directly to update liability records in real-time.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<h3>📄 Multi-Format Report Generation</h3>
<p>Engineered with engines for instant extraction into <code>.csv</code>, styled <code>.xlsx</code> workbooks with autowidth formatting, and publication-ready <code>.pdf</code> financial statements.</p>
</td>
<td width="50%" valign="top">
<h3>🔒 Multi-Tenant User Isolation</h3>
<p>Built-in <code>USER_ID</code> UUID scoping enforces query filters across all service queries, preventing unauthorized cross-user data exposure on shared databases.</p>
</td>
</tr>
</table>
---
## 🔄 MCP Execution Workflow
```mermaid
sequenceDiagram
autonumber
actor User as 👤 User
participant Claude as 🤖 Claude Desktop
participant MCP as ⚡ MCP Server (FastMCP)
participant Service as ⚙️ Service / Repo
participant DB as 🐘 PostgreSQL DB
User->>Claude: "Add ₹450 spent on Pizza yesterday under Food"
Claude->>Claude: Parse Intent & Select Tool `add_expense`
Claude->>MCP: Call `add_expense(amount=450, category="Food", title="Pizza", date="2026-07-23")`
MCP->>MCP: Validate Input Schema via Pydantic v2
MCP->>Service: Dispatch to `ExpenseService.create()`
Service->>DB: Execute Async INSERT & Update Budget Totals
DB-->>Service: Return Transaction Record + Audit ID
Service-->>MCP: Format Structured Response
MCP-->>Claude: JSON Tool Result (Success Payload)
Claude-->>User: "Expense of ₹450 logged successfully! Monthly Food budget remaining: ₹3,550."
```
---
## 📂 Project Structure
```text
Expense_Tracker_MCP/
├── 📁 expense_tracker/ # Main Application Package
│ ├── 📁 database/ # Database Connection & Migration Setup
│ │ ├── 📁 models/ # SQLAlchemy 2.0 ORM Models (Expense, Budget, CreditCard, Audit)
│ │ ├── 📄 connection.py # Async Engine & Session Generators
│ │ └── 📄 base.py # Declarative Base & Mixins
│ ├── 📁 repositories/ # Data Access Layer (Decoupled SQLAlchemy Queries)
│ │ ├── 📄 expense_repo.py
│ │ ├── 📄 budget_repo.py
│ │ └── 📄 card_repo.py
│ ├── 📁 services/ # Core Business Logic & Audit Trail Handlers
│ │ ├── 📄 expense_service.py
│ │ ├── 📄 budget_service.py
│ │ └── 📄 report_service.py
│ ├── 📁 schemas/ # Pydantic v2 Request/Response Validation Models
│ │ └── 📄 financial_schemas.py
│ ├── 📁 tools/ # FastMCP Endpoint Registration Handlers (17 Tools)
│ │ ├── 📄 expense_tools.py
│ │ ├── 📄 budget_tools.py
│ │ ├── 📄 card_tools.py
│ │ └── 📄 report_tools.py
│ └── 📄 server.py # FastMCP Server Entrypoint & Initialization
├── 📁 alembic/ # Database Schema Migration Scripts
│ ├── 📁 versions/ # Sequential Version Stamps
│ └── 📄 env.py # Migration Environment Config
├── 📁 tests/ # Pytest Test Suite (SQLite In-Memory / Asyncpg)
│ ├── 📄 test_expenses.py
│ ├── 📄 test_budgets.py
│ └── 📄 test_reports.py
├── 📄 docker-compose.yml # Production PostgreSQL & MCP Stack Containerization
├── 📄 Dockerfile # Multi-stage Lightweight Python 3.12 Build
├── 📄 pyproject.toml # UV / Hatchling Project Configuration
├── 📄 alembic.ini # Alembic Configuration Settings
└── 📄 README.md # Project Documentation
```
---
## 🚀 Quick Start Guide
### Prerequisites
Ensure you have the following software installed on your host system:
* **Python**: `v3.12+`
* **PostgreSQL**: `v16+` (or Docker)
* **uv**: `v0.1.0+` (Fast Python package installer and resolver)
### Step 1: Clone Repository
```bash
git clone https://github.com/satyam0singh/Expense_Tracker_MCP.git
cd Expense_Tracker_MCP
```
### Step 2: Set Up Virtual Environment
```bash
# Create virtual environment with uv
uv venv
# Activate Virtual Environment
# On Linux/macOS:
source .venv/bin/activate
# On Windows (PowerShell):
.venv\Scripts\Activate.ps1
# Install package dependencies in editable mode
uv pip install -e .
```
### Step 3: Configure Environment Variables
Create a `.env` file in the root directory (or copy from `.env.docker`):
```env
DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/expense_db
USER_ID=123e4567-e89b-12d3-a456-426614174000
ENVIRONMENT=production
LOG_LEVEL=INFO
```
### Step 4: Run Database Migrations
Apply database schemas using Alembic:
```bash
uv run alembic upgrade head
```
---
## ⚙️ Claude Desktop Configuration
To allow **Claude Desktop** to control the server, register it inside your local configuration file.
### Location of `claude_desktop_config.json`:
* **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
* **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
* **Linux**: `~/.config/Claude/claude_desktop_config.json`
### Add Configuration:
```json
{
"mcpServers": {
"expense-tracker": {
"command": "uv",
"args": [
"--directory",
"C:/path/to/Expense_Tracker_MCP",
"run",
"python",
"-m",
"expense_tracker.server"
],
"env": {
"DATABASE_URL": "postgresql+asyncpg://postgres:postgres@localhost:5432/expense_db",
"USER_ID": "123e4567-e89b-12d3-a456-426614174000"
}
}
}
}
```
> [!TIP]
> **Understanding `USER_ID` Scoping**
> The `USER_ID` environment variable is a unique UUID assigned to your client instance. If you run multiple Claude instances or share a remote PostgreSQL database, changing `USER_ID` guarantees complete isolation between financial profiles.
---
## 🛠️ Available MCP Tools
The server dynamically exposes **17 robust endpoints** directly into the LLM context window:
| Icon | Tool Name | Category | Description / Purpose | Return Type | Natural Language Example |
| :---: | :--- | :--- | :--- | :--- | :--- |
| ➕ | `add_expense` | Expense | Records new transaction & adjusts budget caps | `ExpenseRead` | *"Add ₹450 for Pizza yesterday"* |
| ✏️ | `update_expense` | Expense | Modifies fields of an existing record | `ExpenseRead` | *"Change expense #12 category to Dining"* |
| 🗑️ | `delete_expense` | Expense | Soft-deletes a record with audit tracking | `StatusMessage` | *"Delete expense #45"* |
| 🔍 | `search_expenses` | Query | Filters transactions by date, merchant, or notes | `List[Expense]` | *"Find all electronics expenses last week"* |
| 🏷️ | `list_categories` | Metadata | Retrieves hierarchy of categories & subcategories | `List[Category]`| *"What categories can I log expenses under?"*|
| 🎯 | `set_budget` | Budget | Configures monthly spending limit for category | `BudgetRead` | *"Set a ₹10,000 budget for Food this month"* |
| 🔄 | `update_budget` | Budget | Adjusts existing category spending ceiling | `BudgetRead` | *"Increase my Shopping budget to ₹15,000"* |
| 📈 | `get_budget_status`| Budget | Reports consumed % and remaining balance | `BudgetStatus` | *"How much budget is left in Groceries?"* |
| 🍰 | `get_category_breakdown`| Analytics | Category percentage breakdown for a month | `CategoryDistribution`| *"Show category spending pie chart breakdown"* |
| 🔬 | `analyze_spending` | Analytics | High-level summary, average ticket, & peak days | `FinancialSummary`| *"Analyze my spending habits for July"* |
| 📉 | `spending_trends` | Analytics | Multi-month velocity & month-over-month delta | `TrendAnalysis` | *"Compare spending over the past 6 months"* |
| 💳 | `add_credit_card` | Credit Card | Registers a new credit card line & limit | `CardRead` | *"Add HDFC card with limit ₹2,000,000"* |
| 💳 | `get_active_cards` | Credit Card | Displays active cards, utilization, & due dates | `List[CardRead]` | *"List all my active credit cards"* |
| 💸 | `record_card_payment`| Credit Card | Logs payments made against credit balances | `PaymentRead` | *"Record ₹5,000 payment to HDFC card"* |
| 📊 | `export_csv` | Reports | Generates raw CSV export file path | `FilePath` | *"Export July expenses to CSV"* |
| 📗 | `export_excel` | Reports | Generates formatted Excel workbook with formulas | `FilePath` | *"Generate Excel report for Q2"* |
| 📕 | `export_pdf` | Reports | Generates printable PDF statement document | `FilePath` | *"Create a PDF summary of my expenses"* |
---
## 💻 Visual Technology Stack
<div align="center">
| Domain | Technologies Used |
| :--- | :--- |
| **Language & Core** | <a href="https://skillicons.dev"><img src="https://skillicons.dev/icons?i=py" height="32" alt="Python"/></a> `Python 3.12` `asyncio` |
| **Protocol Framework**| <a href="https://github.com/jlowin/fastmcp"><img src="https://img.shields.io/badge/FastMCP-0.4%2B-000000?style=flat-square&logo=fastapi" height="32" alt="FastMCP"/></a> `FastMCP` `JSON-RPC` |
| **Database & Engine** | <a href="https://skillicons.dev"><img src="https://skillicons.dev/icons?i=postgres" height="32" alt="PostgreSQL"/></a> `PostgreSQL 16` `asyncpg` |
| **ORM & Migrations** | <a href="https://www.sqlalchemy.org/"><img src="https://img.shields.io/badge/SQLAlchemy-2.0-red?style=flat-square" height="32" alt="SQLAlchemy"/></a> `SQLAlchemy 2.0` `Alembic` |
| **Validation & Schemas**| <a href="https://docs.pydantic.dev/"><img src="https://img.shields.io/badge/Pydantic-v2.0-e92063?style=flat-square" height="32" alt="Pydantic"/></a> `Pydantic v2` |
| **Containerization** | <a href="https://skillicons.dev"><img src="https://skillicons.dev/icons?i=docker" height="32" alt="Docker"/></a> `Docker` `Docker Compose` |
| **Testing & Quality** | <a href="https://docs.pytest.org/"><img src="https://img.shields.io/badge/Pytest-Async-yellow?style=flat-square&logo=pytest" height="32" alt="Pytest"/></a> `pytest` `pytest-asyncio` |
</div>
---
## 🖼️ Application Interfaces
```text
+-----------------------------------------------------------------------------------+
| CLAUDE DESKTOP DEMO PLACEHOLDER |
| |
| User: "Add ₹450 spent on Pizza yesterday." |
| Claude: [Executing Tool: add_expense] |
| -> Amount: ₹450.00 | Category: Food | Date: 2026-07-23 |
| "Successfully recorded expense #104. Remaining Food Budget: ₹3,550.00" |
+-----------------------------------------------------------------------------------+
```
<details>
<summary><b>📸 Click to Expand Interactive Screenshot Previews</b></summary>
<br>
| Interface | Preview Mockup |
| :--- | :--- |
| **Claude Desktop Integration** |  |
| **Budget Analytics Dashboard** |  |
| **Executive PDF Financial Statement** |  |
</details>
---
## 💬 Real-World AI Conversation Example
```text
💬 User
"Add ₹450 spent on Pizza yesterday."
🤖 Claude (via Expense Tracker MCP)
Calling tool: add_expense(amount=450, category="Food & Dining", title="Pizza", date="2026-07-23")
Response:
✅ Expense recorded successfully!
• Transaction ID: #104
• Amount: ₹450.00
• Category: Food & Dining
• Date: July 23, 2026
📊 Budget Update:
You have spent ₹6,450 of your ₹10,000 Food budget for July. (64.5% consumed, ₹3,550 remaining).
```
```text
💬 User
"How much did I spend on Food this month? Show me a breakdown."
🤖 Claude (via Expense Tracker MCP)
Calling tool: get_category_breakdown(month=7, year=2026)
Response:
Here is your Food spending summary for July 2026:
Total Spent: ₹6,450.00 (14 transactions)
Breakdown:
🛒 Groceries: ₹3,800.00 (58.9%)
🍕 Dining Out: ₹2,150.00 (33.3%)
☕ Coffee Shops: ₹500.00 (7.8%)
💡 Insight: Your dining out expenses increased by 12% compared to June.
```
---
## 📑 Multi-Format Report Generation Engine
The server includes dedicated export services to render financial files dynamically:
* 📊 **CSV Export (`export_csv`)**: Standard RFC 4180 formatted flat CSV files ideal for importing into Google Sheets, ledger tools, or custom data pipelines.
* 📗 **Excel Workbook Export (`export_excel`)**: Uses `openpyxl` to build structured spreadsheets featuring automated column width calculation, styled header banners, currency formatting, and SUM total formulas.
* 📕 **PDF Executive Statement (`export_pdf`)**: Built using `reportlab` to construct clean vector PDF reports containing table summaries, category distribution graphics, audit footers, and page numbers.
---
## ⚡ Performance Benchmarks
Engineered for lightning-fast execution times, minimizing LLM tool call latency:
| Operation Metric | Mean Duration | Throughput / Capacity | Benchmark Notes |
| :--- | :--- | :--- | :--- |
| **Tool Execution Latency** | `~12ms` | ~85 req/sec | Standard local PostgreSQL connection |
| **Async Connection Pool** | `< 2ms` | 20 Pool Connections | Powered by `asyncpg` connection pool |
| **Pydantic Validation Time** | `~0.4ms` | 2,500 validation/sec | Pydantic v2 Compiled Rust Core |
| **PDF Report Generation** | `~110ms` | Single-page document | Complete PDF rendering with ReportLab |
| **Memory Footprint** | `~45MB` | Idle RAM Usage | Optimized Python 3.12 footprint |
---
## 🛡️ Security & Data Governance
* 🔒 **User Scoping & Isolation**: Enforced `USER_ID` filter predicate across all queries prevents horizontal data leakage.
* 📜 **Immutable JSONB Audit Logs**: All state-modifying tools capture original state, target state, timestamps, and caller IDs in an `audit_logs` table.
* 💉 **SQL Injection Prevention**: Built entirely on SQLAlchemy 2.0 ORM query builders using parameterized input bindings.
* 🗑️ **Soft-Delete Lifecycle**: Records are marked with a soft `is_deleted` flag, preserving data integrity and permitting recovery if directed by users.
---
## 🗺️ Product Roadmap
- [x] **v1.0.0 — Core Engine Release**
- [x] Asynchronous FastMCP Server core integration
- [x] PostgreSQL + SQLAlchemy 2.0 async persistence layer
- [x] 17 Core Tools for expenses, budgets, credit cards, and exports
- [x] Comprehensive Pytest suite and Docker containerization
- [ ] **v1.1.0 — Smart Subscriptions & Rules** *(In Progress)*
- [ ] Recurring expense automation (Subscriptions, Rent, Bills)
- [ ] Custom categorization rule engine with regex matching
- [ ] **v1.2.0 — Auth & Multi-User**
- [ ] OAuth2 / API Key authentication handshake
- [ ] Multi-currency support with real-time FX conversion rates
- [ ] **v2.0.0 — Web Interface & Ecosystem**
- [ ] Full-fledged Next.js Web Dashboard for graphical inspection
- [ ] Cloud sync adapter for Supabase and AWS RDS
---
## 🤝 Contributing
Contributions are warmly welcomed! To contribute:
1. Fork the Repository: `git checkout -b feature/amazing-feature`
2. Commit your changes: `git commit -m 'feat: Add amazing feature'`
3. Push to the Branch: `git push origin feature/amazing-feature`
4. Open a Pull Request for review.
Please ensure all `pytest` checks pass prior to opening a PR:
```bash
uv run pytest tests
```
---
## 📄 License
Distributed under the **MIT License**. See [`LICENSE`](LICENSE) for complete terms and details.
---
## 👨💻 Author & Maintainer
<div align="center">
<table style="border: none; border-collapse: collapse;">
<tr>
<td align="center" style="border: none;">
<img src="https://github.com/satyam0singh.png" width="120px;" style="border-radius: 50%;" alt="Satyam Singh Profile"/><br>
<strong>Satyam Singh</strong><br>
<sub>Software Architect & Open Source Maintainer</sub><br><br>
<a href="https://github.com/satyam0singh">
<img src="https://img.shields.io/badge/GitHub-100000?style=for-the-badge&logo=github&logoColor=white" alt="GitHub"/>
</a>
<a href="https://www.linkedin.com/in/satyam-singh-41b695294/">
<img src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white" alt="LinkedIn"/>
</a>
</td>
</tr>
</table>
</div>
---
<div align="center">
<img src="https://capsule-render.vercel.app/api?type=waving&color=0:0d1117,50:161b22,100:0f172a&height=120§ion=footer" width="100%" alt="Footer Banner" />
<p align="center">
Made with ❤️ using <a href="https://github.com/jlowin/fastmcp"><b>FastMCP</b></a> and <b>Python 3.12</b>
</p>
</div>
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues