runBqlQuery
残高、取引、勘定科目に対して BQL(Beancount Query Language)クエリを実行します。
Model Context Protocol
いつも使っているAIツールにBeancountを接続。お金のことを質問し、元帳ファイルを編集し、変更の履歴はGitでたどれます。
まずは質問してみましょう。答えの根拠を、元帳までたどれます。
runBqlQuerySELECT sum(position) WHERE account ~ 'Assets|Liabilities'128450.32 USD
MCP互換クライアントで動作
クライアントを選択し、サーバーを一度追加して、アクセスを許可する台帳を承認します。
ターミナルでこのコマンドを実行してください。
Claude Code を開き、/mcp を実行して認証します。Web Beancount にサインインし、1つの台帳またはすべての台帳を承認します。
一度承認すると、資格情報はここから自動的に更新されます。
claude mcp add --transport http beancount https://beancount.io/api-gateway/mcp台帳が複数ありますか?一度にすべてを承認できます。アシスタントは listLedgers を呼び出してアクセス可能な台帳を確認し、各呼び出しで台帳名を指定するため、1つのサーバーですべての帳簿をカバーできます。
Web Beancount アカウントを使用して、サーバーがアクセスできる台帳を承認します。
Web Beancountアカウントをお持ちでないですか? beancount.ioでサインアップ — 台帳はgit push一つで完了です。
サーバーは帳簿と銀行連携のための専用ツールを提供します。帳簿の操作は以下のとおりです。AI はこれらを組み合わせて、ファイル構成を把握し、文脈を読み取り、答えを問い合わせ、編集を提案します。
帳簿ツールと銀行ツール。使い方はクライアントが決めます。
残高、取引、勘定科目に対して BQL(Beancount Query Language)クエリを実行します。
台帳リポジトリのディレクトリ構造を閲覧します。
.beancount ファイルやその他の台帳ドキュメントの内容を読み取ります。
アトミックな git コミットでファイルを変更し、dry_run でプレビューできます。ファイルの追加と削除は createLedgerFiles と deleteLedgerFiles が担います。
あなたの帳簿への書き込みアクセスを持つAIは、約束ではなく設計によって信頼を勝ち取ります。
接続がアクセスできる範囲を選択できます。単一の台帳、またはすべての台帳です。個人の台帳のみを承認すれば、その接続はビジネスの帳簿に触れることはできません。影響範囲はあなたが設定します。
ファイルツール(createLedgerFiles、updateLedgerFiles、deleteLedgerFiles)と appendLedgerText は dry_run モードに対応しています。何も書き込まずに正確な変更内容を検証・プレビューするので、クライアントは先に差分を表示できます。
変更は実際のコミット("AI edit: …")として台帳のリポジトリに記録されます。標準的なgitツールで確認・取り消しできる完全な監査証跡です。
MCPサーバーは、ツール呼び出し間でセッション状態を保持しません。選択した AI クライアントとモデルは、リクエストした結果を受け取ります。接続前に、それらのデータポリシーを確認してください。
あなたの台帳全体はすでにgitリポジトリです。
Git for Beancountの動作を確認する接続前に知っておきたいこと。
どのように構築されているか気になりますか?
ブログでエンジニアリングFAQを読む他の会計MCPサーバーと比較検討中ですか?
Beancount MCPとQuickBooks、Xero、Expensifyの比較MCP(Model Context Protocol)は、AIアシスタントが外部ツールやデータソースに構造化された安全な方法でアクセスできるようにするオープン標準です。推測したりデータを貼り付けるよう求めたりする代わりに、AIクライアントは台帳に直接接続し、実際のデータをクエリし、実際のファイルを読み取り、正確な編集を行います。
OAuth 2.1に対応したMCP互換クライアントなら、Claude Code、Claude Desktop、Cursor、Windsurf、Zedなど、すぐにそのまま使えます。OAuth 2.1に対応していないクライアントは、beancount.ioのアカウント設定で生成した静的トークンを使って接続できます。
クライアントの MCP 設定にサーバー URL を追加します。初回使用時にクライアントがブラウザウィンドウを開きます。Web Beancount アカウントでログインし、単一の台帳またはすべての台帳へのアクセスを許可するかを選択します。以降、クライアントは認証情報を自動的に保存および更新します。
サーバーは操作ごとに 1 つのツールを公開しています。現在のツール一覧は beancount.io/.well-known/ にある機械可読のディスカバリーマニフェストで確認できます。帳簿ツールは Beancount Query Language のクエリを実行し(runBqlQuery)、リポジトリを参照し(listLedgerFiles)、帳簿ドキュメントを読み取り(readLedgerFiles)、ディレクティブを日付順に追加し(appendLedgerText)、アトミックな git コミットでファイルを作成・変更・削除します(createLedgerFiles、updateLedgerFiles、deleteLedgerFiles。いずれも dry_run プレビューモードに対応)。銀行ツールは保留中の取引の取得・取り込み・破棄と、連携済み接続の管理を行います。新しい銀行の連携は MCP ではなくブラウザで行います。API キーとアカウント設定は Beancount.io の Web アプリで管理します。AI はこれらのツールを組み合わせて質問に答え、編集を提案します。
新しいディレクティブは appendLedgerText で、ファイルの変更はファイルツール(createLedgerFiles、updateLedgerFiles、deleteLedgerFiles)で行います。dry_run モードは何もコミットせずに予定の変更をプレビューします。実際のコミット前に確認を求めるかどうかはクライアント次第です。コミットされた変更はすべて実際の git コミットとして残り、標準の git ツールで元に戻せる完全な監査証跡になります。コミット処理では書き込み後に検証エラーが報告されることがあるため、先にプレビューし、その後で帳簿を確認してください。
帳簿データはWeb Beancountバックエンドを経由し、ツールの実行結果としてAIクライアントに返されます。選択したAIモデルがその結果を受け取るため、そのプロバイダーのデータポリシーも適用されます。接続は認可した帳簿にのみ到達します。1つの帳簿でも、すべての帳簿でも可能です。