Skip to main content
Glama
srushtikochare

mcp-finance-assistant

💰 Personal Finance Assistant — MCP + Gemini

AIを活用したファイナンスアシスタントです。日常の支出について、わかりやすい言葉で質問できます。Model Context Protocol(MCP) を使用して、GoogleのGeminiを実際のツール — SQLデータベース、予測モデル、異常検出 — に接続して構築されており、話しかけることしかできないスクリプト化されたチャットボットではありません。

🔗 ライブデモ: mcp-finance-assistant-z6txg3k6xparsajcsvftrr.streamlit.app


できること

次のような質問ができます:

  • 「今月、食費にいくら使った?」

  • 「8月と7月の支出を比べて」

  • 「空港までのUberの費用として250を追加して」 — カテゴリは自動的に推定されます

  • 「来月の食費はいくらになるだろう?」 — 推測ではなく、実際のMLによる予測です

また、ページが読み込まれた瞬間、尋ねられる前に、異常な支出をプロアクティブに警告します。

Related MCP server: Expense Tracker MCP Server

MCPを採用する理由

ほとんどのAIファイナンストラッカーのデモは、チャットボットの応答をハードコードするか、静的データにLLMを後付けしているだけです。このプロジェクトはその代わりに、実際のMCPサーバーを構築します。これは、AIモデルが実在のツールを発見して呼び出すための標準化された方法(Anthropicが導入)です。Geminiは利用可能なツールを読み取り、必要なものを決定し、MCPプロトコルを通じて呼び出し、実際の結果に基づいて推論します。おもちゃのシミュレーションではなく、本番のAIエージェントシステムで使われているのと同じパターンです。

アーキテクチャ

User question → Streamlit UI → Gemini (decides which tool to call)
                                      ↓
                          MCP Server (server.py)
                                      ↓
                          SQLite Database (real transaction data)
                                      ↓
                     Tool result → back to Gemini → plain-English answer

カテゴリを指定しない経費の追加などの複数ステップのリクエストでは、Geminiは複数のツール呼び出しを連鎖させます。最初に既存のカテゴリを取得し、次に正しいカテゴリを推定し、その後で経費を追加します。質問1件につき最大3ステップです。

機能

  • 7つのMCPツール: 合計の照会、月の比較、最近の経費の一覧表示、経費の追加、カテゴリの取得、支出の予測、異常の検出

  • ルールではなく実際のMLforecast_next_month は過去のトレンドに対してscikit-learnの LinearRegression を使用します。detect_anomaly はハードコードされたしきい値ではなく、教師なしの IsolationForest モデルを使用します

  • LLMによるカテゴリ推定:経費の内容を自然な言葉で説明すると、Geminiがツール呼び出しを連鎖させながら、自ら正しいカテゴリを選択します

  • プロアクティブなインサイト:ページを書き込むと自動的に異常チェックが走るため、質問は不要です

  • 会話の記憶:フォローアップ質問は、チャットの前段のコンテキストを理解します

  • 実際のデータ:240件超の実際の取引記録を含み、その中の231件は公開済みのKaggle個人収支データセットからインポートし、クリーニングしたものです

  • 本番運用のプラクティス:すべてのツールで完全なエラー処理と入力検証、構造化ログ(app.log)、既知のデータに対する計算を検証する8件のテストからなる pytest スイート

技術スタック

Python · MCP SDK · Google Gemini (google-genai) · SQLite · scikit-learn · Streamlit · pytest

ローカルでの実行方法

git clone https://github.com/srushtikochare/mcp-finance-assistant
cd mcp-finance-assistant
pip install -r requirements.txt

.env ファイルを作成します:

GOOGLE_API_KEY=your_api_key_here

次に実行します:

streamlit run app.py

テストの実行

pytest test_server.py -v

8件のテストが合計の正しさ、エラー処理、MLツールの動作をカバーしており、すべてパスします。

実際にぶつかった課題

MCP Python SDKの構造は、入手可能なドキュメントの大部分が書かれた時点から変わっていました。私が期待していたクラス(FastMCP)は、インストールされていたバージョンには存在しませんでした。あてずっぽうで進めるのではなく、実際に導入されたパッケージを調べ(dir(mcp.server))、現在の正しいクラス(MCPServer)とAPIサーフェスを見つけました。チュートリアル向きの安定したライブラリではなく、ドキュメントが不完全な先鋭的なライブラリを扱いながらデバッグしたことが、この開発で最も得がたい学び最高でした。

可能な次のステップ

  • 各ユーザーごとのログインを持つマルチユーザー対応

  • 領収書・明細書のOCR取り込みによる経費の自動登録

  • 外部APIの耐障害性を高めるバックオフ付きリトライ

著者

Srushti Kochhare — B.Tech(人工知能・データサイエンス), YCCE Nagpur

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables users to track expenses by adding, listing, and summarizing them with category support through natural language.
  • A
    license
    A
    quality
    B
    maintenance
    Enables financial professionals to interact with QuickBooks Online using natural language for reports, journal entries, bills, expenses, and more.
    36
    592
    11
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI-driven expense tracking and budget management, including adding expenses, setting budgets, analyzing trends, forecasting, and managing savings goals via natural language.

View all related MCP servers

Related MCP Connectors

  • Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.

  • Capture receipts, scan Gmail, analyze spending, and create reviewed reports from AI assistants.

  • Ask your AI about bank accounts, spending, debts, holdings, and investment activity.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/srushtikochare/mcp-finance-assistant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server