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ツール: 合計の照会、月の比較、最近の経費の一覧表示、経費の追加、カテゴリの取得、支出の予測、異常の検出
ルールではなく実際のML:
forecast_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 -v8件のテストが合計の正しさ、エラー処理、MLツールの動作をカバーしており、すべてパスします。
実際にぶつかった課題
MCP Python SDKの構造は、入手可能なドキュメントの大部分が書かれた時点から変わっていました。私が期待していたクラス(FastMCP)は、インストールされていたバージョンには存在しませんでした。あてずっぽうで進めるのではなく、実際に導入されたパッケージを調べ(dir(mcp.server))、現在の正しいクラス(MCPServer)とAPIサーフェスを見つけました。チュートリアル向きの安定したライブラリではなく、ドキュメントが不完全な先鋭的なライブラリを扱いながらデバッグしたことが、この開発で最も得がたい学び最高でした。
可能な次のステップ
各ユーザーごとのログインを持つマルチユーザー対応
領収書・明細書のOCR取り込みによる経費の自動登録
外部APIの耐障害性を高めるバックオフ付きリトライ
著者
Srushti Kochhare — B.Tech(人工知能・データサイエンス), YCCE Nagpur
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage personal expenses through natural language conversations. Supports adding, searching, and analyzing transactions with automatic categorization and financial insights.3MIT
- FlicenseNot gradedqualityCmaintenanceEnables users to track expenses by adding, listing, and summarizing them with category support through natural language.
- AlicenseAqualityBmaintenanceEnables financial professionals to interact with QuickBooks Online using natural language for reports, journal entries, bills, expenses, and more.3659211MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI-driven expense tracking and budget management, including adding expenses, setting budgets, analyzing trends, forecasting, and managing savings goals via natural language.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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