
【実測】freee公式MCPは `FREEE_SCOPE=read` では読み取り専用にならない──AIに会計の「書き込み」を許す前の線引きTesting reveals that freee's official MCP server does not enforce read-only…
匿名の公開いいねです。記事の保存・お気に入りではなく、Featured、Top 3、重要度、掲載順位には影響しません。仕組みとプライバシーAnonymous public likes are reactions, not saved articles or bookmarks. They do not affect Featured, Top 3, importance, or listing order.How it works and privacy
freeeの公式MCPサーバーで `FREEE_SCOPE=read` を設定しても書き込みツールが無効化されないことが実測で判明し、AIに会計データへの書き込みを許可する前にスコープ設定だけに頼れない点を警告している。
Testing reveals that freee's official MCP server does not enforce read-only access when FREEE_SCOPE=read is set, meaning write tools remain available and developers cannot rely solely on that env var to prevent AI from modifying accounting data.
本ページの本文と要約は AI による自動生成です。日本語版と英語版は言語ごとに独立して生成されるため、表現や詳しさが異なる場合があります。正確性は元記事 (qiita.com) をご確認ください。The body and summaries are AI-generated independently for each language, so wording and detail may differ. Verify accuracy at the original source (qiita.com).
要約と収集メタデータに基づく AI 解説。元記事全文の転載・翻訳ではありません。AI explainer based on the summaries and collected metadata, not a copy or translation of the full source article.
freeeの公式MCPサーバーでは、FREEE_SCOPE=readを設定しても書き込みツールが無効化されないことが実測で確認された。AIを会計データに接続する際、読み取り専用にするための線引きをスコープ設定だけに任せられない点が重要となる。
読み取り専用
検証用アプリでOAuth認証を行い、取得したトークンの権限を測定した結果、FREEE_SCOPE=readを指定しても、書き込みツールは利用可能な状態のままだったとされる。つまり、この環境変数の指定だけでは、AIによる会計データの変更を防ぐ仕組みにはならない。
確認対象は、2026年7月31日に公開されたnpmパッケージfreee-mcpのバージョン0.32.1とREADMEである。MCPクライアント側のツール制限やOAuthのスコープ指定だけでも、書き込みを防ぐ線は引けないと説明されている。
設計思想の差
freee-mcpは、チャットで「請求書を作って」と依頼すると、取引先登録から請求書発行まで一連の操作を完了できるものとして案内されている。書き込み機能は付随的なものではなく、提供価値そのものに含まれている。
これに対し、Digitsは、すべてのアクセスを設計上読み取り専用とし、その理由を元帳の整合性を守るためと説明している。Digitsが自ら制限を設ける一方、freeeでは利用者側に線引きが委ねられているという違いがある。
書かせない線
freeeを利用する場合、接続前に決めるべきなのは、AIに何を読ませるかだけではなく、何を書かせないかだとされる。FREEE_SCOPE=readという名称から読み取り専用の強制を期待せず、書き込み可能なツールが残る前提で扱う必要がある。会計データへの書き込みを自動化するなら、スコープ指定だけに依存せず、利用者自身が書き込みを防ぐ安全装置を置くことが求められる。
AI and accounting data
Freee’s official MCP server lets AI interact with accounting data, including operations that write data. Testing found that setting FREEE_SCOPE=read does not enforce read-only access, making the boundary around write permissions important before connecting AI to the service.
The central issue is not only what accounting data an AI may read, but what it must not be allowed to write. According to the testing, neither MCP client tool restrictions nor an OAuth scope setting alone establishes that boundary.
FREEE_SCOPE=read
The test used OAuth through a verification application to examine actual permission behavior. Despite FREEE_SCOPE=read being set, write tools remained available. Developers therefore cannot rely solely on this environment variable to prevent AI from modifying accounting data.
The findings were also checked against the freee-mcp npm package and its README. The package version examined was 0.32.1, published on July 31, 2026. The analysis combined facts confirmed from the package with behavior measured after obtaining a token.
Read-only by design
The article contrasts freee-mcp with the MCP server from accounting platform Digits. Digits states that all access is “read-only by design,” explaining that this is intended to preserve ledger integrity. Its access boundary is imposed by the service itself.
Freee takes a different approach. Its official press release says users can ask in chat to create an invoice and have the sequence from registering a business partner through issuing the invoice completed. Write capability is therefore part of the server’s stated value rather than a function excluded by design.
Drawing the line
The distinction is presented as a difference in where responsibility sits, rather than a judgment that one approach is correct. Digits draws the read-only boundary itself, while freee leaves users responsible for defining their own limits.
For freee users, the measured behavior means that choosing a read scope is not sufficient by itself. Before allowing AI to access accounting operations, developers need a boundary focused specifically on preventing unwanted writes, rather than assuming that FREEE_SCOPE=read has disabled the available write tools.
ポコとTECHガイドPoko & TECH Guide
ポコと当サイトのTECHガイドが、記事の要約と収集した情報から読みどころを語るAI生成の対話です。Poko and TECH Dashboard's own TECH Guide discuss the article's highlights in an AI-generated conversation based on its summary and collected source details.
- ポコPoko仕事でAIに「先月の売上を教えて」と聞くなら、普段の何が変わるの?請求書まで触れるの?If I ask AI at work, “What were last month’s sales?”, what changes in practice? Can it touch invoices too?
- TECHガイドTECH Guideこの記事では、freeeの公式MCPで照会だけでなく、取引先登録から請求書発行まで頼めるとしておる。MCPはAIとサービスをつなぐ仕組み、と捉えるとよいぞ。The article says freee’s official MCP can go beyond lookups, handling steps from registering a client to issuing an invoice. Think of MCP as a bridge between AI and a service.
- ポコPokoえっ、前は書き込みできなかったの? `FREEE_SCOPE=read` なら、読むだけになる名前に見えるけど。Wait, couldn’t it write before? FREEE_SCOPE=read sounds like it should mean viewing only.
- TECHガイドTECH Guide以前できなかったとは書かれておらん。実測では、その設定でも書き込みツールが無効にならず、読み取り専用にはならなかったそうじゃ。The piece doesn’t establish what earlier versions could do. In its test, though, that setting left write tools enabled, so access was not read-only.
- ポコPokoつまり一番の収穫は、AIを書き込みから遠ざける線引きを、`read`の設定だけに任せちゃだめってことだね。So my big takeaway is that you can’t rely on the read setting alone to keep AI from writing to accounting data.
- TECHガイドTECH Guideそうじゃ。次に確かめたいのは、ツール制限やOAuthの指定だけでも線を引けない中で、どんな安全装置を置くかじゃよ。Exactly. The next question raised here is what safeguards to use, since neither tool limits nor OAuth scope settings alone draw that boundary.




