Claude for Desktop での「Filesystem MCP Server」を使ったファイル操作関連の簡単なお試し

## はじめに

以前、軽くお試しをした「Claude for Desktop での MCP の利用」を、久しぶりに試してみます。目的は、「いくつかのファイル操作を自動で行ってもらうのを試す」というシンプルなものです。


### 試す内容

今回、以下の記事を書いた時と同じ「[filesystem（Filesystem MCP Server）](https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem)」を使います。

●今になって Claude for Desktop で MCP に入門してみた（Claude は Free plan） - Qiita
　https://qiita.com/youtoy/items/3ef0af28b530f5c5709c

#### 試す 2つの内容

今回、以下の 2つの内容を試してみます。

1. 所定のフォルダに連番のフォルダを作ってもらう
1. 作成したフォルダをリネーム
1. 作成したフォルダの一部は削除し、一部のフォルダ内に架空の人物のプロフィールを書いたテキストファイルを生成してもらう


#### 余談： MCP を使わなくても...

今回の内容について、「例えばお試し 1つ目は、以下のようなコマンドのいずれかを実行すれば良いだけでは？」などという考えが頭をよぎりましたが（規則的で単純な処理をするだけという場合は...）、細かいことは気にせず進めますｗ


```zsh
mkdir {01..10}
```

```zsh
mkdir $(seq -w 1 10)
```

```zsh
for d in {01..10}; do
  mkdir "$d"
done
```

## 実際に試していく： 1つ目

実際に試していきます。

### 設定

Claude for Desktop での設定は、[以前のお試しの時と基本的に同じ](https://qiita.com/youtoy/items/3ef0af28b530f5c5709c
)です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/9d3a7bf9-0f42-4194-be3f-26400716dd16.png)

`claude_desktop_config.json` での設定で、フォルダ名だけ少し変えました（「mcp」⇒「claude_mcp」）。

```json:claude_desktop_config.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/【ユーザー名】/Downloads/claude_mcp"
      ]
    }
  },
  "globalShortcut": ""
}
```


### 処理の実行

「フォルダ内に 01 から 10 までの連番のフォルダを生成して」という依頼を出してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/e85900b6-f42d-4eda-a2b1-cc17bb9256b2.png)

基本的には、追加でプロンプトを送るようなことなく、処理を終えられました（途中で、以下に記載した処理の許可を求められたものの）。

以下、処理の途中の画面キャプチャです。表示された選択肢は、全て「このチャットで許可する」を選ぶようにしました。

#### 途中段階1

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/3fab2d09-bbbc-4133-b7c2-1069c3c2009d.png)

#### 途中段階2

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/674166e3-a66c-4fa2-b5c2-c37666237df2.png)

#### 途中段階3

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/d11b802e-7f96-4c0c-898d-b264417959df.png)

### 処理結果

上記処理の実行後、Claude for Desktop上の表示は以下となりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/35ceb50f-4992-4943-8844-f47828280cfe.png)


また、処理対象のフォルダを見てみると、以下のように連番のフォルダが作成されていることを確認できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/b2a2c37b-dc96-4fc8-9587-126b0bb9c339.png)



## 実際に試していく： 2つ目

今度は、2つ目の内容を試してみます。

### プロンプト

プロンプトは「連番のフォルダの名前を 01_mcp という形式に全部変えて」というものにしました。

以下、1つ目のお試しで利用されていなかったツール利用の利用許可のダイアログが、1回だけでたのでそれを掲載しています。

#### 途中段階1

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/d0221a63-698f-47b9-a69c-dfc1173f891c.png)


### 処理結果

処理結果は以下のとおりで、意図通りの内容になっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/347997c0-6367-49ed-a37f-68d3cfbaa96a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/33b39495-a38f-4a10-b7a9-c59b1f792083.png)


## 実際に試していく： 3つ目

お試し 3つ目は、以下のプロンプトを試しました。

>【プロンプト3つ目】
05から10までのフォルダは削除して。
また、01から04の各フォルダに、以下の名前に対応した人の、簡単な架空のプロフィールをテキストファイルで保存して。
1:山田
2:鈴木
3:佐藤
4:田中

以下、1つ目・2つ目のお試しで利用されていなかったツール利用の利用許可のダイアログが出たものを掲載しています。

#### 途中段階1

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/581cd135-a2a1-42ba-a262-1816b78cf986.png)

#### 途中段階2

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/69b2d73d-f291-4ea4-94ee-fc758657fba6.png)


### 処理結果

処理結果は以下のとおりで、フォルダの削除のみ少し意図しない結果となりました（名前の変更が行われただけ）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/9ede9d43-9699-4925-8e5a-68950595022d.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/cd9aadb2-060b-4c91-b1cc-bc7d5814f3b9.png)

ちなみに架空のプロフィール作成は、以下のようなものが作成されていました（2つだけピックアップ）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/2f15b7e0-a3c3-47a5-9124-aa43f2aa398e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/690e4eb6-5231-4987-9d42-1b84a9d010ce.png)


#### Filesystem MCP Server の機能の確認

削除されなかった原因を少し探ってみます。

以下の Filesystem MCP Server の機能の記載内容を見てみました。

●servers/src/filesystem at main · modelcontextprotocol/servers
　https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/91f1341d-05fc-43d5-adf6-733cab147610.png)


「Features」の中には「Create/list/delete directories」という記載があるものの、その下の「API」の中を見ていくと、削除関連の機能の記載はなさそうでした（コードを見るところまでは、今回はやらずに次へ進みます）。


### 3つ目の追加の処理

さらにお試しで、「名前変更で「_deleted」を付加としたものを削除して」というプロンプトも念のため試してみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/81762ae9-ac21-43d8-9f02-f8266cbfad2c.png)

#### 処理結果

処理結果は、Finder上では（フォルダ名の関係で）見えないものの、元フォルダ自体は存在する形になりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/94e5f38c-3ad4-4807-9070-45a4d129c690.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/f6e2b519-9ede-43f4-85ad-2124195aa35e.png)


## その他

### Claude のプラン

余談ですが、以前 Claude for Desktop で MCP を試した時は、Claude の無料プランでした。

現在は、期間限定で年払いプランの割引があった時に、年払いのプランに加入しました。

https://x.com/youtoy/status/1895102390657036725

### Claude Code

Claude関連では、Claude Code も少し試したことがありました。

●Claude Code をローカルインストールで試してみる（Node.js の Hello, World! のプログラムを書いてもらう） - Qiita
　https://qiita.com/youtoy/items/0886100c87b03e18fb8b

こちらも、また少し触ってみたいところです。