Finance App
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Finance Appshow my current net worth"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Finance App
Double-entry accounting service for personal finance with MCP (Model Context Protocol) tools. Provides a ledger, budgets, and analytics over PostgreSQL, exposed as an MCP server for use by AI agents and the central chat agent.
Features
Double-entry ledger: Accounts (ASSET, LIABILITY, EQUITY, EXPENSE, REVENUE) with enforced balance invariants
MCP tools (exposed via SSE for agent use):
Accounts: create account, list accounts, get account balance
Transactions: transfer between accounts, record expense, record income
Budgets: create budget for an expense account over a date range, get available-to-spend
Analytics: net worth, expense breakdown, cashflow
Health endpoint for load balancers and orchestration
Docker Compose with PostgreSQL; runs on a shared
webnetwork for Caddy and chat-agent integration
Related MCP server: Agent Ledger
Prerequisites
Docker and Docker Compose
An existing Docker network named
web(e.g.docker network create web)
Quick Start
Clone and enter the repo
git clone https://github.com/youssefaltai/finance-app.git cd finance-appConfigure environment
cp .env.example .envEdit
.envand set at least:SERVICE_NAME=financeSERVICE_PORT=3000DATABASE_URL— PostgreSQL connection URL (default in code:postgresql+psycopg2://finance:finance@postgres:5432/finance)
Run with Docker
docker compose up -d --buildVerify
GET http://localhost:3000/health→{"status": "ok", "service": "finance"}MCP SSE endpoint:
GET http://localhost:3000/mcp/sse(for agent connections)
Configuration
Variable | Description | Default |
| Service name in health response |
|
| Port the app listens on |
|
| PostgreSQL URL (SQLAlchemy style) |
|
| Mount MCP at |
|
| Not used by this service; optional | — |
| Not used by this service; optional | — |
Integration (Caddy + Chat Agent)
Caddy: Add a route so the service is reachable, e.g.
handle_path /finance/* { reverse_proxy finance_app:3000 }Chat agent: Add this service’s MCP SSE URL to
MCP_SERVER_URLS, e.g.MCP_SERVER_URLS=http://finance_app:3000/mcp/sse
Then the chat agent can use the finance tools (accounts, transactions, budgets, analytics) in conversation.
Project Structure
app/
main.py # FastAPI app: /health, MCP mounted at /mcp
config.py # Pydantic settings from .env
mcp.py # FastMCP instance, tool discovery, SSE sub-app
db/ # SQLAlchemy models and session
services/ # Ledger, finance, analytics business logic
tools/ # MCP tool wrappers (account_tools, transaction_tools, budget_tools, analytics_tools)MCP Endpoints
SSE (agent connects here):
GET /mcp/sseMessages (used by MCP client):
/mcp/messages/
Validation Checklist
GET /health returns
{"status": "ok", "service": "finance"}MCP tools are available at
GET /mcp/sseDouble-entry invariant is enforced; balances and analytics are computed from journal entries
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Personal finance for AI agents — onboard, import statements, categorize & budget over MCP.
Personal finance ledger for AI agents — query spending, track bills, forecast cash flow.
Personal-finance workspace for AI agents: accounts, spending, budgets, goals, and investments.
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceA personal accounting MCP server that enables AI assistants to record and query financial transactions through natural language, supporting income/expense tracking, balance inquiry, and monthly summaries.-
- AlicenseNot gradedqualityAmaintenanceDouble-entry accounting ledger MCP server for autonomous agents that enables creating accounts, posting journal entries, and generating financial reports.MIT
- FlicenseAqualityBmaintenanceMCP server for hledger that exposes double-entry accounting tools to AI agents, enabling balance queries, transaction history, budget reports, and adding transactions to a journal.4-
- FlicenseAqualityBmaintenanceEnables AI agents to create accounts, record balanced double-entry transactions, query balances, and reconcile accounts against a SQLite-backed ledger through four MCP tools.4-