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 が賢いかどうかとは無関係に、間に何も挟まなければ不可逆な操作まで通る配線になっている、ということです。

リスク低リスク高参照(読み取り)安全:見るだけ作成新規に追加更新既存を書き換え削除不可逆AIに直接渡してよいのは、原則ここまで
freee の権限は機能ごとに参照/更新の粗い単位。AIに直接持たせるのは参照まで、書き込み系は統制レイヤー経由に。
freee-mcpの権限の絞り方、手作業の設定だけで運用しますか?RuleHub は、AIに渡す会計データ・権限・操作を必要最小限に絞り込むセキュア記帳基盤です(freee / マネーフォワード対応)。✓ 参照スコープの限定✓ 書き込みは承認フロー経由✓ 操作ログを自動記録RuleHubの仕組みを見る →渡すのは必要最小限のデータだけAIRuleHubfreeeスコープ限定・承認フロー・操作ログ

だから、まず「読み取り専用」から始める

安全側に倒すなら、入り口は参照(読み取り)だけです。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ファイルまたはシークレットストアから注入する構成にします。

「読み取り専用」スコープでの接続確認:最初にやること

いきなり書き込み権限でつなぐのではなく、まず読み取り専用スコープで動作確認するのが安全な進め方です。

  1. freeeアプリ設定でスコープを限定:freee開発者コンソールで「アプリケーション」を作成するときに、スコープ(read権限のみ)を選択
  2. Claude Codeでツール一覧を確認:接続後、Claude Codeが認識したfreee-mcpのツール一覧(会計帳簿取得・取引照会等)を確認する
  3. 試行できる操作とできない操作を確認:読み取り専用スコープでは仕訳作成・更新系のツールが使えないことを確認する(ここで「書けない」ことを確かめる)

事業所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のプラン選定・セキュアな全社導入・権限/ログ設計を、貴社の体制に合わせて整理します。すでに導入済みの環境について『この設計で問題ないか』を確認したい、という導入前後のセカンドオピニオンにも対応しています。

生成AI導入・セキュリティ支援を見る → セキュリティ設計の支援を見る →

会計・経理DX

freee・マネーフォワードの導入から、AI仕訳・請求書自動化・銀行連携まで一貫対応。経理工数を大幅に削減し、月次決算を早期化します。

AT
aurant technologies 編集

上場企業からスタートアップまで、数多くのデータ分析基盤構築・AI導入プロジェクトを主導。単なる技術提供にとどまらず、MA/CRM(Salesforce, Hubspot, kintone, LINE)導入によるマーケティング最適化やバックオフィス業務の自動化など、常に「事業数値(売上・利益)」に直結する改善実績多数。

この記事が役に立ったらシェア: