mcpField
B
bookie

bookie

ローカル
github.com/yuens1002金融データ16 週間前に更新

bookie について

bookieは、ClaudeやGPTから会計を管理するフリーランサー、個人事業主、大家向けのMCP記帳サーバーです。複式簿記と決定的なルールで帳簿を扱い、CSV取り込み、照合、税務レポートを提供します。言語処理はホスト側のモデルが担います。

主な機能

  1. 01複式簿記と勘定科目の管理
  2. 02プレビュー・重複排除付きCSV取引取り込み
  3. 03分類ルールと取引の分割
  4. 04プレビュー後に確定する明細照合
  5. 05Schedule C・Schedule Eレポート
  6. 06領収書管理とレポート出力

活用シーン

  1. 01銀行・カード明細の取り込みと分類
  2. 02明細データを使った月次照合
  3. 03年次の税務損益レポートの作成
  4. 04領収書の保存とレポートの出力・送信

MCP 対応

bookieは記帳ツール、口座と年次レポートのリソース、3つのワークフロープロンプトをMCPクライアントに公開します。ホストとの接続にはstdioとHTTPのトランスポートを利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"yuens1002-bookie": {
"command": "npx",
"args": [
"-y",
"bookie-mcp"
],
"env": {
"BOOKIE_DB_URL": "<BOOKIE_DB_URL>",
"BOOKIE_DB_DIRECT_URL": "<BOOKIE_DB_DIRECT_URL>",
"BOOKIE_API_KEY": "<BOOKIE_API_KEY>"
}
}
}
}
起動コマンドnpx -y bookie-mcp
設定が必要な環境変数
BOOKIE_DB_URLシークレットNeon pooled Postgres connection string — the ledger database
BOOKIE_DB_DIRECT_URLシークレットNeon direct (non-pooled) Postgres connection string, used for schema push
BOOKIE_API_KEYシークレットStatic Bearer token for authenticating requests (printed by `npm run setup`)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmbookie-mcp0.8.5

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

bookie

npm npm に公開

フリーランサーや家主の帳簿を管理する MCP サーバーです。QuickBooks の代わりに、Claude や GPT から操作できます。

LLM に銀行明細のインポート、支出の分類、月次の照合、Schedule C の作成を依頼できます。Bookie はその下で正確な複式簿記の台帳を提供するため、モデルは即興で作り上げたスプレッドシートではなく、実際の数値をもとに推論できます。

こんな方におすすめです: Claude や GPT を日常的に使っている個人事業主、フリーランサー、賃貸物件の所有者で、5 分ほどのセットアップに抵抗がなく、正確な帳簿を付けたい方。

こんな方にはおすすめしません: ダッシュボード UI が必要な方、複数ユーザーでのアクセスが必要な方、または QuickBooks やスプレッドシートで十分な方。

始める前に必要なもの

  • Node ≥ 24
  • neonctl — npm install -g neonctl(無料の Neon アカウントが必要です。DB 用)
  • MCP 対応ホスト: Claude Desktop、Claude.ai、Cursor、VS Code、または MCP の stdio/HTTP トランスポートに対応するホスト

クイックスタート(ローカル、stdio)

おすすめ — ソースからの完全自動セットアップ:

git clone https://github.com/yuens1002/bookie
cd bookie
npm install
npm run setup   # creates Neon DB, generates secrets, writes .env, runs db:push
npm run build

npm run setup を実行するとブラウザーが開き、Neon にログインできます。Neon を初めて利用する場合は、「アカウントを登録」リンクを使い、メールアドレスとパスワードではなく GitHub/Google/Microsoft を選んでください。同じブラウザーの往復で完了するため、待機中に CLI が中断される可能性があるメール認証の手間を避けられます。

npm run setup の最後に、Claude Desktop にそのまま貼り付けられる設定ブロックが表示されます:

