Skip to main content
Glama

Copilot Money MCPサーバー

ローカルのCopilot Moneyデータを使用して、AIで個人の財務状況を照会・管理する

License: MIT Node.js 18+ TypeScript Tests Tools

免責事項

これは独立したコミュニティ主導のプロジェクトであり、Copilot Moneyやその親会社とは一切関係がなく、承認や提携も受けていません。 このツールは、ローカルにキャッシュされたデータに対してAIを活用したクエリを実行できるようにするために、独立した開発者によって作成されました。「Copilot Money」は、それぞれの所有者の商標です。

概要

AIアシスタントがCopilot Moneyの個人財務データにアクセスできるようにするMCPサーバーです。Mac上のローカルにキャッシュされたFirestoreデータベース(LevelDB + Protocol Buffers)から読み取ります。読み取りは100%ローカルで行われ、ネットワークリクエストは一切発生しません。 オプションの書き込みモード(--writeで有効化)では、リクエストされた変更をCopilot Moneyアプリ自体が使用しているものと同じFirebase/Firestoreバックエンドに直接送信します。これは自身の認証情報を使用して行われ、サードパーティのサービスを経由することはありません。

支出、投資、予算、目標など、35種類のツールが利用可能です:

  • 17種類の読み取りツール — 取引、口座、保有資産、残高、カテゴリ、定期的な支払い、予算、目標、投資パフォーマンスなどを照会

  • 18種類の書き込みツール(オプトイン) — 取引の変更の統合、タグの管理、予算の作成、定期的な項目の更新、財務の整理

デフォルトでは読み取り専用です。 書き込みツールを使用するには、サーバーを--writeオプション付きで明示的に起動する必要があります。

プライバシー第一

私たちは、このプロジェクトが運営するサーバーにデータを収集、保存、送信することは一切ありません(そのようなサーバー自体が存在しません)。詳細はプライバシーポリシーをご覧ください。

  • 分析、テレメトリ、追跡は一切行いません

  • 読み取りは完全にローカルで行われ、ネットワークリクエストはゼロです

  • デフォルトでは読み取り専用(--writeを渡さない限り書き込みツールは無効)

  • オプトインの書き込みモードでは、リクエストは自身の認証情報を使用して、自身のマシンからCopilot MoneyのFirebase/Firestoreバックエンドへ直接送信されます。サードパーティのサービスは一切介在しません

  • オープンソース — コードを自身で検証可能です

クイックスタート

前提条件

  • Node.js 18+ (Claude Desktopに同梱されています)

  • Copilot Money (macOS App Store版)

  • Claude DesktopCursor、またはMCP互換クライアント

Claude Desktopでのインストール

  1. Releasesから最新の.mcpbバンドルをダウンロードします

  2. .mcpbファイルをダブルクリックしてClaude Desktopにインストールします

  3. Claude Desktopを再起動します

  4. 財務に関する質問を始めましょう!

npmでのインストール

npm install -g copilot-money-mcp

次に、Claude Desktopの設定ファイル(~/Library/Application Support/Claude/claude_desktop_config.json)に追加します:

{
  "mcpServers": {
    "copilot-money": {
      "command": "copilot-money-mcp"
    }
  }
}

Cursorでのインストール

  1. パッケージをグローバルにインストールします:

npm install -g copilot-money-mcp
  1. Cursorの設定(Cmd + ,)を開き、Features > MCP Serversを選択します

  2. サーバー設定を追加します:

{
  "mcpServers": {
    "copilot-money": {
      "command": "copilot-money-mcp"
    }
  }
}

できること

支出分析

「先月、外食にいくら使った?」

「過去30日間のAmazonでの購入をすべて表示して」

「今年の上位5つの支出カテゴリは何?」

get_transactionsget_categoriesを使用し、日付範囲、テキスト検索、カテゴリフィルタを活用します。

口座概要

「全口座の純資産はいくら?」

