Skip to main content
Glama
README.md
# Trackor

This is a custom MCP (Model Context Protocol) server and dumb client built with **FastMCP** and Streamlit.  
It provides tools to track expenses, including adding, listing, summarizing, updating, and exporting data.

The server uses a local SQLite database (`expenses.db`) and a `categories.json` file for expense categories.
## Tools & Resources
```bash
TOOLS (callable actions that perform operations):
- add_expense                 : Create a new expense entry
- get_expense                 : Fetch a single expense by ID
- list_expenses               : List expenses with optional filters
- update_expense              : Modify an existing expense
- delete_expense              : Remove one expense by ID
- delete_expenses_by_date_range : Remove all expenses within a date range
- summarize                   : Summarize expenses by category/subcategory
- get_statistics              : Return overall stats and monthly breakdown
- export_expenses             : Export all expenses in JSON or CSV format

RESOURCES (read-only data exposed by the server):
- expense://categories        : Provides the categories.json file (list of categories/subcategories)
```
## Dumb MCP Client

It is Dumb MCP Client meaning without any LLM (I am poor for pro) that uses MCP Server `https://at0mxploit.fastmcp.app/manifest.dxt`.
### Remote Deployment

It is already deployed in `https://dumbclient-trackor.streamlit.app/` using Streamlit Cloud.
### Local Deployment

```bash
streamlit run dumb_client/app.py
```

## MCP Server
### Remote Deployment (Easiest)
It is already deployed using FastMCP Cloud, you just need to drag this DXT File  `https://at0mxploit.fastmcp.app/manifest.dxt` to Claude Extension. This automatically configures the server for Claude and includes all tools and resources. (Currently available only in Pro). It's setup for all different models and tools but I use Claude so.

<img width="829" height="366" alt="test" src="https://github.com/user-attachments/assets/bced55ea-eecb-4d9a-bd54-a7c44e498617" />

### Local Development

Claude Connectors (remote MCP URLs) are only available for Pro users. However, **non-Pro Claude Desktop users can still use this MCP server** by running a **local proxy**.

This repository includes a `proxy/` folder with a simple FastMCP STDIO bridge.

Install dependencies:

```bash
uv sync
```
Run MCP:

```bash
uv run main.py
```

Run MCP Proxy:

```bash
uv run proxy/main.py
```

We can also if we want use Inspector to test JSON RPC calls in MCP:

```bash
 uv run fastmcp dev .\main.py
```

Claude Desktop no longer auto-loads raw MCP scripts.  
If you're not using Claude Pro, you must install the included desktop extension:

```bash
npm install -g @anthropic-ai/mcpb
```

```bash
mcpb pack proxy/ trackor-proxy.mcpb
```

This will generate `trackor-proxy.mcpb`.

1. Go to Settings → Extensions → Advanced → Install Extension…
2. Select `trackor-proxy.mcpb`
3. Claude will load the MCP server via the local STDIO proxy.

---