expenselm-mcp-server
Official# [ExpenseLM](https://expenselm.ai) MCP Server
## Introduction
MCP server for [ExpenseLM](https://expenselm.ai).
ExpenseLM is an easy to use, GenAI powered Expense Management application. From expense recording to expense insights and advice, ExpenseLM puts you in control of your money like never before. MCP server enables access to your expense data with your favorite AI Agent.
mcp-name: io.github.clarenceh/expenselm-mcp-server
## Installation
### Prerequisites
* uv
* Python 3.9+
* ExpenseLM API key ([Instructions](https://www.expenselm.ai/docs/mcp-server-guide))
## Setup MCP Client
### Claude Desktop (Mac)
Add the following MCP server in your Claude Desktop configuration.
Config file (create if not exists): ~/Library/Application Support/Claude/claude_desktop_config.json
Add the following into your config file (replace the value of EXPENSELM_API_KEY with your own key).
```json
{
"mcpServers": {
"expenselm": {
"command": "uvx",
"args": [
"expenselm-mcp-server"
],
"env": {
"EXPENSELM_API_KEY": "Replace with your ExpenseLM API Key",
"MCP_TIMEOUT": "200000"
}
}
}
}
```
### Claude Desktop (Windows)
Add the following MCP server in your Claude Desktop configuration.
Config file (create if not exists): %AppData%\Claude\claude_desktop_config.json (e.g. C:\Users\[YourUsername]\AppData\Roaming\Claude\claude_desktop_config.json)
Add the following into your config file (replace the value of EXPENSELM_API_KEY with your own key).
```json
{
"mcpServers": {
"expenselm": {
"command": "uv",
"args": [
"tool",
"run",
"expenselm-mcp-server"
],
"env": {
"EXPENSELM_API_KEY": "Replace with your ExpenseLM API Key",
"MCP_TIMEOUT": "200000"
}
}
}
}
```
### Perplexity Desktop (Mac)
* In Perplexity Desktop for Mac, navigate to "Settings" -> "Connectors". Click "Add Connector".
* Enter ExpenseLM MCP Server configuration like the below screenshot. Replace the environment variable "EXPENSELM_API_KEY" with your own key.

## Publish new version
* [PyPI package](PYPI.md)
* [MCP Server Registry](MCP_SERVER.md)
TDQS
Scored across 10 tools
Most tools are clearly separated by resource and action: expense list/by-id, subscription expenses, summary dimensions, counts, and receipts. The only real ambiguity is between download_expense_receipt_image and save_expense_receipt_image, which differ mainly in whether the image is returned as data or written to a local file.
All names consistently use snake_case with a clear verb (get, download, save) followed by the object and modifiers. Patterns like get_expense_summary_by_*_by_currency and get_*_expense_count_by_period make the toolset predictable and easy to navigate.
Ten tools is well-scoped for an expense retrieval and analytics server. Each tool covers a distinct retrieval, summary, count, or receipt operation, with no redundant or filler tools.
The server covers the apparent read-only analytics domain thoroughly: listing/searching/paginating expenses, by-id lookup, subscription expenses, monthly/category/subscription summaries, per-period counts, and receipt image retrieval/saving. The count + pagination flow is explicitly supported, so there are no dead ends.