「過去6ヶ月間の当座預金口座の残高を月次で表示して」

「注意が必要な銀行接続はどれ?」

get_accountsget_balance_historyget_connection_statusを使用します。

投資ポートフォリオ

「現在の保有資産と合計リターンは?」

「過去1年間のAAPLの価格履歴を表示して」

「今四半期の時間加重収益率は?」

get_holdingsget_investment_pricesget_securitiesget_investment_performanceget_twr_returnsを使用します。

予算と目標

「今月の予算は順調?」

「緊急資金の進捗はどう?」

「過去6ヶ月間の目標履歴を表示して」

get_budgetsget_goalsget_goal_historyを使用します。

サブスクリプションと定期的な支払い

「どんなサブスクリプションを支払っている?」

「月々の定期的な支払いにいくら使っている?」

get_recurring_transactionsを使用します。

財務の整理(書き込みモード)

「Uberの取引をすべて『交通費』カテゴリに分類して」

「休暇の支出に#vacationタグを付けて」

「月額500ドルの外食予算を作成して」

「Netflixを月次の定期的な支払いに設定して」

update_transactioncreate_budgetupdate_recurringなどの書き込みツールを使用します。--writeフラグが必要です。

利用可能なツール

読み取りツール (17)

ツール

説明

get_transactions

フィルタ(日付範囲、カテゴリ、加盟店、金額、口座、場所、テキスト検索、特殊タイプ(海外、返金、重複、HSA対象))を使用して取引を照会します。

get_accounts

残高を含む全口座をリスト表示し、タイプ(当座、貯蓄、クレジット、投資)でフィルタリングします。純資産計算を含みます。

get_categories

取引数と支出合計を含むカテゴリをリスト表示します。リスト、ツリー、検索ビューをサポートします。

get_recurring_transactions

頻度、コスト、次回の予定日を含むサブスクリプションや定期的な支払いを特定します。

get_budgets

支出と制限の比較を含む予算を取得します。

get_goals

目標金額、進捗、月々の拠出額を含む財務目標を取得します。

get_goal_history

日次データと拠出記録を含む、目標の月次進捗スナップショットです。

get_balance_history

時間経過に伴う口座の日次残高スナップショットです。日次、週次、月次の粒度をサポートします。

get_holdings

ティッカー、数量、価格、取得原価、合計リターンを含む現在の投資保有資産です。

get_investment_prices

株式、ETF、投資信託、暗号資産の過去の価格データ(日次+高頻度)です。

get_investment_splits

比率、日付、乗数を含む株式分割履歴です。

get_investment_performance

証券ごとの投資パフォーマンスデータです。

get_twr_returns

投資保有資産の月次時間加重収益率(TWR)データです。

get_securities

ティッカー、名前、タイプ、価格、識別子(ISIN/CUSIP)などの証券マスターデータです。

get_connection_status

最終同期タイムスタンプやエラーを含む、リンクされた金融機関の銀行同期状態です。

get_cache_info

日付範囲、取引数、キャッシュの古さなどのローカルキャッシュメタデータです。

refresh_database

ディスクからデータを再読み込みします。キャッシュは5分ごとに自動更新されます。

書き込みツール (18) — --writeフラグが必要

カテゴリ

ツール

取引

update_transaction (複数フィールドのパッチ), review_transactions

タグ

create_tag, update_tag, delete_tag

カテゴリ

create_category, update_category, delete_category

予算

create_budget, update_budget, delete_budget

目標

create_goal, update_goal, delete_goal

定期的な支払い

create_recurring, update_recurring, set_recurring_state, delete_recurring

書き込みモード

デフォルトでは、サーバーは読み取り専用モードで起動します。書き込みツールを有効にするには、--writeフラグを付けてサーバーを起動してください:

{
  "mcpServers": {
    "copilot-money": {
      "command": "copilot-money-mcp",
      "args": ["--write"]
    }
  }
}

