Expense Tracker MCP
by Mohit067
README.md
# 💰 Expense Tracker MCP + Google ADK Agent
This project connects a **Google ADK Agent** with a **FastMCP server --> local** to manage an **SQLite-based Expense Tracker**.
The agent can:
- ➕ Add expense
- 📋 List expenses
- ✏️ Update expense
- ❌ Delete expense
- 📊 Sum expenses
- 🗂 Filter by category
- 📅 Filter by date range
- 🤖 Execute dynamic queries
- 🎲 Auto-generate multiple expenses
---
# 🏗 Project Structure
---
# ⚙️ Requirements
- Python 3.10+
- pip or uv
- Virtual environment (recommended)
- Groq or OpenAI API Key
---
# 🚀 Setup Instructions
## 1️⃣ Clone the Repository
```bash
cd Expense-tracker-MCP
```
## 2️⃣ create vertual Environment
```bash
python -m venv .venv
```
## 3️⃣ Activate Virtual Environment
```bash
.venv\Scripts\activate
```
## 4️⃣ Install Dependencies
```bash
pip install fastmcp google-adk litellm groq python-dotenv fastmcp
```
## 5️⃣ Run the ADK Agent
```bash
adk run my_agent
```
pip install fastmcp psutil platformdirs
psutil system information ke liye use hoga.
# 🖥️ FastMCP System Monitor
A **FastMCP server tool** to monitor your system information. You can fetch **battery, RAM, CPU, disk, and OS info** remotely via an MCP client like **Claude Desktop**.
---
## 🚀 Features
* Get **Battery status** (percentage & charging).
* Get **RAM usage** (total, used, percentage).
* Get **Disk usage** (total, used, free space).
* Get **CPU usage** (percentage).
* Get **System info** (OS, hostname, processor).
* Accessible via **HTTP MCP server**, compatible with **Claude Desktop** or other MCP clients.
---
## 📦 Requirements
* Python 3.10+
* Libraries:
```bash
pip install fastmcp psutil platformdirs
```
---
## 📄 Installation
1. Clone or download this repository.
2. Ensure Python and required libraries are installed.
3. Place the file `system_mcp_server.py` in a suitable location.
---
## ⚙️ Usage
### 1. Run the MCP server
```bash
cd expense-tracker-mcp
uv run laptop_status.py
```
* By default, the server starts on **HTTP port 8004**.
* You can change the port in the `main()` function:
```python
mcp.run(transport="http", port=YOUR_PORT)
```
---
### 2. Using with Claude Desktop
1. Open Claude Desktop.
2. Add the MCP server in the config file:
```json
{
"mcpServers": {
"proxy": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"fastmcp",
"run",
"C:\\Users\\MM0956\\Documents\\Expense-tracker-MCP\\proxy.py"
],
"env": {},
"transport": "stdio",
"type": null,
"cwd": null,
"timeout": null,
"description": null,
"icon": null,
"authentication": null
}
}
}
```
or you can run this command to add this configuration directly by vscode terminal
```base
cd expense-tracker-mcp
uv run fastmcp install claude-desktop .\proxy.py
```
3. Restart Claude Desktop.
4. Query your system using natural language:
* "Check my battery"
* "What is my RAM usage?"
* "Show disk space"
* "Show CPU usage"
* "Give me system info"
---
## 🛠️ Tools / Endpoints
| Tool Name | Description | Example Output |
| ----------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `get_battery` | Returns battery percentage & charging status | `{ "percent": 87, "charging": true }` |
| `get_ram` | Returns RAM total, used, and percent used | `{ "total_gb": 16, "used_gb": 8.5, "percent_used": 53.1 }` |
| `get_disk` | Returns disk usage (total, used, free) | `{ "total_gb": 512, "used_gb": 256, "free_gb": 256 }` |
| `get_cpu` | Returns CPU usage percentage | `{ "cpu_percent": 25.3 }` |
| `get_system_info` | Returns OS, hostname, processor info | `{ "system": "Windows", "node": "DESKTOP-123", "release": "10", "processor": "Intel i7-9750H" }` |
---
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues