mcpField
E
expense-mcp

expense-mcp

ローカル
github.com/justfsl50金融データ134 週間前に更新

expense-mcp について

expense-mcpは、MCPクライアントから支出、予算、貯蓄目標を管理する個人向け家計管理MCPサーバーです。期間別の集計や支出分析を提供し、ローカルのstdioとリモートHTTPに対応します。

主な機能

  1. 01カテゴリ別の支出・収入記録
  2. 02日・週・月・年ごとの集計
  3. 03利用通知付きカテゴリ予算
  4. 04貯蓄目標の作成と追跡
  5. 05支出カテゴリと傾向の分析
  6. 06stdioとHTTPのトランスポート

活用シーン

  1. 01日々の支出と収入の記録
  2. 02週・月単位の支出確認
  3. 03カテゴリ別予算の利用状況確認
  4. 04貯蓄目標の進捗管理

MCP 対応

MCPクライアント向けに、取引の記録・検索・集計、予算管理、目標追跡のツールと、集計リソースや月次レビューなどのプロンプトを提供します。ローカルstdioとリモートHTTPで接続できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"justfsl50-expense": {
"command": "uvx",
"args": [
"expense-mcp"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"CURRENCY": "<CURRENCY>",
"DEFAULT_USER": "<DEFAULT_USER>"
}
}
}
}
起動コマンドuvx expense-mcp
設定が必要な環境変数
DATABASE_URLSQLite or PostgreSQL database URL
CURRENCYCurrency symbol (default: ₹)
DEFAULT_USERUser ID for multi-user setups

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiexpense-mcp1.0.1

ツール

10

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
paramsanyはい

詳細

💰 expense-mcp

MCP サーバーとして利用できる個人向け支出トラッカー — Claude Desktop、Cursor、nanobot、Windsurf、および MCP 互換クライアントで動作します。

Python MCP SDK License


機能

  • 📝 カテゴリーと説明を付けて支出と収入を記録
  • 📊 支出の概要 — 今日、週、月、年
  • 💳 予算管理 — カテゴリーごとに上限を設定し、80%/100%でアラートを受け取れます
  • 🎯 貯蓄目標 — 目標を作成し、視覚的なバーで進捗を確認できます
  • 📈 支出に関する分析情報 — 上位カテゴリー、日次平均、支出額が最も多い日
  • 🗑️ 安全な削除 — Pydantic ベースの入力確認で削除を確定
  • 🔄 デュアルトランスポート — stdio(ローカル)+ストリーム可能な HTTP(リモート)

インストール

# with uv (recommended)
uv pip install git+https://github.com/justfsl50/expense-mcp.git

# with pip
pip install git+https://github.com/justfsl50/expense-mcp.git

# from source
git clone https://github.com/justfsl50/expense-mcp.git
cd expense-mcp
pip install -e .

クイックスタート

Claude Desktop

%APPDATA%\Claude\claude_desktop_config.json(Windows)または ~/Library/Application Support/Claude/claude_desktop_config.json(Mac)に追加します。

{
  "mcpServers": {
    "expense-mcp": {
      "command": "uv",
      "args": ["run", "expense-mcp"],
      "env": {
        "DATABASE_URL": "sqlite:///expenses.db",
        "CURRENCY": "₹",
        "DEFAULT_USER": "me"
      }
    }
  }
}
Cursor / Windsurf

同じ設定を、それぞれのアプリの MCP 設定に貼り付けます。

nanobot
{
  "mcp": {
    "servers": [{
      "name": "expense-mcp",
      "command": "uv run expense-mcp"
    }]
  }
}
HTTP モード(リモート/複数クライアント)
python server.py http
# Server runs at http://127.0.0.1:8000/mcp

環境変数

変数デフォルト説明
DATABASE_URLsqlite:///expenses.dbSQLite または PostgreSQL の URL
CURRENCY₹通貨記号
DEFAULT_USERdefault複数ユーザー構成で使用するユーザー ID

PostgreSQL の例:

DATABASE_URL=postgresql://user:pass@localhost:5432/expenses

ツール

ツール説明読み取り専用
expense_add支出または収入を保存します❌
expense_searchテキスト、日付、カテゴリー、金額で絞り込みます✅
expense_summary今日/週/月/年の合計✅
expense_deletePydantic による確認プロンプトを表示して削除します❌
expense_insights支出パターンと上位カテゴリー✅
budget_set月ごとのカテゴリー予算を設定します❌
budget_list使用率(%)付きで予算を表示します✅
goal_create貯蓄目標を作成します❌
goal_update目標に資金を追加します❌
goal_list進捗バー付きで目標を表示します✅

リソース

URI説明
expense://summary/month今月の概要
expense://budgets/current今月の予算
expense://goals/allすべての貯蓄目標

プロンプト

プロンプトタイトル説明
monthly_review月次レビュー1か月分の支出を詳しく振り返ります
budget_setup予算設定利用履歴から予算を自動提案します
savings_plan貯蓄計画貯蓄目標に向けた計画を作成します

使用例

MCP クライアントで自然に話しかけるだけです。

"spent 500 on groceries"
"show food expenses this week"
"how much did I spend last month?"
"set food budget to 5000"
"am I within budget?"
"save 1000 toward my iPhone goal"
"give me spending insights"
"delete expense #12"

アーキテクチャ

  • FastMCP と json_response=True を使用した MCP SDK v1.26.0
  • 型付きライフスパン — DB エンジンを AppContext データクラスで管理します
  • SQLAlchemy 2.0 — DeclarativeBase、sessionmaker
  • Pydantic v2 — 入力検証、入力確認用スキーマ
  • ツールアノテーション — readOnlyHint、destructiveHint、idempotentHint
  • コンテキストログ — ツール内で ctx.info()、ctx.warning() を使用します
データベーススキーマ
expenses  — id, user_id, amount, category, description, type, date, source, created_at
budgets   — id, user_id, category, amount, month
goals     — id, user_id, name, target, saved, deadline

ライセンス

MIT — 無料で使用、変更、配布できます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。