書き込みツールは、Copilot Moneyアプリが使用しているものと同じFirebase/Firestoreバックエンドに認証済みリクエストを直接送信することで、Copilot Moneyデータを変更します。そのため、変更は即座にアカウントに反映されます。書き込みは、ローカルのCopilot Moneyセッションから抽出されたFirebaseリフレッシュトークンを使用して認証されます。認証リクエスト以外で認証情報がマシンから外部へ送信されることはありません。サードパーティのサービスは一切関与しません。詳細はPRIVACY.mdをご覧ください。

設定

キャッシュTTL

サーバーはデータをメモリ内に5分間キャッシュします。環境変数で設定可能です:

# Set cache TTL to 10 minutes
COPILOT_CACHE_TTL_MINUTES=10 copilot-money-mcp

# Disable caching (always reload from disk)
COPILOT_CACHE_TTL_MINUTES=0 copilot-money-mcp

refresh_databaseツールを使用して手動で更新することも可能です。

デコードタイムアウト

大規模なデータベース(500MB以上)の場合、デコードタイムアウト(デフォルト:90秒)を増やしてください:

# Via environment variable
DECODE_TIMEOUT_MS=600000 copilot-money-mcp

# Via CLI flag
copilot-money-mcp --timeout 600000

1GBを超えるデータベースの場合は、Node.jsのメモリも増やしてください:

{
  "mcpServers": {
    "copilot-money": {
      "command": "node",
      "args": [
        "--max-old-space-size=4096",
        "/path/to/copilot-money-mcp/dist/cli.js",
        "--timeout", "600000"
      ]
    }
  }
}

サポートされている日付期間

periodパラメータは以下のショートカットをサポートしています:

this_month last_month last_7_days last_30_days last_90_days ytd this_year last_year

既知の制限事項

ローカルキャッシュへの依存

このサーバーはクラウドではなく、Copilot MoneyのローカルFirestoreキャッシュから読み取ります。Firestoreのオフライン永続化機能は、アプリが取得したすべてのドキュメントをキャッシュするため、ローカルデータベースには通常、アプリで閲覧したすべての取引、口座、予算、目標などのデータが含まれています。デフォルトのFirestoreキャッシュサイズは100MB(数万件の取引に十分)であり、古いドキュメントは制限を超えた場合にのみLRUガベージコレクションによって削除されます。

キャッシュされるデータを最大化するには: Copilot Moneyアプリを開き、データ(取引履歴、口座、予算)を閲覧して、それらが取得されローカルにキャッシュされるようにしてください。

トラブルシューティング

データベースが見つからない

「Database not available」と表示される場合:

  1. Copilot Moneyがインストールされており、データが同期されていることを確認してください

  2. データベースの場所を確認してください:~/Library/Containers/com.copilot.production/Data/Library/Application Support/firestore/__FIRAPP_DEFAULT/copilot-production-22904/main

  3. ディレクトリ内に.ldbファイルが存在することを確認してください

  4. カスタムパスを指定してください:copilot-money-mcp --db-path /path/to/database

デコードワーカーのタイムアウト

「Decode worker timed out」と表示される場合:

  1. タイムアウトを増やしてください:copilot-money-mcp --timeout 300000 (5分)

  2. 1GB以上のデータベースの場合は、Node.jsのメモリも増やしてください:node --max-old-space-size=4096 dist/cli.js --timeout 300000

取引が見つからない

  • Copilot Moneyアプリを開き、同期を待ってください

  • データベース構造が変更されている可能性があります — Issueを作成してください

貢献

開発環境のセットアップ、アーキテクチャ、新しいツールの追加方法についてはCONTRIBUTING.mdをご覧ください。

ライセンス

MITライセンス - 詳細はLICENSEをご覧ください。

謝辞

  • AnthropicによるMCP SDKを使用

  • Zodによるデータ検証

  • Bunで開発

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/ignaciohermosillacornejo/copilot-money-mcp'

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