freee MCP × Claude Codeで確定申告を自動化しようとしたら期待外れだった話

AI

確定申告の時期、X(旧Twitter)で「freee MCP × Claude Codeで確定申告が楽勝になった」という投稿をいくつか見かけた。

フリーランスエンジニアとして毎年の確定申告が面倒だった自分は、これは試すしかないと飛びついた。結果、期待外れだった。

freee MCPが悪いわけでも、Claude Codeが悪いわけでもない。freee APIの仕様そのものに限界があるという話だ。

この記事では、実際にfreee MCP × Claude Codeで2025年分の確定申告作業を進めた結果、できたこと・できなかったこと・紛らわしかったポイントを正直にまとめる。

結論:取引登録は自動化できるが、確定申告は楽にならない

先に結論を書く。

  • できた:銀行明細の取得、勘定科目の自動判断、取引の一括登録(約90件)
  • できなかった:「自動で経理」との連携、確定申告書の作成・提出
  • 結局:帳簿は完成するが、freeeのUIで手動作業が残る

Xで言われている「楽勝」は盛りすぎだ。正確には「取引の仕訳入力が楽になった」くらいが妥当なところ。

freee MCPとは何か

MCP(Model Context Protocol)は、AIツールが外部サービスのAPIを操作するための仕組みだ。freee MCPは、Claude CodeなどのAIツールからfreeeのAPIを叩くための橋渡し役になる。

つまり、こういう流れになる。

Claude Code → freee MCP(橋渡し) → freee API → freeeのデータ

GitHubでオープンソースとして公開されており、OAuth認証でfreeeアカウントと接続して使う。Claude Codeの設定ファイルにMCPサーバーとして追加すればすぐに使い始められる。

セットアップ手順

freee MCPのセットアップは3ステップ。慣れていれば10〜15分で終わる。

1. freeeの開発者サイトでOAuthアプリを作成

まずfreeeの開発者向けサイト(freee Developers Community)にアクセスして、新規アプリケーションを作成する。

  • freeeアカウントで開発者サイトにログイン
  • 「マイアプリ」から「新規作成」
  • アプリ名は何でもOK(例:「freee-mcp」)
  • コールバックURLに urn:ietf:wg:oauth:2.0:oob を設定
  • 作成するとClient IDとClient Secretが発行される。この2つをメモしておく

2. Claude Codeの設定ファイルにMCPサーバーを追加

Claude Codeの設定ファイル(~/.claude/claude_desktop_config.json など)に、freee MCPサーバーの情報を追記する。

GitHubで公開されている freee-mcp(because-and/freee-mcp)のREADMEに設定例がそのまま載っているので、コピーして先ほどのClient IDとClient Secretを埋めるだけだ。具体的には以下のような設定になる。

  • mcpServersにfreee-mcpを追加
  • commandにnpxを指定し、freee-mcpパッケージを実行
  • env(環境変数)にFREEE_CLIENT_IDとFREEE_CLIENT_SECRETを設定

Node.js(npx)が使える環境であれば、別途インストール作業は不要。npx経由で自動的にダウンロード・実行される。

3. OAuth認証を通す

Claude Codeを起動して、freee関連の操作を指示する(例:「freeeの事業所情報を見せて」)。すると初回はブラウザが自動で開き、freeeのOAuth認証画面が表示される。

  • freeeアカウントでログイン
  • アプリへのアクセスを「許可」
  • 認証コードが表示されるので、Claude Codeに貼り付け

これで接続完了。以降はClaude Codeからfreeeのデータ取得・取引登録・各種操作がすべて自然言語の指示で行えるようになる。

セットアップ自体は簡単だ。問題はこの先にある。

実際にやったfreeeの操作

銀行明細の一括取得

楽天銀行のAPI連携から、2025年分の未登録明細を一括取得した。Claude Codeに「未登録の銀行明細を全部見せて」と言うだけで、freee APIを叩いて一覧を返してくれる。ここはスムーズで、なかなか良い体験だった。

勘定科目の判断と取引の一括登録

取得した約90件の明細に対して、Claudeに勘定科目を判断させた。

  • 楽天モバイル、ConoHa、AWS → 通信費
  • ChatGPT、Claude AI、GitHub、Figma等のSaaS → 事業主貸
  • PayPayカード、イオン、ATM等の生活費 → 事業主貸
  • 預金利息、ボーナス金利等の入金 → 事業主借

これをAPIで一括登録。手動でやったら1件ずつUIで勘定科目を選んで登録するところを、Claudeとの会話だけで90件まとめて処理できた。ここまでは確かに「楽勝」だった。

できたこと

  • 銀行明細の一括取得:未登録の全明細をまとめて確認できる
  • 勘定科目の自動判断:Claudeが取引内容から適切な勘定科目を提案してくれる
  • 取引の一括登録:90件を数回のAPI呼び出しで帳簿に登録完了
  • 帳簿の完成:2025年分の全取引が正しい勘定科目で帳簿に入った

