中級向け
freee の公式 MCP を試す
freee の公式 MCP(AI が freee を直接操作する仕組み)を、Claude Code から、freee の開発用テスト事業所で試しました。期日を過ぎた未入金の一覧は、n8n の督促ワークフローと同じ7件・1,415,150円。一方、単価を書かずに見積書を頼むと、過去の見積書から単価を拾い、確認せずに作りました。取引の作成・更新・削除も、承認なしで通りました。許可設定で毎回確認にする方法と、MCP とワークフローの使い分けを書きます。
公開
動作確認: — freee MCP(リモート版 https://mcp.freee.co.jp/mcp) / Claude Code(VS Code 拡張 2.1.310、Claude Opus 5.5、自動モード) / freee 開発用テスト事業所(法人・スターター)
freee の公式の MCP を使うと、Claude Code に「未入金の一覧を出して」「見積書を作って」と頼むだけで、AI が freee を直接、操作します。n8n でワークフローを組む必要は、ありません。では、ワークフローは、もう要らないのか。freee の開発用テスト事業所で、3つ試しました。
結論は、「調べるのは MCP、作って出すのはワークフロー」です。
- 一度だけ調べるなら、MCP で十分でした。 期日を過ぎた未入金の一覧は、n8n の督促ワークフローと同じ7件・1,415,150円でした。準備は、MCP をつなぐだけです
- 書き込みは、AI が自分の判断で進めます。 単価を書かずに見積書を頼むと、過去の見積書から単価を拾い、確認せずに作りました。 取引の作成・更新・削除も、承認なしで通りました(Claude Code の自動モード)
- 止める方法は、あります。 Claude Code の許可設定で、freee の書き込みを「毎回確認」にすると、2回とも、承認の画面が出ました
- 決まった作業を、毎回同じチェックで回すなら、ワークフローです。n8n の見積書のワークフローは、価格表にない品目を「※要確認」の行にして、値段を決めません
先に、この記事の限界です。試したのはテスト事業所の、架空のデータだけで、本番の事業所では試していません(末尾の「確認していないこと」)。
freee MCP とは
MCP は、AI が外の道具を呼ぶための、共通の仕組みです。freee が、公式に freee-mcp(Apache-2.0 のオープンソース)を公開しています。
- 会計・人事労務・請求書・工数管理・販売など、freee の API を、AI から呼べます
- 道具は、汎用の5つ(
freee_api_get/post/put/patch/delete)と、使える API の一覧(freee_api_list_paths)、事業所の切り替えなどです。「見積書を作る」のような専用の道具はなく、AI が API の道(パス)と中身を、自分で組み立てます - つなぎ方は、freee のサーバー(
https://mcp.freee.co.jp/mcp)につなぐリモート版(README で推奨)と、自分の PC で動かすローカル版があります。この記事は、リモート版です - README には、読み取り専用のモードの記載はありません(2026-10-25 に読んだ内容)
Claude Code から freee MCP につなぐ
README の手順は、Claude Code のプラグインとして入れる方法です(claude plugin marketplace add freee/freee-mcp と claude plugin install freee-mcp@freee-mcp-marketplace)。筆者の環境(Windows、VS Code の拡張)では、ターミナルで claude のコマンドが使えなかったので、別の方法でつなぎました。
- Claude Code の中で
/mcpを開き、サーバーを追加します。名前はfreee、種類は HTTP、URL はhttps://mcp.freee.co.jp/mcpです - 新しいセッションで
/mcpを開き、freeeを選んで、ブラウザで freee にログインします(追加した直後のセッションでは、まだ使えませんでした) - 事業所を選びます。筆者は、開発用テスト事業所(freee の開発者向けの、無料のテスト用の事業所)にしました
プラグインで入れると、API の使い方をまとめた説明(Agent Skills)も一緒に入りますが、この方法では入りません。以下の結果は、その説明なしで試したものです。
試したこと1:期日を過ぎた未入金の一覧は、ワークフローと同じ答え
Claude Code に「期日を過ぎて未入金の請求を一覧にして」と頼みました。Claude が呼んだ API は、2回です。
- 会計の取引の一覧(収入で、未決済のもの)
- 取引先の一覧(名前を引くため)
結果は、2026-10-25 の時点で、7件・合計 1,415,150円でした。
| 取引先 | 請求番号 | 期日 | 未入金の額 |
|---|---|---|---|
| 株式会社テスト商事(架空) | INV-0000000002 | 2026-10-20 | 188,100円 |
| 株式会社テスト商事(架空) | INV-0000000003 | 2026-10-15 | 32,250円(52,250円のうち、20,000円は入金済み) |
| (取引先なし) | なし | 2026-10-21 | 50,000円 |
| freee のデモの取引先3社(4件) | なし | 2013〜2014年 | 計 1,144,800円 |
- 期日が 11/30 の INV-0000000004(78,100円)は、まだ期日前として、正しく外しました
- 一部だけ入金のあった売上も、残りの額(32,250円)で出しました
- 同じ日に動かした n8n の督促ワークフローの結果(期日超過7件、メールアドレスのないデモの取引先3社、取引先なし1件、テスト商事 220,350円)と、すべて一致しました
気になった点が、1つあります。取引先の一覧は、テスト事業所にあるデモの取引先、約50社の分を、口座の情報まで含めて、まとめて返しました。 テスト事業所では問題ありませんが、取引先の多い会社では、1回の答えが大きくなります。
試したこと2:見積書は、単価を自分で決めて、確認なしで作った
次に、「株式会社テスト商事に、パンフレット(A4)500部の見積書を作って」と頼みました。単価は、あえて書きませんでした。
Claude の動きは、こうでした。
- 取引先を検索して、テスト商事を見つけた
- 見積書の一覧を読み、パンフレットの載った過去の見積書(Q-0000000004)を開いた
- その中の「パンフレット印刷(A4・カラー) 1部 120円」を、そのまま使うと決めた
- 確認せずに、見積書を作った(Q-0000000007:500部 × 120円 = 60,000円、税込 66,000円、送付待ち)
作ったあとに、「単価は、過去の見積書から流用しました」と報告し、見積書のメモ欄にも、そう書きました。隠してはいません。 freee の README にも、「取引登録: 類似の取引を参考にして、入力ミスを防ぐ」という書き方があり、過去を参考にすること自体は、自然な動きです。
問題は、過去の単価が、今も正しいとは限らないのに、人に確かめずに作ったことです。部数で単価が変わる、値上げした、その取引先だけの値引きだった。どれも、過去の見積書からは分かりません。
ここが、ワークフローとの違いです。n8n の見積書のワークフローは、単価を、価格表のスプレッドシートからだけ入れます。 価格表にない品目は、値段なしの「※要確認」の行にして、止まります。AI に、値段を決めさせません。
試したこと3:取引の作成・更新・削除も、承認なしで通った
最後に、使い捨ての取引(1,100円、テスト商事あて)で、作る → 金額を 2,200円に変える → 消すを試しました。
- 3つとも、承認の画面は出ずに、通りました(Claude Code の自動モード。筆者が画面で確認)
- 消したあとに読むと、「存在しないか既に削除された取引です」と返り、完全に消えていました
- 一方、見積書と請求書(freee請求書)には、消す API がなく、取り消ししかありません。試験で作った見積書 Q-0000000007 も、「消して」と頼むと、取り消しになり、一覧には「取り消し済み」で残りました
止めるものは、2つしかありませんでした。
- freee のアプリの権限:筆者のテスト事業所では、試験のデータを作るために、会計の「取引」の書き込みを許可していました
- Claude Code の許可設定:freee の道具についての決まりは、何も入れていませんでした
書き込みを「毎回確認」にする方法
Claude Code の設定ファイル(筆者は、ユーザー全体の ~/.claude/settings.json)に、次を足しました。
{
"permissions": {
"ask": [
"mcp__freee__freee_api_post",
"mcp__freee__freee_api_put",
"mcp__freee__freee_api_patch",
"mcp__freee__freee_api_delete"
]
}
}
askに書いた道具は、呼ぶたびに、承認の画面が出ます- 読み取り(
freee_api_get)は入れていないので、一覧などは、今までどおり、すぐに答えます freeeの部分は、/mcpで付けたサーバーの名前です。別の名前でつないだなら、そこを変えます
足したあと、同じセッションのまま、使い捨ての取引を作って、消しました。 2回とも、承認の画面が出ました(筆者が画面で確認)。Claude Code を、開き直す必要は、ありませんでした。
もう1つの守りは、freee のアプリの権限を、必要なものだけにすることです。消す操作をさせたくないなら、ask ではなく deny(禁止)に書く方法もあります(deny は、試していません)。
MCP とワークフローの使い分け
3つの試験から、筆者は、こう使い分けます。
| freee MCP(Claude Code から) | n8n のワークフロー | |
|---|---|---|
| 向く作業 | 一度だけ調べる、その場の集計、下調べ | 毎日・毎回の決まった作業 |
| 値段や金額 | AI が判断して埋めることがある(試験2) | 価格表や freee の値から、コードが入れる |
| チェック | AI の判断と、人の承認しだい | 毎回、同じチェックを通る(照合、禁止語など) |
| 動くタイミング | 人が頼んだとき | 決まった時刻、メールが届いたとき |
| 準備 | つなぐだけ | ワークフローを組む |
| 間違えたときの守り | 許可設定の ask、アプリの権限 |
下書き(送付待ち)で止め、人が送る |
- 「調べる」は、MCP。 未入金の一覧、ある取引先の今月の売上、去年の同じ月との比較。答えを人が読むだけなら、間違えても、被害が出ません
- 「作って、外に出す」は、ワークフロー。 見積書、請求書、督促のメール。お客様に届くものは、毎回、同じチェックを通したいので、手順を固定します
- MCP で作るなら、許可設定で毎回確認にして、単価と金額を、人が読みます
確認していないこと
- 本番の事業所での動き(試したのは、開発用テスト事業所の、架空のデータだけ)
- Claude Code の自動モード以外(毎回確認するモードなど)での、承認の画面の出方
- プラグインで入れた場合(Agent Skills が一緒に入る)に、見積書の作り方が変わるか
- 取引先や取引が多い会社で、一覧の答えが、どれくらい大きくなるか
- 許可設定の
deny(禁止)が、MCP の道具に効くか - Claude Code 以外の AI(Claude のアプリなど)から、freee MCP を使ったときの動き
次に読む
- 単価を AI に決めさせない見積書の作り方は freee の見積書を自動で下書き
- 発注メールから、見積書をもとに請求書を作るのは freee の請求書を自動作成
- 試験1と同じ一覧から、督促メールの下書きを作るのは freee の督促を下書き
- n8n 側を、Claude Code から MCP で操作するなら Claude CodeからMCPでn8nを操作
- 道具全体の位置づけは 業務自動化ツールの選び方の地図