keiri-files-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
keiri-files-mcp(経理ファイル整理MCP)
AIに貼る導入プロンプト
次の文をそのままAI(Claude Code/Codex/Gemini CLI など、ファイル操作ができるAI)に貼ってください。
このリポジトリのREADMEとsrcを読んで、外部通信・削除・許可フォルダ外アクセスがないか要約してください。
問題なければ、私の環境(Claude Desktop/Claude Code/Codex 等)に合う導入手順を示し、私の承認を得てから実行してください。
許可フォルダには、レシート・請求書を置く専用のフォルダだけを指定してください。PC内のレシート・請求書(PDF/画像)を、あなたのAIが読み取った内容をもとに
中身をAIに見せる(
read_file。JPG/PNGは画像、PDFは埋め込みテキスト)規則的なファイル名
YYYYMMDD_取引先_金額_書類種別.拡張子へコピー(またはリネーム)台帳CSV(UTF-8 BOM付き、Excelでそのまま開ける)へ追記
日付・金額・取引先で検索
するローカルMCPサーバーです。
文字認識(OCR)はしません。
read_fileは画像やPDFのテキストをそのままAIに渡すだけで、読み取るのはあなたのAIです外部通信なし・削除なし・子プロセスの実行なし。依存は公式MCP SDKと zod のみ(SDKが内部で依存する express 等のパッケージも .mcpb に同梱されますが、このツールのコードからは使っておらず、通信用のサーバーも起動しません)
許可したフォルダの外は読み書きしません(
../やシンボリックリンクでの脱出も拒否)書き込みを伴うツールは、AIクライアントの承認画面を通ります(ただし承認画面はクライアントの設定(自動承認など)によって出ないことがあります)
免責
ファイル名と一覧表を整える補助ツールです。電子帳簿保存法の要件を満たすことは保証しません。
税務判断(勘定科目の確定、経費になるか等)はしません。読み取り結果と台帳の内容の確認は利用者の責任で行ってください。
本ソフトウェアは現状のまま提供され、利用によって生じた損害について作者は責任を負いません(LICENSE 参照)。
Related MCP server: invoice-server
ツール
ツール | 内容 | 書き込み |
| PDF/JPG/PNG/HEIC の一覧(相対パス、サイズ、更新日時、台帳登録済みか)。最大500件。 | なし |
| 証憑1件の中身を返す。JPG/PNG → MCP の image(base64)。PDF → 埋め込みテキスト(下記)。HEIC は非対応(JPGに変換を案内)。画像は約3.7MB(base64で5MB)まで | なし |
| 命名案と形式エラー(日付・金額・登録番号・書類種別)を返し、 | なし |
|
| あり |
|
| あり(追記のみ) |
| 条件を組み合わせて検索。件数・合計金額・該当行 | なし |
itemsの各要素:path,date(YYYY-MM-DD),vendor,amount(整数・円),doc_type(領収書/請求書/見積書/納品書/その他),invoice_no(任意、T+13桁)台帳の列: 日付, 支払先, 科目, 内容, 金額, 支払方法, インボイス有無, 登録番号, 証憑ファイル名, 事業割合(%), 書類種別, 元ファイル, 登録日時
インボイス有無は「あり」「なし」、事業割合は「50%」の形で書きます(Excel で開くと 0.5・パーセント表示として認識されます。未指定は空欄)。v0.3.0 までの「有」「無」の行もそのまま読み込み・重複判定に使えます
A〜J 列(日付〜事業割合)は、別売の台帳Excelにも貼れる並びです。台帳Excelへは A〜J 列(日付〜事業割合)だけをコピーして「経費」シートの5行目以降に値として貼ります。K列以降(書類種別・元ファイル・登録日時)は貼りません(台帳Excelの K列は台帳側の計算式です)
plan_idはサーバーのメモリ上にだけあり、再起動で消えます。1つのplan_idは1回だけ実行できます提案後に元ファイルが変更・移動された場合、その行は実行しません
登録番号は形式(T+13桁)だけを確認します。実在の確認はしません
「重複の可能性」は日付・取引先・金額が同じときに出す警告です(取引先は前後の空白と全角/半角の違いを無視して比較)。エラーにはせず、止めるかどうかは利用者とAIが決めます
見積書は支払いの記録ではないため、
ledger_appendは既定で追記せず理由を警告で返します。台帳に入れたいときはinclude_quotes: trueを指定します。納品書は同じ取引の請求書・領収書と二重計上になりうるため、追記したうえで注意を返します取引先が Windows の予約名(CON, PRN, AUX, NUL, COM1〜9, LPT1〜9)になる場合は、先頭に
_を付けますrenameモードで整理したファイルも、整理済み/log.csvの記録先に実在すればledger_appendで追記できます(記録先から移動・名前変更すると警告になります)
read_file の PDF の返し方
埋め込みテキストを取り出せるPDF(パソコンで作った請求書など)は、テキストで返します。 取り出しは依存を増やさない簡易版です(node:zlib のみ。FlateDecode・ASCII85・ASCIIHex、ToUnicode、オブジェクトストリームに対応)。配置は崩れることがあります
テキストが無いPDF(スキャン画像だけ等)や暗号化PDFは、PDFファイルそのものを MCP の resource(blob、application/pdf)で返します。 AIクライアントがPDFを表示できるかはクライアント次第です。表示できない場合は、JPG/PNGに変換してから読み取ってください(その旨を結果に書きます)
画像の縮小はしません(外部ライブラリを使わないため)。上限(約3.7MB)を超える画像はエラーで知らせます。スマホの写真など大きい画像は、縮小してから(または解像度を下げて保存し直してから)読み取ってください
フォルダ構成(例)
<許可フォルダ>/
受信/ ← レシート・請求書を置く
整理済み/ ← ツールが作る
20261001_架空商事テスト株式会社_55000_請求書.pdf
ledger.csv ← 台帳
log.csv ← 実行ログ使い方の流れ(AI向けの手順は SKILL.md)
scan_folderで一覧を出すAIが各ファイルを開いて日付・取引先・金額・書類種別・登録番号を読む(自信がない項目は利用者に聞く)
propose_namesで命名案を作り、利用者が確認・承認するapply_renamesで実行(既定はコピー)ledger_appendで台帳に追記(科目・支払方法などは利用者が決める)search_ledgerで確認
導入
必要なもの: Node.js 20 以上。
npm ci
npm run build
npm test起動は node dist/index.js <許可フォルダ> [<許可フォルダ2> ...] です。環境変数 KEIRI_ALLOWED_DIRS(Windows は ;、macOS/Linux は : 区切り)でも指定できます。以下の <...> は自分の絶対パスに置き換えてください。Windows のパスは / 区切りで書いても動きます。
Claude Desktop(.mcpb)
GitHub の Releases にある keiri-files-mcp-<版>.mcpb を使うか、自分で作ります。
npm ci
npm run build
npm test
npm run packnpm run pack(scripts/pack-mcpb.mjs)は、一時フォルダに dist・manifest.json・README 等だけをコピーし、本番用の依存だけを入れて keiri-files-mcp-<版>.mcpb を作ります。開発用の依存(typescript、テスト用の架空証憑を作る pdfkit 等)は入りません。
できた .mcpb をダブルクリック(または Claude Desktop の設定画面にドラッグ)し、許可フォルダを選びます。v0.3.0 は Windows の Claude Desktop で導入と動作を確認済みです(macOS は未確認)。
Claude Code
claude mcp add keiri-files -- node <keiri-files-mcpの場所>/dist/index.js <許可フォルダ>未確認(コマンドの形式は公式ドキュメントに基づく)。
Codex(~/.codex/config.toml)
[mcp_servers.keiri-files]
command = "node"
args = ["<keiri-files-mcpの場所>/dist/index.js", "<許可フォルダ>"]未確認。
Gemini CLI(~/.gemini/settings.json)
{
"mcpServers": {
"keiri-files": {
"command": "node",
"args": ["<keiri-files-mcpの場所>/dist/index.js", "<許可フォルダ>"]
}
}
}未確認。
安全のための設計
パスは実パスに解決してから許可フォルダ配下かを判定します
一覧ではシンボリックリンクをたどりません
コピーは既存ファイルを上書きしません(同名は
_2等)。リネームも上書きしません台帳CSVは
=+-@で始まる文字列の先頭に'を付け、Excelで数式として実行されないようにしていますソースは
src/の数ファイルだけです。AIに読ませて確認できます
開発
npm test: 単体テストと、SDKのMCPクライアントで架空の証憑10件を通す結合テスト(v0.2 の read_file・予約名・台帳の存在確認を含む)node test/make_fixtures.mjs [日本語TTF] [欧文TTF]: テスト用の架空の証憑10件(日本語のレシート画像6件・テキスト入りPDF4件、test/fixtures/receipts)と印字内容doc_texts.jsonを作り直す。社名・宛名はすべて架空、登録番号は先頭0の架空番号です。pdfkit・pureimage・pngjs・jpeg-js は開発用(devDependencies)で、.mcpb には入りません
English (summary)
A local MCP server that shows receipt/invoice contents to your AI (read_file: JPG/PNG as images, PDFs as embedded text or as a PDF resource), renames/copies the files (PDF/JPG/PNG/HEIC) to YYYYMMDD_vendor_amount_type.ext and appends rows to an Excel-friendly CSV ledger, based on what your own AI client read from the documents. No OCR, no network access, no deletion; it only touches the folders you allow. It is a helper for tidying file names and lists, not a guarantee of compliance with Japanese e-bookkeeping law, and it makes no tax decisions. License: MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
Capture and organize receipts from your AI chat: totals, categories, ledgers.
Expense ledger for AI assistants: record receipts line by line, ask what you spent, export anytime.
Log expenses and export clean reports for tax time - your ledger never leaves your machine.
Receipt ingestion, Gmail capture, expense analysis, and reviewed reports for AI-agent workflows.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables extraction of structured data from documents like invoices, receipts, and bank statements using local Vision AI (Ollama) or cloud providers (Gemini), with data stored in a local SQLite database.119 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to inspect and extract invoice metadata from PDFs, Word documents, Excel files, and images, then synchronize and enrich the extracted data into an Excel ledger.-
- AlicenseNot gradedqualityBmaintenanceEnables local, private receipt management for users and their agents, with all BillCheck MCP tools for creating, updating, and sharing receipt data without requiring an account, cloud database, or model API key.AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables assistants to file, search, and manage invoices, contracts, policies, and official letters, and to create, explain, update, and remind on their derived deadlines. It also supports mail scanning, warranty checks, notification testing, settings changes, and upkeep through a running local paperwork app.MIT