取引件数が多い人ほど、この一括登録のメリットは大きい。1件ずつfreeeのUIで登録する手間を考えれば、確かに時短にはなる。

できなかったこと(期待外れポイント)

「自動で経理」との連携ができない

これが最大の落とし穴だった。

freeeには「自動で経理」という機能がある。銀行やクレジットカードから自動取得した明細を、勘定科目を選んで登録していく画面だ。

APIで取引を登録すると、帳簿には正しく記録される。しかし「自動で経理」画面の銀行明細は未処理のまま残り続ける。

なぜか?freee APIには銀行明細と取引を紐付ける「消込」のエンドポイントが存在しないからだ。これはfreeeの開発者コミュニティでも要望が出ているが、2026年3月時点で未実装。

つまりこうなる。

  • 帳簿上は取引登録済み ✅
  • 「自動で経理」には未処理の明細が大量に残っている ❌
  • このまま「自動で経理」から登録すると二重計上になる

結局、「自動で経理」の残件は一つずつ「無視する」で消していく手動作業が必要になる。APIで自動化したのに手動作業が増えるという本末転倒な状況だ。

確定申告書の作成・提出はUI操作のみ

freeeの確定申告機能は、UIのウィザード形式でしか操作できない。APIから確定申告書を生成したり、e-Taxで提出したりすることはできない。

確定申告で一番面倒な「控除の入力」「申告書の確認」「提出」は全部手動。MCPで自動化できるのは、その手前の帳簿作成だけだ。

紛らわしいポイント

freeeの「取引登録」と「自動で経理」は別物

freeeを使っていて一番わかりにくかったのがここだ。

  • 自動で経理 = 銀行明細(wallet_txn)から取引を作るルート
  • API経由の取引登録 = 帳簿に直接取引(deal)を作るルート

この2つは完全に独立しているので、APIで取引を作っても銀行明細側には何も起きない。直感的には「同じ金額・同じ日付の取引を作ったら自動で紐付くでしょ」と思うが、そうはならない。

登録残高と同期残高がズレる

APIで2025年分を登録して、2026年分が未登録の状態だと、freeeの画面で「登録残高」と「同期残高」に差額が表示される。これは2026年分の取引がまだ帳簿にないために起こるズレだが、初見では「何か間違えた?」と不安になる。

「自動で経理」のAI推測と自分の設定は別

APIで取引登録した後に「自動で経理」を開くと、freeeのAIが推測した勘定科目が表示される。これは自分がAPIで設定した勘定科目ではなく、freeeが独自に推測したもの。混乱の原因になるので要注意だ。

Xの「MCP×確定申告楽勝」報告を検証する

Xで見かける楽勝報告は、おそらくこういう人たちだ。

  • 取引件数が月数件レベルで少ない
  • 「自動で経理」のAI推測をそのまま承認するだけで済んでいる
  • MCPでClaude Codeに勘定科目を相談しただけ

つまり「MCPで帳簿作成を完全自動化した」わけではなく、「AIに仕訳の相談ができて便利だった」というレベルの話を「楽勝」と表現している可能性が高い。

実際にfreee MCPで確定申告が「楽勝」になるためには、最低でも以下が必要だ。

  • 消込APIの実装(銀行明細と取引の自動紐付け)
  • 確定申告ウィザードのAPI化
  • wallet_txnのステータス更新API

どれもfreee側の対応待ちで、MCP側では解決できない問題だ。

じゃあfreee MCPは使う価値があるのか

正直に言うと、微妙だ。

取引件数が年間100件を超えるような人なら、一括登録による時短効果はある。ただし「自動で経理」で未処理の明細を「無視する」作業が追加で発生するので、トータルの手間はそこまで減らない。

むしろ、最初から「自動で経理」画面で直接処理する方が楽かもしれない。取引の登録と銀行明細の消込が一発で終わるからだ。

MCPの真価が発揮されるとすれば、freee APIの消込機能が実装された後だろう。それまでは「あると便利だが、なくても困らない」というのが率直な評価だ。

まとめ

  • freee MCP × Claude Codeで取引の一括登録はできる
  • ただし「自動で経理」との消込APIがなく、二重管理が発生する
  • 確定申告書の作成・提出はUI操作が必須
  • Xの「楽勝」報告は盛りすぎ。実態は「仕訳入力が多少楽になる」程度
  • 現時点では「自動で経理」を直接使う方が効率的

MCP自体の技術は素晴らしいし、Claude Codeの仕訳判断能力も高い。問題はfreee APIの仕様にある。消込APIが実装されれば評価は大きく変わるだろう。それまでは過度な期待をせず、「帳簿作成の補助ツール」として割り切って使うのが正解だ。

コメント

タイトルとURLをコピーしました