
MCPサーバー開発ガイド
AIモデルを外部ツールやデータソースと接続するためのModel Context Protocol(MCP)サーバーの構築・デプロイ方法を解説。初心者から上級者までのステップバイステップガイド。...
Model Context Protocol(MCP)がClaudeや他のAIアシスタントに、サンドボックス化・権限駆動型の操作で安全にローカルファイルとやりとりさせる方法を学びます。安全な実装の実例やベストプラクティスも紹介。
Model Context Protocol(MCP)は、アプリケーションがサンドボックス化された操作を通じてファイルシステムと安全にやり取りできるフレームワークです。本ガイドでは、MCPの仕組みや主な特徴、そしてMCPファイルシステムサーバーを用いた実践例を解説します。
Model Context Protocol(MCP)は、アプリケーション(AIアシスタントなど)と外部システム、特にファイルシステム間の制御されたやりとりを可能にする強力なセキュリティフレームワークです。MCPは安全な橋渡し役となり、ツールがサンドボックス化された権限駆動型の環境でファイルの読み書きや検索などの操作を実行できます。
このプロトコルは、VS CodeやClaude Desktopなどの開発環境に安全なファイルシステム操作を統合したい開発者にとって特に有用です。
MCPファイルシステムサーバーは、Model Context Protocolの枠組み内でファイルシステム操作を実現するために特化したNode.js実装です。制御された方法でファイルやディレクトリとやりとりするための総合的なツールキットを提供します。
主な機能は以下の通りです:
これらのツールはすべてfile://systemリソース経由で利用でき、MCPファイルシステム操作のインターフェースとなります。
MCPの実際の動作を示すため、AIアシスタントClaudeを使い、MCPファイルシステムサーバーで一般的なファイルシステム操作を行った例を紹介します。
まず、Claudeがアクセスできるディレクトリを調べました。list_allowed_directoriesツールを使ったところ、許可されているのは以下の2箇所でした。
/Users/arshia/Desktop
/Users/arshia/Downloads
これにより、Claudeの操作範囲がこの2ディレクトリに限定されていることが確認でき、他の領域は安全であると分かりました。
続いて、list_directoryツールで各ディレクトリ内のファイルを確認しました。
/Users/arshia/Desktopの場合:
/Users/arshia/Downloadsの場合:
これにより、Downloadsディレクトリにshrek.txt
というファイルやVisual Studio Code用のディレクトリなどがあることが分かりました。
デスクトップおよびDownloadsディレクトリへのlist_directoryリクエストとレスポンスのスクリーンショット
shrek.txtを見つけたので、read_fileツールで中身を読もうとしました。最初はshrek.txtというファイル名だけを指定し、許可ディレクトリ内を自動で探してくれるだろうと想定しました。
するとエラーが表示されました。
「アクセス拒否 – 許可されたディレクトリ外のパスです: /shrek.txt は /Users/arshia/Desktop, /Users/arshia/Downloads に含まれません。」
これはMCPがセキュリティのため完全なファイルパスを必須とするためです。
画像2:エラーメッセージ付きのread_file失敗のスクリーンショット
方法を修正し、read_fileツールに/Users/arshia/Downloads/shrek.txt
という完全なパスを指定したところ、今度は正常にファイル内容が返ってきました。
Request
{
`path`: `/Users/arshia/Downloads/shrek.txt`
}
Response
Can you see what im writing here? If you do check this out:
⢀⡴⠑⡄⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠸⡇⠀⠿⡀⠀⠀⠀⣀⡴⢿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠑⢄⣠⠾⠁⣀⣄⡈⠙⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⡀⠁⠀⠀⠈⠙⠛⠂⠈⣿⣿⣿⣿⣿⠿⡿⢿⣆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⡾⣁⣀⠀⠴⠂⠙⣗⡀⠀⢻⣿⣿⠭⢤⣴⣦⣤⣹⠀⠀⠀⢀⢴⣶⣆
⠀⠀⢀⣾⣿⣿⣿⣷⣮⣽⣾⣿⣥⣴⣿⣿⡿⢂⠔⢚⡿⢿⣿⣦⣴⣾⠁⠸⣼⡿
⠀⢀⡞⠁⠙⠻⠿⠟⠉⠀⠛⢹⣿⣿⣿⣿⣿⣌⢤⣼⣿⣾⣿⡟⠉⠀⠀⠀⠀⠀
⠀⣾⣷⣶⠇⠀⠀⣤⣄⣀⡀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀
⠀⠉⠈⠉⠀⠀⢦⡈⢻⣿⣿⣿⣶⣶⣶⣶⣤⣽⡹⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠉⠲⣽⡻⢿⣿⣿⣿⣿⣿⣿⣷⣜⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣷⣶⣮⣭⣽⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣀⣀⣈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⠿⠿⠿⛁⠉
Shrek
許可ディレクトリ内で正しいパスを指定すれば、MCPでファイルの読み取りができることが確認できました。
この実践例から、MCP利用時の重要な点がいくつか明らかになりました。
MCPファイルシステムサーバーの特徴と実践経験をもとに、以下のベストプラクティスを推奨します。
dryRun: true
で事前に変更内容を確認Model Context Protocol(MCP)とそのファイルシステムサーバーは、管理された環境でのファイルシステム操作に堅牢なセキュリティをもたらします。Claudeとの連携例では、list_directoryやread_fileといったツールの実際の使い方と、フルパス指定や権限境界の重要性を示しました。
ここで紹介したベストプラクティスに従うことで、MCPを活用し、安全にファイルシステム操作をアプリケーションや開発ワークフローに統合できます。
プロジェクトでMCPを導入したい開発者の方は、公式GitHubドキュメントもぜひご参照ください。
Model Context Protocol(MCP)は、アプリケーション(AIアシスタントなど)とファイルシステム間の制御されたサンドボックス化されたやりとりを可能にするセキュリティフレームワークです。許可されたディレクトリ内でのみ、安全なファイルの読み書きや検索などの操作を実現します。
MCPはすべての操作を事前に定義したディレクトリに制限することでサンドボックス化を実現します。不正なアクセスを防ぎ、操作には完全なファイルパスを必須とし、読み取り専用マウントなどの機能もサポートしています。
いいえ。MCPを利用するアプリケーションは、明示的に許可されたディレクトリのみ操作できます。これら以外のファイルへのアクセスはブロックされ、強固なセキュリティ境界が保たれます。
主なツールにはread_file、write_file、edit_file、create_directory、list_directory、move_file、search_files、get_file_info、list_allowed_directoriesなどがあります。すべて標準化されたAPI経由で操作されます。
操作前に必ず許可ディレクトリを確認し、完全なファイルパスを指定し、編集時はドライランを活用し、部分的な成功にも対応し、最小権限でディレクトリを設定することが重要です。これらによりセキュリティと効果的な統合が両立できます。
アルシアはFlowHuntのAIワークフローエンジニアです。コンピュータサイエンスのバックグラウンドとAIへの情熱を持ち、AIツールを日常業務に統合して効率的なワークフローを作り出し、生産性と創造性を高めることを専門としています。
AIモデルを外部ツールやデータソースと接続するためのModel Context Protocol(MCP)サーバーの構築・デプロイ方法を解説。初心者から上級者までのステップバイステップガイド。...
ModelContextProtocol (MCP) サーバーは、AIエージェントと外部データソース、API、サービスをつなぐ橋渡しとして機能し、FlowHuntユーザーがコンテキスト認識型でワークフロー自動化が可能なAIアシスタントを構築できるようにします。本ガイドでは、セットアップ、構成、および安全な統合のためのベ...
ファイルシステム MCP サーバーは、Model Context Protocol(MCP)を通じてローカルファイルシステムへの安全でプログラムによるアクセスを可能にします。AIアシスタントやクライアントが堅牢な安全管理のもとでファイルやディレクトリ操作を実行できるため、自動化、コードベース管理、コンテンツ検索などをサ...