メインコンテンツへスキップ
Beancount.io Logo

Model Context Protocol

会話の中に、あなたの元帳を。

いつも使っているAIツールにBeancountを接続。お金のことを質問し、元帳ファイルを編集し、変更の履歴はGitでたどれます。

ただ尋ねるだけ

まずは質問してみましょう。答えの根拠を、元帳までたどれます。

これはサンプルデータです。実際の元帳には接続していません。
あなた

今日の純資産は?

AIアシスタント

あなたの純資産は本日時点で128,450.32 USDです。

元帳の残高を照会し、答えの根拠となった結果を確認できます。
答えの根拠
runBqlQuery
SELECT sum(position) WHERE account ~ 'Assets|Liabilities'
Beancount

MCP互換クライアントで動作

  • Claude Code
  • Claude Desktop
  • Cursor
  • Windsurf
  • Zed

すでに使っているクライアントを接続

クライアントを選び、サーバーを追加して、ひとつの元帳へのアクセスを許可します。

Claude Code

  1. ターミナルでこのコマンドを実行してください。

  2. Claude Code を開き、/mcp を実行して認証します。Web Beancount にサインインし、元帳を選択します。

  3. 一度承認すると、資格情報はここから自動的に更新されます。

クライアント設定ドキュメント
ターミナル
claude mcp add --transport http beancount https://beancount.io/api-gateway/mcp

台帳が複数ありますか?別の名前でサーバーを再度追加し、他の台帳をそれぞれのプロンプトで承認してください:

claude mcp add --transport http beancount-business https://beancount.io/api-gateway/mcp

Web Beancount アカウントを使用して、単一の元帳へのアクセスを承認します。

AI ができること

サーバーは、Ledger、APIキー、銀行接続に特化したツールを公開しています。Ledgerの動詞は以下に示されています。AIがそれらを組み合わせます: ファイル構造の探索、文脈のための読み取り、回答のためのクエリ、編集の提案。

Ledger、APIキー、銀行ツール。それらの使い方はお使いのクライアントが決定します。

runBqlQuery

残高、取引、勘定科目に対して BQL(Beancount Query Language)クエリを実行します。

listLedgerFiles

台帳リポジトリのディレクトリ構造を閲覧します。

readLedgerFiles

.beancount ファイルやその他の台帳ドキュメントの内容を読み取ります。

editLedgerFiles

アトミックな git コミットでファイルを作成、更新、置換、または削除します。

あなたの台帳を守ります

あなたの帳簿への書き込みアクセスを持つAIは、約束ではなく設計によって信頼を勝ち取ります。

台帳スコープのOAuth 2.1

1つのセッションは1つの台帳に対してのみ認可されます。個人の台帳のセッションはビジネス台帳に触れることはできません。影響範囲を制限します。

ドライランによるプレビュー

editLedgerFilesはdry_runモードに対応しており、何も書き込まずに正確な変更を検証・プレビューできるため、クライアントは先に差分を表示できます。

すべての編集はgitコミット

変更は実際のコミット("AI edit: …")として台帳のリポジトリに記録されます。標準的なgitツールで確認・取り消しできる完全な監査証跡です。

ステートレスサーバー

MCPサーバーは、ツール呼び出し間でセッション状態を保持しません。選択した AI クライアントとモデルは、リクエストした結果を受け取ります。接続前に、それらのデータポリシーを確認してください。

あなたの台帳全体はすでにgitリポジトリです。

Git for Beancountの動作を確認する

よくある質問

接続前に知っておきたいこと。

どのように構築されているか気になりますか?

ブログでエンジニアリングFAQを読む
MCPとは何か、Beancountにとってなぜ重要なのか?

MCP(Model Context Protocol)は、AIアシスタントが外部ツールやデータソースに構造化された安全な方法でアクセスできるようにするオープン標準です。推測したりデータを貼り付けるよう求めたりする代わりに、AIクライアントは台帳に直接接続し、実際のデータをクエリし、実際のファイルを読み取り、正確な編集を行います。

Beancount MCPサーバーと連携できるAIクライアントは?

OAuth 2.1に対応したMCP互換クライアントなら、Claude Code、Claude Desktop、Cursor、Windsurf、Zedなど、すぐにそのまま使えます。OAuth 2.1に対応していないクライアントは、beancount.ioのアカウント設定で生成した静的トークンを使って接続できます。

元帳を接続するにはどうすればいいですか?

サーバーのURLをクライアントのMCP設定に追加してください。初回使用時にクライアントがブラウザウィンドウを開きます。Web Beancountアカウントでログインし、アクセスを許可する元帳を選択します。以降、クライアントが自動で認証情報を保存・更新します。

AIは元帳で実際に何ができるのですか?

サーバーは特化したツール群を公開しています。beancount.io/.well-known/ にある機械可読なディスカバリーマニフェストに現在のセットがリストされています。LedgerツールはBeancount Query Languageのクエリを実行したり(runBqlQuery)、リポジトリを閲覧したり(listLedgerFiles)、Ledger文書を読み取ったり(readLedgerFiles)、そして原子的なgitコミットでファイルを作成・更新・削除したりします(editLedgerFiles、dry_runプレビューモードあり)。さらに、APIキーを管理するツール(一覧、発行、失効 — 発行には有料プランとOAuth付与が必要で、APIキーではありません)や、銀行接続とインポートを管理するツール(取引のステージング、送信、破棄 — 新しい銀行はブラウザでリンクされ、MCP経由ではありません)があります。AIはこれらを組み合わせて質問に答え、編集を提案します。

AIが私の知らないうちに元帳を変更することはありますか?

編集はeditLedgerFilesツールを通じて行われます。dry_runモードでは、何もコミットせずに計画されたファイル操作をプレビューできます。実際のコミットの前にクライアントが確認を求めるかどうかは、クライアントに依存します。コミットされたすべての変更は実際のgitコミットとして記録され、標準のgitツールで元に戻せる完全な監査証跡となります。コミットパスは書き込み後に検証エラーを報告することがあるため、まずプレビューし、その後にLedgerを検証してください。

データが第三者に送信されることはありますか?

元帳データは Web Beancount バックエンドを経由し、ツール結果として AI クライアントに返されます。選択した AI モデルがその結果を受け取るため、プロバイダーのデータポリシーも適用されます。各承認セッションは1つの元帳に限定されます。

次の会話に、あなたの元帳を持ち込みましょう。

Beancount MCPサーバーは、現在すべてのWeb Beancountユーザーが利用できます。あなたの元帳はgit pushひとつで接続できます。