Skip to main content
Glama
Finance MCP Server

Finance MCP Server

by arunkonapala

Finance MCP Server

A Model Context Protocol server exposing personal-finance tools — accounts, transactions, spending analysis, budgets, bills, reminders, portfolio, and goals — so any MCP client (Claude Desktop, Claude Code, custom agents) can query financial data through a standard interface.

The tool layer is shared with finance-copilot: same deterministic sample dataset, same eight tools, different transport — there they're wired into a bespoke agentic loop; here they're served over MCP.

Tools

Tool

Purpose

get_accounts

Balances across checking/savings/credit/brokerage/401(k) + net worth

get_transactions

Individual transactions, filterable by month and category

analyze_spending

Per-category monthly totals, trends, top merchants

get_budgets

Budget vs. actual for the current month with over/under status

get_bills

Recurring bills with next due dates and due-soon flags

set_bill_reminder

Create a reminder N days before a bill is due

get_portfolio

Holdings, gains/losses, asset allocation

get_financial_goals

Savings goals with progress + income/risk profile

Related MCP server: Finance Manager MCP

Setup

python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python test_client.py   # smoke test: lists tools, calls three

If pip tries to compile cryptography from source (Anaconda x86_64 Python without a matching wheel), create the venv with python3 -m venv .venv --system-site-packages to reuse the system copy.

Connect a client

Claude Code:

claude mcp add finance -- /path/to/finance-mcp-server/.venv/bin/python /path/to/finance-mcp-server/server.py

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "finance": {
      "command": "/path/to/finance-mcp-server/.venv/bin/python",
      "args": ["/path/to/finance-mcp-server/server.py"]
    }
  }
}

Then ask: "How am I tracking against my budget this month?" — the client discovers the tools automatically and the model calls them as needed.

Design notes

  • FastMCP generates tool schemas from Python type hints and docstrings — the schemas stay in sync with the code by construction.

  • stdio transport — the client spawns the server as a subprocess; no ports, no network exposure.

  • Demo data — finance_data.py generates a deterministic fake bank (fixed seed). Swap it for a real aggregator (e.g. Plaid) to serve live data; the MCP surface doesn't change.

  • test_client.py doubles as a minimal example of driving an MCP server programmatically with the Python SDK.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides tools for managing personal finances via MCP, including accounts, transactions, debts, savings, budgets, and asset tracking, with summaries and reporting capabilities.
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables self-hosted personal finance management for MCP clients by connecting read-only bank accounts via SimpleFIN, syncing transactions into a local SQLite database, and exposing tools to query balances, spending, budgets, cash flow, and net worth.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Lets you query your personal finances in plain language, log expenses, and correct transaction categories through a secure MCP endpoint.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables querying personal financial data such as balances, expenses by category, upcoming bills, transactions, and credit card summaries through any MCP client, using a SQLite database with fictional seed data.
      86 npm
      MIT