ClaudeとFiles.comを連携する方法 — リモートMCPの接続と権限の絞り方
Files.comのMCPサーバーをClaudeにつなぐ手順です。リモートとローカルの選び方、Claude.ai・Claude Code・Claude Desktopでの設定、管理者でサインインしたときの影響、つまずきの対処を解説します。
Files.comは、SFTPやAS2などのファイル転送と自動化を担うクラウドサービスです。このサービスが提供するMCPサーバーをClaudeにつなぐと、ファイルの取得・コピー・移動、フォルダの一覧、共有リンクの作成、ユーザー管理、ログの参照を会話から頼めるようになります。
接続先は2種類あります。Files.comが運営するリモートMCPサーバーと、手元のPCで動かすローカルのPythonパッケージ files-com-mcp です。Files.comの案内では、ほとんどの利用者にリモート側が向くとされています。
どの方式でつなぐか
最初に、認証方法と使えるClaudeの面で方式を決めます。
| 方式 | 認証 | 使えるClaudeの面 | 向く場面 |
|---|---|---|---|
| リモート + Files.comでサインイン | 認証ブラウザでOAuth 2.0 | 使えるClaudeの面Claude.ai、Claudeモバイル、Claude Code、Claude Desktop | 向く場面個人の作業。設定が最も少ない |
| リモート + APIキー | 認証X-FilesAPI-Key ヘッダー | 使えるClaudeの面Claude Code、Claude Desktop(mcp-remote 経由) | 向く場面固定の資格情報で動かしたい自動処理 |
ローカル(files-com-mcp) | 認証環境変数 FILES_COM_API_KEY | 使えるClaudeの面STDIOサーバーを起動できるクライアント(Claude Desktopなど) | 向く場面Claudeの側からローカルフォルダを読み書きさせたい場合 |
Files.comの案内では、モバイルのClaudeアプリで使える方法はFiles.comでのサインインだけです。両サーバーが公開するツールは同じですが、ローカル版はAPIキー認証のみで、ネットワーク越しのクライアントや、SSE・HTTPでの待ち受けには対応しません。
ローカルとリモートの一般的な違いはローカルMCPとリモートMCPの違いにまとまっています。
接続先URLを組み立てる
リモートMCPサーバーのURLは、自分のFiles.comサイトのサブドメイン、またはカスタムドメインから作ります。
https://<mysite>.files.com/api/ai/mcp/v1/
https://<mycustomdomain>/api/ai/mcp/v1/複数のFiles.comサイトを使っている場合は、サイトごとに別の接続を登録します。Files.comは、設定にサイトごとのエントリを足して同時に接続できると案内しています。
Claude.aiとClaude Desktopにカスタムコネクタとして追加する
Files.comのMCPをClaudeの一覧から選んで入れる形ではなく、URLを指定して追加します。Claude.aiの手順は次のとおりです。Pro・Maxの個人プランの場合の画面名です。
Claude.aiにFiles.comを追加する流れ
- 1
コネクタ設定を開く
Claudeの「Customize」から「Connectors」を開き、「+ Add」で「Add custom connector」を選びます。
- 2
名前とURLを入れる
名前は任意です。URLには先ほどの
https://<mysite>.files.com/api/ai/mcp/v1/を入れて「Continue」を押します。 - 3
認証を確認して追加する
Claudeが検出した認証設定を確認し、「Add」で完了します。
- 4
Files.comでサインインする
初回接続でブラウザが開きます。Files.comにログインし、接続を承認します。
Files.comのサインインはOAuth 2.0で、クライアントはブラウザ認証の結果としてベアラートークンを受け取ります。シングルサインオン(SSO)を使うサイトでは、通常どおり認証元のIDプロバイダーへ移動します。
ClaudeのHelp Centerによると、カスタムコネクタは無料プランを含む全プランで使えます。ただしFreeは1つまでです。TeamとEnterpriseでは、OwnerやPrimary Ownerなど管理権限のある人が「Organization settings」の「Connectors」から追加し、メンバーはその後、各自で「Connect」を押して認証します。Files.com側の案内にも、会社のClaudeアカウントでは組織がカスタムコネクタの追加を無効にしている場合がある、と書かれています。
APIキーで接続したい場合、Claudeのカスタムコネクタには「Request headers」欄があり、固定の資格情報を毎回のリクエストに付けられます。Files.comのリモートMCPがAPIキーを受け取るヘッダー名は X-FilesAPI-Key です。この組み合わせでClaude.aiから接続する手順は、Files.comの文書には載っていません。Files.comの文書でAPIキー接続の例が示されているのは、次に述べるClaude Desktopの mcp-remote だけです。
Claudeが接続元になる点にも注意が要ります。ClaudeのHelp Centerでは、カスタムコネクタの接続はClaude Desktopでも利用者のPCではなくAnthropicのクラウドから行われると説明しています。社内ネットワークやVPNの内側にある場合は、Anthropicの送信元IPを許可する必要があります。
リモートMCPの認可の流れそのものを知りたい場合は、リモートMCPのOAuth認証が401から順に追っています。Coworkで同じ型の接続を作る手順はCoworkカスタムコネクタ自作ガイドにあります。
Claude Codeにつなぐ
Claude Codeでは claude mcp add でHTTPサーバーとして登録します。Files.comのサインイン方式はClaude Codeでも使えます。
claude mcp add --transport http files \
https://mysite.files.com/api/ai/mcp/v1/登録後、Claude Codeのセッション内で /mcp を開き、認証を進めます。Files.com側の画面が開くので、ログインして承認します。
APIキーを使う場合は、Claude Codeのドキュメントにある --header で固定ヘッダーを付けます。Files.comのヘッダー名と組み合わせると、次の形になります。
claude mcp add --transport http files \
https://mysite.files.com/api/ai/mcp/v1/ \
--header "X-FilesAPI-Key: your-api-key"このコマンドはClaude Code側の書式にFiles.comのヘッダー名を当てはめた例です。Files.comの文書では同じヘッダーを mcp-remote に渡す例が示されており、Claude Codeでの実行例は載っていません。APIキーをシェル履歴に残したくない場合は、環境変数を使う方法など、Claude Codeのドキュメントにある保管方法を確認してください。
Claude DesktopでAPIキーまたはローカルパッケージを使う
Claude Desktopの設定ファイル claude_desktop_config.json に書く方法もあります。場所はWindowsが %APPDATA%\Claude\、Macが ~/Library/Application Support/Claude/ です。書き換えたあとはClaude Desktopを再起動します。JSONに構文エラーがあると、Claude Desktopはそのサーバーを登録しません。
リモートMCPをAPIキーで使う
npx が必要なので、先にNode.jsを入れて npx --version が動くことを確かめます。接続には mcp-remote を使います。
{
"mcpServers": {
"My Files.com Site": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mysite.files.com/api/ai/mcp/v1/",
"--transport",
"http-only",
"--header",
"X-FilesAPI-Key: YOUR_API_KEY",
"--no-auth"
]
}
}
}ローカルのPythonパッケージを使う
こちらは uv が必要です。uv --version が動くことを確認してから、次のエントリを入れます。uvx が初回起動時にパッケージを隔離環境へ取得するため、pip install は要りません。
{
"mcpServers": {
"Files.com": {
"type": "stdio",
"command": "uvx",
"args": ["files-com-mcp"],
"env": {
"FILES_COM_API_KEY": "YOUR_API_KEY",
"FILES_COM_LOCAL_ROOT": "/Users/yourname/FilesMCP"
}
}
}
}FILES_COM_LOCAL_ROOT は任意の設定です。指定すると、アップロードとダウンロードで使えるローカルのパスがそのフォルダとその配下に限られます。.. やシンボリックリンクは解決したうえで判定され、範囲外に出るパスは拒否されます。値は存在する絶対パスでなければならず、不正な値だとサーバーが起動しません。未設定なら、サーバーを動かすOSアカウントが触れるパスなら何でも対象になります。
この設定はOSのアカウント同士を分けるものではありません。同じフォルダに別アカウントが書き込める状態だと、シンボリックリンクを置かれて範囲外へ誘導される恐れがあります。ルートに指定するフォルダは、実行するアカウントだけが書き込める場所にします。
Dockerで動かす手順もあり、その場合はコンテナ内のパス(/work/uploads、/work/downloads)で転送先を指示します。ホスト側の絶対パスは -v のマウント引数にだけ書きます。
接続後にClaudeが呼べる操作
Files.comの文書は、ツールをファイル・フォルダ、共有リンク、ユーザー、グループ、権限、ログ、オートメーション、リモートサーバーに分類しています。
| 分類 | できること |
|---|---|
| ファイルとフォルダ | できること検索、コピー、移動、削除、フォルダ作成、一覧、アップロード、ダウンロード |
| 共有リンク | できること作成、更新、削除、ダウンロード履歴、受信者の追加、通知設定 |
| ユーザーとグループ | できること作成、更新、削除 |
| 権限 | できることフォルダごとのユーザー・グループ権限の一覧、作成、削除 |
| ログ | できること操作履歴、ログイン履歴、SFTP・FTP・WebDAVの操作ログ、設定変更履歴など |
| オートメーションとリモートサーバー | できること一覧と詳細の参照 |
オートメーションとリモートサーバーは、現状では参照用のツールしかありません。Files.comの案内にも、公開しているツールは限られており今後増えていくと書かれています。ローカルパッケージの一覧には、ZIPの作成・展開、GPGの暗号化・復号、ファイルの変換といったツールも並んでいます。リモート版の分類表に同じものがあるかは、接続後にClaudeが見せるツール一覧で確かめるのが確実です。
頼み方の例を挙げます。
/reports/2026-q3 フォルダの中身を一覧にして、
更新日が一番古いファイルを教えて。/shared/invoices/INV-1042.pdf の共有リンクを作って。
有効期限は7日後、パスワードあり。
作ったら設定内容を表で見せて。2つ目のような依頼では、共有リンクの作成ツールが実行されます。ツール呼び出しの前にClaudeが確認を求めるかどうかは、クライアントの権限設定に依存します。
権限の線引きが接続の安全性を決める
ここが、このコネクタで最も注意が要る箇所です。Files.comのセキュリティ文書は、MCPが独自のAI用権限モデルを持たないと明記しています。Claudeが何をできるかは、サインインしたアカウントやAPIキーの権限そのもので決まります。
管理者アカウントでサインインすると、Claudeは管理者として動きます。文書には、他のユーザーのパスワードやメールアドレスの変更、2要素認証のリセットまで、追加の確認なしに実行できると書かれています。また、リモートMCPのツール呼び出しは、再認証を求める操作でも再認証が免除されます。
プロンプトで「削除しないで」と伝えても、権限の代わりにはなりません。文書は、AIへの指示は意図した作業を示すだけで、許される操作は資格情報が決めると説明しています。
作業に応じた絞り方は次のとおりです。
接続に使う資格情報の選び方
特定フォルダの受け渡しだけ
「Files Only」タイプのAPIキーに、パス制限と権限を絞ったユーザーを組み合わせます。Fullアクセスのキーは、パス制限があっても管理操作を含められるため、この用途には向きません。
Claudeごとに止められる接続にしたい
専用のAPIキーを発行します。サインイン方式のOAuthでは、個別のOAuth許可だけを取り消す操作がWeb画面にありません。専用キーなら、他の連携を止めずにそのキーだけを失効させられます。
管理作業まで任せたい
管理者でのサインインは、操作の範囲がそのまま管理者になります。一時的に使う場合でも、承認画面では範囲を選べないため、使う前にアカウントの権限を決めておきます。
承認画面の挙動も押さえておきます。承認の前に、Files.comはアプリが未検証であることを示す警告画面を出します。画面にはクライアントのメタデータドメインやリダイレクト先が出るので、自分が始めた接続かどうかを確かめます。心当たりがなければ「Decline Request」を選びます。承認すると接続全体への同意になり、フォルダやツールを個別に絞る選択肢はありません。
Claude Code側でも、使わせたくない操作を絞れます。MCPのツールは mcp__<サーバー名>__<ツール名> の形で権限ルールに書けます。ローカルパッケージの一覧にあるツール名で削除系を止める例です。
{
"permissions": {
"deny": [
"mcp__files__Delete_File",
"mcp__files__Begin_Delete_File",
"mcp__files__Delete_User",
"mcp__files__Delete_Group"
]
}
}files は上のコマンドで付けたサーバー名です。リモート版のツール名がローカル版と同じ綴りかどうかは、/mcp で表示される一覧で照合してから使います。名前が違えば、ルールは何も止めません。
Files.com側のログも見ておくと安心です。MCPの操作は通常のFiles.comの監査ログに、操作したアカウントの名義で残ります。MCP専用の監査ログはありません。
つまずきやすい点と対処
Files.comのトラブルシューティングにある症状を、見分け方とあわせて並べます。
接続できないときの切り分け
- Qサインインの最後にCouldn't Complete OAuth Redirectと出ますか?答えがいいえのとき答えがはい
ログイン後にFiles.comがクライアントの登録を拒否しています。クライアントが動的クライアント登録(DCR)を必要とする場合、サイト管理者が「MCP Dynamic Client Registration」設定を有効にする必要があります。初期状態は無効で、無効の間に発行されたクライアントIDは、あとで有効にしても使えません。再登録が必要です。サイトのAI機能をすべて無効にしている場合も、リモートMCPは使えません。
- Q接続できるのに、ツール実行で401エラーになりますか?答えがいいえのとき答えがはい
APIキーまたはサインインのセッションが無効です。Files.com側は資格情報をツールの実行時に初めて検証するため、接続とツール一覧の取得には成功します。APIキーなら新しく発行して設定を差し替え、サインイン方式ならクライアントから再度サインインします。
- Q「Could not connect to MCP server Files.com」と出ますか?答えがいいえのとき答えがはい
クライアントのログを見ます。多くはコマンドの起動エラーです。
spawn uvx ENOENTはuvが見つからない状態で、uvを入れるか、設定のcommandをフルパスにします。spawn npx ENOENTなら同じ要領でNode.jsを入れ、npxのパスを指定します。パスは、Macならwhich uvx、Windowsならwhere uvxで調べられます。
それでも解決しない場合
使っているクライアント側のドキュメントで、リモートMCPやSTDIOサーバーの登録方法を確かめます。
一方、会社のClaudeアカウントでカスタムコネクタを追加する項目自体が見当たらない場合は、組織の設定で無効化されている可能性があります。Owner権限のある人に依頼します。
更新と削除の手順も残しておきます。ローカルパッケージを uvx で動かしている場合、更新は uvx --upgrade files-com-mcp を実行してキャッシュを更新し、クライアントを再起動します。pip で入れた場合は pip install --upgrade files-com-mcp、削除は pip uninstall files-com-mcp です。
まとめ
Claudeから使うだけなら、リモートMCPとFiles.comのサインインが最短です。サイトの /api/ai/mcp/v1/ を指定して、カスタムコネクタかClaude Codeで追加します。自動処理にはAPIキー、ローカルフォルダとのやり取りにはローカルパッケージと FILES_COM_LOCAL_ROOT を使います。
判断の分かれ目は接続方法より、どの資格情報で動かすかです。管理者でサインインしたClaudeは管理者として動き、指示文では止まりません。初めて試すなら、権限を絞った専用のユーザーとAPIキーを作り、読み取り中心の作業から始めると、影響範囲を小さく保てます。