{
  "mcpServers": {
    "bookie": {
      "command": "node",
      "args": ["/absolute/path/to/bookie/dist/index.js"],
      "env": {
        "BOOKIE_DB_URL": "<printed by setup>",
        "BOOKIE_DB_DIRECT_URL": "<printed by setup>",
        "BOOKIE_API_KEY": "<printed by setup>"
      }
    }
  }
}

同じ台帳を使う別のマシンを追加する場合 — クローンは不要です: stdio はローカルプロセスです。stdio MCP クライアントを実行する各マシンがそれぞれサーバーの独自コピーを起動するため、通常は各マシンに個別のチェックアウトが必要です。Neon DB のプロビジョニングが完了すれば(上記の npm run setup をいずれかのマシンで実行)、ほかのマシンでは同じ接続文字列を設定するだけで済みます。同期のための git clone、npm install、npm run build は不要です。そのマシンの MCP ホストから、代わりに公開済みパッケージを指定してください:

{
  "mcpServers": {
    "bookie": {
      "command": "npx",
      "args": ["-y", "bookie-mcp"],
      "env": {
        "BOOKIE_DB_URL": "<same value as your first machine>",
        "BOOKIE_DB_DIRECT_URL": "<same value as your first machine>",
        "BOOKIE_API_KEY": "<same value as your first machine>"
      }
    }
  }
}

npx は必要に応じて公開済みバージョンを取得して実行します。すべてのマシンで同じ BOOKIE_DB_URL を指定すれば、最初のマシン以外でチェックアウトを行わなくても、1 つの台帳を共有できます。

クローンせずに DB を初期化する場合: どのマシンからも接続文字列をまだ取得していない場合(たとえば npm run setup ではなく、Neon プロジェクトを手動で作成した場合)、bookie に同梱されているスキーマを直接適用してください:

mkdir bookie-mcp && cd bookie-mcp
npm install bookie-mcp
BOOKIE_DB_URL=<pooled> BOOKIE_DB_DIRECT_URL=<direct> npx prisma db push --schema=node_modules/bookie-mcp/prisma/schema.prisma

その後、上記と同じ npx -y bookie-mcp の設定を使用してください。

クイックスタート(リモート、HTTP — Claude.ai モバイル向け)

ワンクリックで Railway にデプロイできます:

Railway にデプロイ

Railway は事前ビルド済みのイメージを GHCR から取得するため、ソースのビルドは不要です。プロンプトが表示されたら、必要な環境変数を設定してください。詳しい手順(環境変数の一覧、Neon と Resend のセットアップ、Claude.ai OAuth コネクター)については、docs/DEPLOYING.md を参照してください。

UI がないのはなぜですか?

ホストの LLM はすでに CSV を読み取り、レシートの画像を認識し、文章を作成できます。Bookie が担うのは、LLM に即興で処理させるべきではないもの、つまり正確な複式簿記の台帳、整数のセント単位での金額計算、決定論的な分類ルール、再現可能なレポートです。モデルが言語と画像を処理し、サーバーが帳簿を管理します。

ツール

完全かつ常に最新のツールリファレンスは docs/TOOLS.md にあります(npm run docs:tools で再生成できます)。現在の内容:

