freee 公式 MCP(freee-mcp)を Claude Code に繋ぐ前に決める、権限の絞り方
目次 クリックで開く
2026年3月、freee が「freee-mcp」を OSS として公開しました。Claude Code のような AIエージェントから、freee の API を直接呼び出せるようにする MCP サーバです。約270本の API がそのまま MCP ツールになり、画面を介さず「記帳業務そのもの」を AI に実行させられる——会計まわりの自動化を考えていた人にとっては、かなり大きな一歩です。
ただ、繋ぎ方をひとつ間違えると、AI が本番の会計データを作成・更新・削除できる状態で口を開けることになります。便利さの裏で開く穴は、最初の接続設定でほぼ決まります。だから「とりあえず全部入りで繋ぐ」前に、権限の絞り方を決めておきます。AI に渡す情報そのものをどこで絞るかという全体像は、こちらの記事にまとめています。
「何でもできる」より「全部入りで繋がる」が危ない
freee-mcp の特徴は、約270本の API を網羅的にツール化していることです。裏を返せば、更新系のスコープを許可したトークンで繋ぐと、参照だけでなく作成・更新・削除に当たる操作まで、まとめて AI の手の届く範囲に入ります。
ここで効いてくるのが、freee の権限の粒度です。freee の権限は「機能ごとに参照か更新か」という粗い単位で、記帳をやらせるために更新を許すと、その機能の作成・更新・削除がセットで通ります。「作成だけ許可して削除は禁止」のような細かい線引きは、API 側では引けません。AI が賢いかどうかとは無関係に、間に何も挟まなければ不可逆な操作まで通る配線になっている、ということです。
だから、まず「読み取り専用」から始める
安全側に倒すなら、入り口は参照(読み取り)だけです。freee の権限設定で「参照」にチェックを入れ、「作成・更新」を外しておけば、AI が誤ってデータを書き換えることはありません。実際、freee-mcp も公開直後から、まず参照系だけの読み取り専用で運用を始め、監査体制が整ってから更新系を段階的に足していく、という進め方が推奨されています。
読み取り専用なら、AI に月次の状況を要約させる、未処理の明細を洗い出す、レポートの下書きを作らせる——といった「見て考える」仕事は十分まかなえます。ここまでは、事故が起きても本番データは無傷です。
でも、記帳は最終的に「書き込み」が要る
問題は、記帳の自動化が読み取りだけでは完結しないことです。仕訳を登録する、取引を更新する——どこかで必ず更新スコープを開ける必要があります。そして更新を開けた瞬間に、さきほどの「作成・更新・削除がまとめて通る」状態に戻ります。
ここが設計の本番です。誰が書き込みを承認するのか。どの操作まで自動でよく、どこから人を挟むのか。何を実行したかのログをどう残すのか。読み取り専用は安全ですが、それは判断を先送りしているだけで、書き込みを開ける日の設計を省いていいわけではありません。
「AI に更新トークンを直接持たせない」という選択
ひとつの答えは、更新権限を AIエージェントに直接持たせないことです。AI には参照と判定だけをさせ、実際の書き込みは——どの仕訳を、どの範囲で、誰の承認で通すかを決めた——別のレイヤーに任せる。AI と freee の間に統制を一枚挟むと、「AI が賢く振る舞えば不可逆操作も通る」という配線そのものが無くなります。
私たちが RuleHub で採っているのもこの形です。freee / MoneyForward の更新トークンはサーバー側で保管し、AI には渡しません。AI は摘要から勘定科目を判定するだけで、書き込みは RuleHub が決めた範囲で実行し、何をどう判定したかのログを残す。読み取り専用の安全さを保ったまま、記帳の自動化に必要な「書き込み」を統制下で開ける——MCP を素のまま本番に繋ぐ前に、この一枚があるかどうかで、開く穴の大きさが変わります。
この「AIには判定だけ、書き込みは統制レイヤー経由」を実際の記帳で回している例として、田村直大公認会計士・税理士事務所があります。AIに渡すのは正規化済みの摘要だけ、約500件の共通ルールで仕訳を判定し、人が承認した分だけを書き戻す——更新トークンをAIに持たせない設計のまま、記帳の自動化率を段階的に最大95%まで引き上げ、月次決算も5営業日から0.5営業日に短縮しています(導入インタビュー)。
freee-mcp を Claude Code に繋ぐ:権限別の設定パターンと実装ガイド
「権限を絞る」という方針が決まったあと、実際のMCP設定でどう実現するかを整理します。Claude Codeのプロジェクト設定ファイル(.mcp.jsonまたは.claude.json)にMCPサーバーを記述する方法と、スコープ管理の考え方です。
Claude Code への freee-mcp 登録:設定ファイルの構造
Claude Code でMCPサーバーを使うには、プロジェクトルートの設定ファイルにMCPサーバー情報を記述します。freee公式のMCPサーバーを使う場合、基本的な設定は以下の構造になります(詳細はfreee APIドキュメントを確認してください)。
{
"mcpServers": {
"freee": {
"command": "node",
"args": ["/path/to/freee-mcp-server/index.js"],
"env": {
"FREEE_CLIENT_ID": "(アプリケーション設定で取得したクライアントID)",
"FREEE_CLIENT_SECRET": "(クライアントシークレット)",
"FREEE_REDIRECT_URI": "urn:ietf:wg:oauth:2.0:oob"
}
}
}
}
ポイント:環境変数(FREEE_CLIENT_ID等)はコードにハードコードしない。.envファイルまたはシークレットストアから注入する構成にします。
「読み取り専用」スコープでの接続確認:最初にやること
いきなり書き込み権限でつなぐのではなく、まず読み取り専用スコープで動作確認するのが安全な進め方です。
- freeeアプリ設定でスコープを限定:freee開発者コンソールで「アプリケーション」を作成するときに、スコープ(read権限のみ)を選択
- Claude Codeでツール一覧を確認:接続後、Claude Codeが認識したfreee-mcpのツール一覧(会計帳簿取得・取引照会等)を確認する
- 試行できる操作とできない操作を確認:読み取り専用スコープでは仕訳作成・更新系のツールが使えないことを確認する(ここで「書けない」ことを確かめる)
事業所ID限定:複数顧問先・複数事業所がある場合の対処
freeeは1つのアクセストークンで複数の事業所にアクセスできます。Claude Codeで使う際、事業所ID(company_id)を明示的に指定することで、特定の事業所以外の操作を防げます。
システムプロンプト(Claude CodeのCLAUDE.mdまたはプロジェクト設定)に以下のように記述します。
# このプロジェクトで扱う freee 事業所
company_id: 12345678 # 株式会社〇〇(本社経理専用)
# 他の事業所IDへのAPIアクセスは行わないこと
Claude Codeはこの指示を参照してfreee-mcpのツール呼び出し時にcompany_idパラメータを固定します。この設定はコードではなくプロンプトレベルの制御のため、強制力は限定的です。より強い制御は後述のRuleHubアーキテクチャで実現できます。
「書き込み」を許可する前の確認チェックリスト
書き込みスコープ(仕訳作成・更新)を解放する前に、以下を確認します。
- □ Claude Codeが提案した操作を人間が確認してから実行するフローが定義されている
- □ 仕訳の自動作成は「下書き保存のみ」(承認前)に限定できているか
- □ 誤った仕訳が作成された場合のロールバック手順が用意されている
- □ freeeの仕訳作成ログ(API操作履歴)が記録・確認できる状態になっている
- □ アクセストークンの保管場所が環境変数またはシークレットストアになっている(コードやファイルにハードコードしていない)
RuleHub:freee-mcp のポリシー制御を組織レベルで管理する
Claude Codeの設定ファイルレベルでは「スコープを絞る」「事業所IDを指定する」という程度の制御しかできません。複数の担当者・複数の顧問先で統一したポリシーのもとfreee APIを使わせたい場合には、MCPゲートウェイ層が必要になります。
AurantのRuleHubはこの役割を担います。RuleHubをMCPサーバーとしてClaude Codeに接続すると、freee-mcpへの直接接続を不要にしつつ、以下を組織ポリシーとして管理できます。
- 担当者ごとのアクセス可能事業所の限定
- 書き込み操作前の承認フロー(担当者→上長)の挿入
- 操作ログの一元管理とダウンロード
繋ぐ前のチェック
- 接続するトークンのスコープは、まず参照(読み取り)だけにしているか
- 更新を開けるなら、どの操作を自動で許し、どこから人の承認を挟むかを決めているか
- 作成・更新・削除のうち、不可逆な操作が AI の経路に直接乗っていないか
- 「誰が・いつ・どの取引を・なぜ」を後から追えるログが残るか
- 更新トークンを AI に直接持たせず、統制レイヤー経由にできないか
ここでは freee-mcp に絞って権限設計を見ましたが、MCP そのものに起因するリスク(公式 SDK の STDIO 実行モデル由来の RCE、レジストリ汚染、設定ファイルの改ざんなど)と全般的な対策はClaude Code × MCP のセキュリティで整理しています。
freee-mcp は、会計の自動化を一気に現実にしました。ただ、現実になったのは「書き込みまで AI に任せられる」可能性であって、「任せていい」という保証ではありません。最初に参照から入り、書き込みは設計してから開ける。その順番を守るだけで、freee-mcp はかなり安全に使えます。
生成AIの法人導入・セキュリティ設計のご相談
ChatGPTやClaudeなど生成AIのプラン選定・セキュアな全社導入・権限/ログ設計を、貴社の体制に合わせて整理します。すでに導入済みの環境について『この設計で問題ないか』を確認したい、という導入前後のセカンドオピニオンにも対応しています。