ドキュメント › Slima MCP › 書き込みが拒否されたとき
書き込みが拒否されたとき
最終更新 September 9, 2026 · 約8分で読めます
ひとことで:書き込みが拒否される原因の見分け方と、それぞれの次の一手です。
送り直す前に、コードを読む
書き込みの拒否には、互いに関係のない原因がいくつもあります。そして直し方には共通点がありません。見分けるためにあるのがエラーコードです。
| エラーコード | ステータス | 意味 | 次の一手 |
|---|---|---|---|
AI_READONLY_FILE_TYPE |
403 | この型は丸ごとの書き込みを受け付けません | 構造化ファイルなら、メッセージが名指しするupdate_*を使う。.character / .jsonなどには代わりの道がありません |
SUBSCRIPTION_REQUIRED |
403 | この機能は有料プランのものです | 読み取りに制限はありません。読んだうえで、こう直したらどうかを言葉で伝えてください |
INVALID_PATH |
400 | 古い脚本スタジオの作品で、企画のツリーの外に書きました | 代わりに.script_studio/planning/の下へ書いてください |
FOLDER_NOT_EMPTY |
422 | 消そうとしたフォルダの中に、まだ何か入っています | 本当にそのつもりならrecursive: trueを付けて送り直してください |
この4つのどれも、同じ引数で送り直して成功に変わることはありません。
一 · 構造化ファイル:メッセージがツールを名指しします
.map、.beats、.timeline、.script、.geomapにwrite_file、edit_file、append_to_fileを向けると、こう返ってきます。
.map files are structured documents — a generic write would corrupt them.
Use POST /api/v1/books/:book_token/mcp/files/structured (the MCP client
exposes it as update_relationship_map): it takes one field-level operation at
a time, so the parts of the document you were never shown cannot be dropped.
If update_relationship_map is not in your tool list, your Slima MCP client is
older than this server — ask the author to update the Slima MCP package.
A missing tool always means an out-of-date client; nothing about this account
ever hides a tool from you.
ここに2つのことが書かれています。どのツールを使えばいいか、そしてそのツールが手元の一覧にないときはどうするか。後者が大事です。0.2.0にはそれらのツールがなく、サーバーは丸ごとの書き込みも受け付けないので、古いクライアントは両方の道がふさがっています。上げ方はslima-mcpのバージョンの仕組みにあります。
.character、.location、.json、.yamlは同じコードを返しますが、代わりの道を示す一文が付きません。読んだうえで、こう直したらどうかを言葉で伝えてください。
二 · プランの門:読み取りが制限されることはありません
プランが構造化ファイルへの書き込みを開けていないときは、コードがSUBSCRIPTION_REQUIREDになり、メッセージはこうなります。
Writing .map files is part of Slima's subscription plans. Reading them is not
restricted — read the file and describe the change you recommend, and the
author can make it in the app or subscribe to let you make it directly.
(Credits bought as a one-off pack cover AI usage inside the Slima app;
structured file writing goes with a plan.)
ここから3つのことが分かります。
- 読み取りには何も起きていません。 FreeのアカウントのAIも、作品の中の
.mapや.timelineをどれでも読めます。変えられないだけです。 - 判断の基準はプランで、「お金を使ったことがあるか」ではありません。 単発で買ったクレジットのパックはSlimaのアプリの中でのAIの利用ぶんで、構造化ファイルへの書き込みは開きません。
- 削除も書き込みと同じ門です。 Freeのプランでは、
.mapは作れず、直せず、消すこともできません。
ここで役に立つのは送り直しではありません。ファイルを読んで、どう直すかを正確に伝えて、作者がアプリの中でやれるようにすることです。
三 · 古い脚本スタジオの作品:INVALID_PATH
その作品が古い脚本スタジオのものなら、まったく別のルールが働きます。判断するのはパスです。書けるのは.script_studio/planning/のツリーだけで、series.json、*.character、*.location、*.scene、*.storyline、*.note、そして.script_studio/planning/.initializedはMCPからはすべて読み取り専用です。
.script_studio/planning/scene-3-1-revision.md ← 書ける
Episodes/03/scene-1.scene ← 400 INVALID_PATH
通り道は、提案をその企画のツリーに書いて、作者にアプリの中で採り入れてもらうことです。やってみる前にルールを知りたいなら、slima://books/{book_token}/schemaのリソースを読むか、get_bookを呼ぶだけでもいいです。この種の作品では、書き込みの制限を自分で書き出してくれます。
四 · いちばん見落としやすいもの:成功して、しかも中身が空
create_fileは5つの構造化の拡張子でも拒否されません。成功します。そしてサーバーが書いたのは空の骨組みで、送った内容は捨てられています。返答にはそう書かれています。
失敗ではないので、「作れた」と読めてしまいます。正しい流れは2段構えです。まずcreate_fileで空のものを作り、そのあとupdate_*のバッチで埋めます。
ファイルの型が原因ではない2つ
- 作品がゴミ箱に入っている。 ゴミ箱の作品には書けません。まず復元してください。
- その作品は誰かから共有されたもの。 その作品に書き込みの権限がなければ、読むことしかできません。
拒否を回り込もうとしない
SlimaのMCPのエラーは、メッセージだけで直せるように書かれています。存在しないidには本物のidが付いてきますし、存在しない地点の階層には本物の階層の一覧が、置き場所を間違えたフィールドにはそれを持っている操作の名前が付いてきます。回り道の代償は作者に落ちます。メッセージを読む代償はあなたに落ちて、そちらのほうがずっと安いです。
関連
- Docs:構造化ファイルの保護
- Docs:構造化編集ツール
- Docs:slima-mcpのバージョンの仕組み
- Docs:MCPがファイル種別ごとにできること
- Docs:つながらないとき:401とAuthorizationヘッダー
アプリを開いて、自分の作品で同じ手順をたどってみてください。無料で始められます。クレジットカードは不要です。