Expense Tracker MCP Server
経費管理エージェント
AI を活用した個人用経費管理ツールで、自然言語のリクエストを構造化されたデータベース操作に変換します。このプロジェクトは、応答性の高い Streamlit インターフェース、Claude のツール使用、MCP サーバー、およびローカルの SQLite ストレージを組み合わせたものです。
このプロジェクトで実証していること
実際のデータベースワークフローのためのエージェント的でマルチステップのツール使用
言語モデル、MCP トランスポート、データ層の明確な分離
オーケストレーションフレームワークを使用しない直接的な Claude ツール呼び出しループ
入力検証、スコープ付きアシスタント動作、安全なローカルデータ処理
自動化されたスモークテストと継続的インテグレーション
入力、会話、支出の洞察のための応答性の高いユーザーインターフェース
Related MCP server: Expense Tracker MCP Server
製品の機能
フォームまたは自然言語のリクエストを通じて経費を追加
各取引の日付、金額、カテゴリ、説明を保存
MCP ツールを通じて経費の検索、更新、削除、集計
合計、最近の取引、カテゴリ別の支出を確認
集中型の財務アシスタントにデータベースに基づく洞察を問い合わせ
経費データを SQLite ファイルにローカルに保存
アーキテクチャ
flowchart LR
U[User] --> UI[Streamlit or CLI]
UI --> A[Claude agent]
A -->|Tool request| C[MCP client]
C -->|stdio| S[MCP server]
S -->|DB-API 2.0| D[(SQLite)]
D --> S
S -->|Structured result| A
A --> UIClaude は SQLite に直接アクセスしません。Claude は MCP ツールスキーマから選択し、サーバーが検証済みのすべてのデータベース読み取りと書き込みを所有します。
エージェントワークフローの例
ユーザーの意図 | ツールシーケンス |
ランチの経費を追加 |
|
昨日のガソリン代を変更 |
|
一致する購入を削除 |
|
月間支出を確認 |
|
テクノロジー
層 | テクノロジー |
インターフェース | Streamlit, pandas |
言語モデル | Anthropic Claude |
エージェント統合 | Direct Messages API tool-use loop |
ツールプロトコル | Model Context Protocol over stdio |
データ | SQLite through Python DB-API 2.0 |
品質 | pytest, Black, GitHub Actions |
クイックスタート
必要条件:
Python 3.11 以上
アシスタント用の Anthropic API キー
仮想環境を作成して有効化:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txtmacOS または Linux の場合、次のコマンドで環境を有効化:
source .venv/bin/activateローカル環境ファイルを作成し、ANTHROPIC_API_KEY を追加:
Copy-Item .env.example .envデータベーススキーマとスターターカテゴリを作成し、アプリを起動:
python db_setup.py
streamlit run streamlit_app.pyMCP サーバーは stdio を使用し、クライアントが接続すると自動的に起動します。
品質チェック
開発依存関係をインストールし、CI で使用される同じチェックを実行:
python -m pip install -r requirements-dev.txt
python -m black --check .
python -m compileall -q agent.py client_test.py db_setup.py mcp_client.py server.py streamlit_app.py
python -m pytest -q
python client_test.pyclient_test.py は 18 個すべての MCP ツールを実行し、スモークテスト終了時に一時レコードを削除します。
MCP ツール
サーバーは 18 個のツールを公開しています:
カテゴリ管理:
list_categories,add_category,rename_category,delete_category,get_category_name経費管理:
add_expense,update_expense,delete_expense,list_expenses,search_expenses,expenses_by_category,total_expense_by_category,total_expense,monthly_summaryサポートクエリ:
current_date,find_category,get_expense,expenses_between
プロジェクト構成
パス | 目的 |
| フォーム、アシスタント、洞察のインターフェース |
| Claude ツール呼び出しループとコマンドラインインターフェース |
| MCP ツールとして公開される検証済み SQLite 操作 |
| 再利用可能な stdio MCP クライアント |
| スキーマとスターターカテゴリの初期化 |
| エンドツーエンドの MCP ツールスモークテスト |
| 自動化されたデータベースと UI のチェック |
| 継続的インテグレーションパイプライン |
設定
変数 | 必須 | デフォルト |
| はい | — |
| いいえ |
|
| いいえ |
|
| いいえ |
|
.env ファイルと expenses.db は Git から除外されています。API キーと個人の経費データはリポジトリの外部に保持されます。
空の経費テーブルでデータベースを再作成するには:
python db_setup.py --resetThis server cannot be deployed
Maintenance
Related MCP Connectors
- ManiloOAuthapp.manilo
Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.
- ManiloOAuthapp.ledgy.api
Log, query, and edit expenses, budgets, and accounts in Manilo (formerly Ledgy) from any MCP-compatible AI assistant.
Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.
The Ramp MCP server enables users to securely connect Ramp with AI assistants like ChatGPT and Claude to query financial data and take actions using natural language. It transforms Ramp's developer API into a SQL interface that LLMs can query, allowing admins to analyze spend trends, identify cost savings, and run complex SQL analyses on comprehensive datasets (transactions, purchase orders, vendors, users), while all users can manage cards, view transactions, request reimbursements, and get expense policy answers.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage personal expenses through natural conversation, supporting expense tracking, categorization, filtering, and financial summaries. Uses SQLite database to store expense records with full CRUD operations for comprehensive personal finance management.2-
- FlicenseCqualityDmaintenanceEnables personal expense management with SQLite storage, allowing users to add, update, delete, list, and summarize expenses by category through natural language interactions.5-
- FlicenseNot gradedqualityDmaintenanceEnables management of expenses via SQLite database, including adding, listing, updating, deleting, filtering, and summing expenses through natural language.-
- FlicenseAqualityCmaintenanceEnables natural language management of personal expenses, including adding, updating, deleting, searching, and summarizing expenses stored in a local SQLite database.6-