ツール機能
manage_accountsアカウントの作成/一覧表示/アーカイブ(セグメント単位のカテゴリには税区分が設定されます)
add_transaction複式簿記の仕訳を1件記録します(資金は → から → へ流れます)
split_transaction1つの支払側とN個のカテゴリ側(複数カテゴリに分割された領収書)
import_transactions銀行/カードのCSVを貸借が一致した仕訳としてインポートします — プレビュー → 確定、重複排除あり
manage_rules自動分類ルールの作成/一覧表示/削除/テスト/提案を行います(カテゴリ分類 → アカウント/物件、または除外)。インポートプレビューの候補提示に使用されます。action=suggest は過去のカテゴリ分類をスキャンし、2回以上出現する摘要について候補ルールを返します
categorize_transaction既存の仕訳の収入/費用側を再分類します — 明示的にアカウントを指定するか、保存済みルールを適用します
reconcile銀行/カードの明細CSVを総勘定元帳と照合し、転記を消込済みとしてマークします — プレビュー後に確定
manage_receipts領収書データを添付/一覧表示/削除するか、署名付きダウンロードURLを取得します。必要に応じて元ファイル(JPEG、PNG、WEBP、HEIC、またはPDF)をRailway Bucketストレージにアップロードできます
generate_report月次照合サマリー、または会計年度のSchedule C/Schedule E税務損益計算書
export_report任意のレポートをMarkdownまたはCSVとして出力します
send_reportレポートを実行し、Resend経由でメール送信します
query_transactions日付範囲/アカウントで仕訳と転記を一覧表示します
account_balancesアカウントごとの現在残高

リソース

Bookieは、LLMがツールを呼び出さずに読み取れる2つのMCPリソースを公開します。

リソースURIMIMEタイプ内容
bookie://accountsapplication/json現在の残高を含むすべての有効なアカウント
bookie://reports/{year}text/markdown年間会計スナップショット:Schedule C、Schedule E、および月ごとに1行のサマリー(期首残高、純利益、消込済み転記数)

プロンプト

よくある簿記タスクをLLMが進めるための、あらかじめ用意されたワークフロープロンプトが3つあります。

プロンプトパラメーター目的
monthly-closeyear、month月末締めを段階的に進めます:CSVのインポート → カテゴリ分類 → 照合 → レポート →(任意で)メール送信
categorize-uncategorized(なし)収入/費用側が未分類の仕訳を見つけ、各仕訳のカテゴリ分類を進めます
prepare-tax-summaryyearSchedule C + Eを生成し、MarkdownおよびCSVとして出力して、必要に応じてメール送信します

設定

完全なリファレンスは .env.example を参照してください。主な変数:

変数目的
BOOKIE_TRANSPORTstdio(デフォルト)または http
BOOKIE_DB_URLNeonのプール接続文字列
BOOKIE_DB_DIRECT_URLNeonの直接接続文字列(db push 用)
BOOKIE_API_KEY静的Bearerトークン(Claude Desktop/直接API)
PUBLIC_URLデプロイ済みサーバーの公開HTTPSベースURL(Claude.aiコネクター)
JWT_SECRETOAuth JWTアクセストークン用HS256署名シークレット
OAUTH_CLIENT_IDOAuthクライアントID(デフォルト:claude-ai-connector)
OAUTH_CLIENT_SECRETOAuthの使用時に必須:未設定の場合、/authorize はすべてのリクエストを拒否します(すべての訪問者が認可できないようにします)。/token でも検証されます。この値をClaude.aiコネクターの設定に入力してください。
RESEND_API_KEYsend_report 用のResend APIキー
RESEND_FROMsend_report 用の確認済み送信者アドレス(例:Bookie <[email protected]>)
AWS_ENDPOINT_URL / AWS_S3_BUCKET_NAME / AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_DEFAULT_REGIONRailway Bucketの認証情報 — バケットをサービスに接続すると自動的に注入されます(AWS SDK Genericスタイルを使用)。manage_receipts での領収書ファイルのアップロードが可能になります

ドキュメント

安全性

Bookie は、Neon Postgres データベースに金融データを保存します。接続文字列は .env(gitignore 対象)と Railway の環境変数に保存し、決してコミットしないでください。HTTP トランスポートでは、すべての /mcp リクエストに認証が必要です。静的な Bearer トークン(BOOKIE_API_KEY)または /token エンドポイントが発行する OAuth JWT のいずれかを使用します。サーバーを localhost の外部に公開する前に、必ず少なくとも一方を設定してください。Claude.ai コネクターの OAuth 設定全体については、docs/DEPLOYING.md を参照してください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。