Beanquery MCP について
Beanquery MCP は、AI アシスタントが BQL と beanquery ツールを使って Beancount 台帳ファイルを照会・分析できるようにする実験的な MCP サーバーです。プレーンテキスト会計を利用する個人ユーザー向けで、財務データへの標準化されたアクセスを提供します。台帳の内容が LLM プロバイダーに送信される可能性がある点に注意が必要です。
主な機能
- 01読み込んだ台帳に対する BQL クエリの実行
- 02台帳ファイルのアカウント一覧の取得
- 03BQL からアクセス可能なテーブル一覧の取得
- 04環境変数またはツールによる台帳ファイルの指定
活用シーン
- 01AI アシスタントによる個人台帳の取引照会
- 02Beancount 台帳のアカウントデータの分析
- 03開発環境での台帳クエリワークフローの検証
MCP 対応
MCP サーバーとして、run_query や set_ledger_file などのツール、および beanquery://tables と beanquery://accounts のリソースを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Beanquery MCP
Beancount MCP サーバーは、Beancountの台帳ファイルと連携するために設計された、Model Context Protocol(MCP)の実験的な実装です。Beancount Query Language(BQL)とbeanqueryツールを活用することで、このサーバーはBeancount形式で保存された財務データのシームレスなクエリと分析を可能にします。MCPを統合することで、AI アシスタントとBeancountの台帳間の標準化された通信を実現し、財務データのアクセシビリティと有用性を高めます。
注:このサーバーは実験的なものであり、大幅に変更される場合があります。開発環境で使用し、さらなる改善のためにフィードバックを提供することをおすすめします。
生成されたサンプル台帳はsample.beanで確認できます。
利用可能なリソースとツール
- ツール:
set_ledger_file:クエリに使用するBeancount台帳ファイルを設定します(環境変数で設定されていない場合)。run_query:読み込まれたBeancountファイルに対してBQLクエリを実行します。
- リソース:
beanquery://tables:BQLからアクセスできるテーブルの一覧を取得します。beanquery://accounts:読み込まれたBeancountファイル内のアカウント一覧を取得します。
Claude.aiを使った例

MCPの操作を展開したスクリーンショットは、こちらをご覧ください。
⚠️ プライバシーに関する警告
このツールは、Model Context Protocol(MCP)を介して言語モデルプロバイダー(LLM)と連携するため、Beancountの台帳の一部(機密情報や個人の財務情報を含む可能性があります)がサードパーティのサービスに送信される場合があります。
特に、以下の場合はこのツールを慎重に使用してください。
- 台帳に機密データ(クライアント名、給与の詳細、健康関連の支出など)が含まれている場合。
- クラウドホスト型またはセルフホストではないLLMバックエンドを使用している場合。
推奨事項:
- テスト用台帳では機密データをマスキングするか、削除してください。
- 可能な場合はセルフホスト型LLMを使用してください。
- MCP経由で送信されるデータを確認し、プライバシーおよびセキュリティ要件に準拠していることを確かめてください。
注意
財務データの保護はご自身の責任です。公開しても問題ないと思える台帳以外は共有しないでください。
セットアップ
前提条件
- Python 3.10以降
- Pythonプロジェクトの管理用uv(推奨)
使用方法
サーバーの実行
-
開発モード: MCP Inspectorを使用して、サーバーをテストおよびデバッグします。
mcp dev server.py -
Claude Desktopとの連携: サーバーをClaude Desktopにインストールします。
mcp install server.py-
クイックスタート:
uv run mcp install server.py -v BEANCOUNT_LEDGER=$(pwd)/sample.bean --with beancount --with beanquery -
カスタム名:
uv run mcp install server.py --name "Beanquery MCP Server" --with beancount --with beanquery -
環境変数:
uv run mcp install server.py -v BEANCOUNT_LEDGER=/path/to/your/ledger.bean --with beancount --with beanquery uv run mcp install server.py -f .env --with beancount --with beanquery
-
テスト
pytestを使用してテストスイートを実行します。
pytest server_test.py
コントリビュート
- リポジトリをフォークします。
- 機能ブランチを作成します。
git checkout -b feature-name - 変更をコミットします。
git commit -m "Add feature description" - ブランチにプッシュします。
git push origin feature-name - プルリクエストを作成します。
ライセンス
このプロジェクトはMITライセンスのもとで公開されています。詳細についてはLICENSEファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。