Expense について
Expenseは、記録の整理や年度末の出力が必要な個人・アカウント向けの領収書・走行距離管理アプリです。ファイル、メール、MCPアシスタントから領収書を取り込み、銀行明細との照合や保証記録の管理もできます。
主な機能
- 01画像、ファイル、メールから領収書を登録
- 02店舗名、金額、カテゴリを抽出
- 03IRS Schedule Cの項目に分類
- 04IRSの税率で走行距離を計算
- 05レポートをPDFまたはZIPで出力
- 06保証を管理し明細を照合
活用シーン
- 01接続済みメールボックスから届いた領収書を記録
- 02日付と走行区分を指定して走行距離を記録
- 03領収書付きの年間経費レポートを作成
- 04銀行明細を経費記録と照合
MCP 対応
https://expense.labnotes.org/mcpでMCPエンドポイントを提供します。OAuthで接続したアシスタントは、領収書の登録、走行記録、支出への質問、レポート管理、銀行明細の照合を行えます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://expense.labnotes.org/mcpclaude mcp add --transport http assaf-expense https://expense.labnotes.org/mcp{"mcpServers":{"assaf-expense":{"type":"http","url":"https://expense.labnotes.org/mcp"}}}Cursor で開く{"servers":{"assaf-expense":{"type":"http","url":"https://expense.labnotes.org/mcp"}}}VS Code で開く{"mcpServers":{"assaf-expense":{"type":"http","url":"https://expense.labnotes.org/mcp"}}}{"mcpServers":{"assaf-expense":{"serverUrl":"https://expense.labnotes.org/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Expense
Expense は、レシートをスムーズに追跡できるソリューションです。レシートはメールで自動送信され、走行距離にはIRSが定める税率が適用され、スマートなAIアシスタントがデータ入力を行うため、こうした作業をすっかり忘れていられます。
PRODUCT.md が全体像です。製品の概要や仕組み、ユーザーが使うページ、アーキテクチャとデータモデル、用語を説明しています。このファイルが入口で、PRODUCT.md が全体を把握するための案内です。
スクリーンショット



できること
レシートは、写真、スクリーンショット、PDF、クリップボード、接続済みのFastmailまたはGmailのメールボックス、あるいはMCPアシスタントから取り込めます。それぞれのレシートから販売店名、金額、カテゴリを読み取り、IRS Schedule Cの項目に分類して、画像とともに保存します。走行ルートを地図に記録し、旅行の日付と種類に応じたIRSの税率で金額を算出します。年間の記録は、レシートを添付したレポートごとのPDF、またはすべてをまとめた1つのZIPファイルとして出力できます。保証書類を保証ページに追加すると、保証期間の終了が近い順に確認できる記録になります。スマートフォンのホーム画面にインストールすると、経費一覧が開きます。
無料で、クレジットカード不要、広告なし、有料プランもありません。企業の経費規定、承認、複式簿記には対応していません。各ページの説明とその背後にあるルールを含む詳しい案内は、PRODUCT.md をご覧ください。
AI アシスタント(MCP)
このアプリは https://expense.labnotes.org/mcp でModel Context Protocolに対応しています。アシスタントはOAuthで接続します。サインインして「許可」をクリックするだけで、APIキーは必要ありません。接続したアシスタントは、レシートの登録、走行記録の入力、支出に関する質問への回答、レポートの管理、銀行明細との照合を行えます。
// Claude — .mcp.json (no headers needed: the client discovers OAuth)
{
"mcpServers": {
"expense": {
"type": "http",
"url": "https://expense.labnotes.org/mcp"
}
}
}
リファレンスは docs/mcp.md、ツール一覧は PRODUCT.md にあります。
アカウント
メールアドレスをログイン名として使用し、scryptでハッシュ化します。セッションには署名付きCookieを使用します。すべてのデータはアカウントに属し、1つのアカウントに複数のユーザーを登録できます。アカウント間は完全に分離されています。新しいアカウントに登録するか、設定にある8文字の招待コードを使って既存のアカウントに参加できます。画像キーはアカウントごとに名前空間が分かれているため、2つのアカウントでキーが重複することはありません。詳しくは、PRODUCT.md と docs/accounts.md をご覧ください。
構築方法
モノレポではなく、アプリケーション1つとPostgresデータベース1つで構成されています。React Router v8のフレームワークモード(SSR)を使用し、URLツリーをファイルシステムとして扱います。Prisma 8のコントラクトファースト方式を採用しているため、スキーマは prisma/contract.prisma で定義し、マイグレーションファイルはありません。画像はオブジェクトストレージではなく、バイトデータとしてPostgresに保存します。VercelとSupabase Postgresにデプロイされており、main へのプッシュでデプロイされます。図は PRODUCT.md にあります。
ローカルで実行するには pnpm dev を使います。環境変数、コネクションプーラー、デプロイ手順については、docs/operations.md と docs/deploy.md をご覧ください。
ドキュメント
| ドキュメント | 内容 |
|---|---|
| PRODUCT.md | 概要、仕組み、ツアー、アーキテクチャ、用語 |
| AGENTS.md | このプロジェクトの変更に適用される不変条件、コマンド、落とし穴 |
| docs/files.md | 重要なファイルの一覧(一行ずつ) |
| docs/operations.md | 環境変数、プーラー、シークレット、インシデント履歴 |
| docs/deploy.md | デプロイの順序とスモークテスト |
| docs/extraction.md | 領収書の読み取り方法と、その上限 |
| docs/receipts-by-email.md | Fastmail の転送経路 |
| docs/email-connections.md | 接続済みメールボックスと受信トレイの確認 |
| docs/reconciliation.md | 明細書と経費の照合 |
| docs/accounts.md | アカウント、ユーザー、招待 |
| docs/mcp.md | アシスタント向けリファレンス |
| docs/code-style.md · docs/testing.md · docs/dark-mode.md | 規約 |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。