mcpField
M
MCP Server for Software Development

MCP Server for Software Development

ローカル
github.com/kvas-it開発ツール074 週間前に更新

MCP Server for Software Development について

Claude Desktop向けに、デーモン経由でファイルシステムとシェルを操作するMCPサーバーです。操作の検出、パラメーター検証、ログ、詳細なエラー情報を備えています。

主な機能

  1. 01ファイルの一覧表示、読み書き、編集、移動、削除
  2. 02ディレクトリの作成と削除
  3. 03出力と終了ステータス付きのシェル実行
  4. 04操作スキーマの動的な検出
  5. 05パラメーター検証と詳細なエラー返却

活用シーン

  1. 01Claude Desktopからプロジェクトファイルを確認・変更
  2. 02対象ディレクトリでのシェルコマンド実行
  3. 03トラブルシューティング時の操作ログ確認

MCP 対応

利用可能なファイルシステム操作とスキーマを検出するツールと、デーモン経由で操作を実行するツールの2つを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ソフトウェア開発用 MCP サーバー

Claude デスクトップにファイルシステムとシェルへのアクセスを提供する MCP サーバーです。

アーキテクチャ

Claude ←→ MCP Server ←→ Unix Socket ←→ Filesystem Daemon
       (2 tools)      (JSON RPC)     (file operations, shell)

主なメリット

  • ✅ 権限確認が1回だけ(元の15個以上のツールに対して2つ)
  • ✅ 環境を制御(デーモンは適切な venv/ディレクトリで実行)
  • ✅ ターミナルで可視化(すべての操作がコンテキストとともに記録されます)
  • ✅ 動的な検出(操作が自動でドキュメント化されます)
  • ✅ 充実したエラー処理(提案を含む詳細なエラー)
  • ✅ 型安全性(検証付きパラメータスキーマ)

クイックスタート

  1. ファイルシステムデーモンを起動します(対象ディレクトリで):

    python fs_access.py           # Normal mode
    python fs_access.py --verbose # Verbose mode (shows shell output, file contents, edit details)
    
  2. 設定を通じて Claude を MCP サーバーに接続します:

    {
      ...
      "mcpServers": {
        "Dev": {
          "command": "uv",
          "args": [
            "run",
            "--with",
            "fastmcp",
            "$path/mcp-server-dev/mcp_server.py"
          ]
        }
      }
    }
    
  3. 連携をテストします:

    • Claude Desktop の「検索とツール」メニューに Dev が表示されていることを確認します
    • ファイルシステムアクセスサーバーを実行し、Claude と会話してツールを使用できるか確認します。

Claude で利用できる MCP ツール

1. get_available_operations()
  • 目的:利用可能なファイルシステム操作とそのスキーマを確認します
  • 戻り値:型、説明、デフォルト値を含む操作スキーマの Dict
2. execute_fs_operation(operation, params)
  • 目的:デーモンを介してファイルシステム操作を実行します
  • パラメータ:
    • operation:操作名(string)
    • params:操作のパラメータ(dict)
  • 戻り値:成功ステータス、結果/エラー、ログを含む Dict

利用可能な操作

ファイル操作
ls(path=".")

指定したパス内のファイルとディレクトリを一覧表示します。

  • 例:execute_fs_operation("ls", {})
  • 例:execute_fs_operation("ls", {"path": "/tmp"})
read_file(path)

ファイルの内容を UTF-8 文字列として読み込みます。

  • 例:execute_fs_operation("read_file", {"path": "README.md"})
write_file(path, content)

ファイルに内容を書き込みます(ファイルを作成または上書きします)。

  • 例:execute_fs_operation("write_file", {"path": "test.txt", "content": "Hello world!"})
edit_file(path, changes)

ファイルに検索/置換操作を適用します。

  • 例:
execute_fs_operation("edit_file", {
    "path": "config.py",
    "changes": [
        ["DEBUG = False", "DEBUG = True"],
        ["localhost", "production.com"]
    ]
})
ディレクトリ管理
mkdir(path)

ディレクトリと、必要な親ディレクトリを作成します。

  • 例:execute_fs_operation("mkdir", {"path": "project/src/utils"})
rmdir(path)

ディレクトリとその内容をすべて再帰的に削除します(注意して使用してください!)。

  • 例:execute_fs_operation("rmdir", {"path": "temp_project"})
ファイルとディレクトリの管理
rm(path)

ファイルまたは空のディレクトリを削除します。

  • 例:execute_fs_operation("rm", {"path": "unwanted_file.txt"})
  • 例:execute_fs_operation("rm", {"path": "empty_dir"})(空の場合のみ)
mv(src, dst)

ファイルやディレクトリを移動または名前変更します。

  • 例:execute_fs_operation("mv", {"src": "old_name.txt", "dst": "new_name.txt"})
  • 例:execute_fs_operation("mv", {"src": "temp", "dst": "project/temp"})
シェルコマンド
shell(command, args=[], timeout=30)

シェルコマンドを実行し、stdout、stderr、exit_code を返します。

  • 例:execute_fs_operation("shell", {"command": "git", "args": ["status"]})
  • 例:execute_fs_operation("shell", {"command": "python", "args": ["--version"]})
  • 例:execute_fs_operation("shell", {"command": "find", "args": [".", "-name", "*.py"], "timeout": 60})
  • 戻り値:{"stdout": "...", "stderr": "...", "exit_code": 0, "command": "...", "working_directory": "..."}

エラー処理

  • 接続エラー:デーモンが実行されていない場合 → 役立つヒントが表示されます
  • 無効な操作:利用可能な操作とシグネチャが一覧表示されます
  • ファイルエラー:詳細なエラーの種類(FileNotFoundError、PermissionError など)
  • パラメータエラー:型の検証と要件の確認

Claude の使用パターン

  1. 検出:get_available_operations() を呼び出して、利用可能な操作を確認します
  2. 実行:execute_fs_operation(operation_name, params_dict) を呼び出します

コアファイル

  • fs_access.py - すべての操作を備えたファイルシステムデーモン
  • mcp_server.py - Claude インターフェースを提供する MCP サーバー
  • socket_protocol.py - Unix ソケット通信レイヤー
  • shell_examples.py - シェルコマンドの例

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。