日誌のようなもの

Claude 3.7 Sonnet でFile System MCPサーバーを使ってコードを自動生成する

すごい時代になった

2025.03.03


01955aff-fa06-7760-ba31-a4f379f47485.webp

概要

MCPサーバー(FileSystem)を構築し、Claude 3.7 SonnetをMCPサーバーを経由して直接ファイルにコードをゴリゴリ書いてもらう手順の備忘録です

Claude 3.7 Sonnet

思考拡張モードが搭載されており、「こんなプログラム書いて」と命令すると、あーだこーだ考えてからゴリゴリ書き始めます

MCP

AIと様々なアプリケーションやツールを接続し、データをやり取りするための新しい標準プロトコルです

事前準備

サインアップ

https://claude.ai
とりあえずClaude 3.7 Sonnetが使える状態にする
課金しないとトークンの制限が厳しいので、今回ばかりは課金しました(月3,000円いかないくらい)

Claude Desktop インストール

https://claude.ai/download
上記からダウンロードしてインストールします
自分のはWindowsなので以下Windows用の説明です

node.jsのインストール確認

node -v

実行してエラーがでなければOK
01955af5-3c41-7eb8-8d34-de136ea2f5b5.webp

npmのインストール確認

npm -v

実行してエラーがでなければOK
01955af5-6a17-7248-9a9b-64516a334cd5.webp

npmで File System MCPサーバーをグローバルインストールする

npm install -g @modelcontextprotocol/server-filesystem

環境構築

開発者モードに変更する

Claude Desktopを起動します
左上のハンバーガーメニューを押下し、Help→Enable Developer Mode を押下します
これで開発者モードになります

MPCサーバ設定

左上のハンバーガーメニューを押下し、File→Settingsと進み、Developerを選択
Edit Config を押下します

01955b28-cf9a-7b37-b443-34e94472261e.webp
Claude Desktopのデータフォルダが開くので、その中にある
claude_desktop_config.jsonをエディタで開きます(なければ作成する)

01955b2e-2b9e-750d-89a6-1892e945d608.webp

claude_desktop_config.json を編集します

{ "mcpServers": { "filesystem": { "command": "C:\\Program Files\\nodejs\\node.exe", "args": [ "C:\\Users\\ユーザ名\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js", "C:\\Users\\ユーザ名\\Documents\\Workers\\kroriv-official-blog-remix" ] } } }

ユーザ名のところは環境に合わせて適宜変えてください
commandにはnode.jsの実行ファイルのパスを渡します
argsの第一引数は、File System MCPサーバーのパスを渡します
argsの第二引数以下に、Claudeに作業してほしいプロジェクトのパスを渡します
※今回はこの日誌ブログ(Remix)のプロジェクトのパスを渡しています

Claude Desktop 再起動

ここまできたら一度Claude Desktopを終了して、再度起動します
バツボタンで閉じるとclaude_desktop_config.jsonの変更が反映されない場合があるため、終了させるときは、左上ハンバーガーメニューのFile→Exitで終了させます
起動後、赤枠で囲った部分のように、ハンマーのマークが出ていればOKです

01955b44-e1c6-75d7-8c45-ec1b3222556a.webp

試してみる

ほんとにClaudeからプロジェクトが見えてるかをClaudeに聞いてみます

C:\Users\user\Documents\Workers\kroriv-official-blog-remix あなたは上記のディレクトリが見えていますか?

01955b4d-2feb-7d20-a9b9-4fbeeccd12b5.webp
するとアクセス権を要求してきたので許可します(Deny以外を押す)

01955b51-0cb4-7dbd-a1e8-a6d9487c0640.webp

見えてるっぽいのでとりあえずなにか簡単な作業をお願いしてみます

C:\Users\user\Documents\Workers\kroriv-official-blog-remix\app\services\contact.server.ts 上記ファイルを見てください 現在、お問い合わせをSlackに送信するようにしていますが、 これを自動返信メールを送付するように仕様変更してください

01955b6b-aa9a-7410-9773-19a3a1e72534.webp
現在のコードを確認して、ファイルにコードを直接ゴリゴリ書きはじめました
VSCode上では実装の様子が見れて、そのまま実行してみたら普通に動きます
やばすぎです

その他のMCPサーバー

今回はFileSystemを利用しましたが、他にも色々便利な機能をもったMCPサーバーが以下でまとめられてます
https://github.com/modelcontextprotocol/servers
自分でMCPサーバーを作って利用することもできます