Skip to main content
Glama

Claude MCP Server Integration

by mokemoke0821
README.md7.54 kB
# Enhanced Filesystem Security - MCP Server 🔐 **強化ファイルシステムセキュリティツール** - Phase 1 既存のMCPファイルシステムツールと重複しない、12の新機能を段階的に実装するプロジェクトです。Phase 1では最重要のセキュリティ機能(暗号化・整合性検証)を提供します。 ## 🎯 Phase 1 実装機能 ### 🔐 ファイル暗号化・復号化 - AES暗号化(256/192/128bit、GCM/CBCモード対応) - 強力なキー導出(scrypt/PBKDF2) - 単一・複数ファイルの一括処理 - メタデータ保持による安全な復号化 ### 🛡️ ファイル整合性検証 - チェックサム生成(MD5/SHA1/SHA256/SHA512) - ファイル整合性検証 - チェックサムファイル保存・読み込み - ディレクトリ一括検証 ## 📦 インストール ```bash cd enhanced-filesystem npm install npm run build ``` ## 🚀 使用方法 ### 1. MCPサーバーとして起動 ```bash npm start # または node build/index.js ``` ### 2. Claude Desktop設定 `claude_desktop_config.json`に以下を追加: ```json { "mcpServers": { "enhanced-filesystem-security": { "command": "node", "args": ["/path/to/enhanced-filesystem/build/index.js"] } } } ``` ## 🔧 利用可能なツール ### 暗号化ツール #### `encrypt_file` ファイルを暗号化します。 ```typescript encrypt_file({ filePath: "secret.txt", password: "強力なパスワード", algorithm: "aes-256-gcm", // オプション keyDerivation: "scrypt" // オプション }) ``` #### `decrypt_file` 暗号化ファイルを復号化します。 ```typescript decrypt_file({ encryptedFilePath: "secret.encrypted", password: "強力なパスワード", outputPath: "restored.txt" // オプション }) ``` #### `encrypt_multiple_files` 複数ファイルを一括暗号化します。 ```typescript encrypt_multiple_files({ filePaths: ["file1.txt", "file2.pdf", "file3.jpg"], password: "強力なパスワード", algorithm: "aes-256-gcm" }) ``` #### `decrypt_multiple_files` 複数の暗号化ファイルを一括復号化します。 ```typescript decrypt_multiple_files({ encryptedFilePaths: ["file1.encrypted", "file2.encrypted"], password: "強力なパスワード" }) ``` ### 整合性検証ツール #### `generate_file_checksum` ファイルのチェックサムを生成します。 ```typescript generate_file_checksum({ filePath: "important.pdf", algorithm: "sha256" // md5, sha1, sha256, sha512 }) ``` #### `verify_file_integrity` ファイルの整合性を検証します。 ```typescript verify_file_integrity({ filePath: "important.pdf", expectedChecksum: "a1b2c3d4e5f6...", algorithm: "sha256" }) ``` #### `generate_multiple_checksums` 複数ファイルのチェックサムを一括生成します。 ```typescript generate_multiple_checksums({ filePaths: ["file1.txt", "file2.pdf"], algorithm: "sha256" }) ``` #### `save_checksum_file` チェックサム結果をファイルに保存します。 ```typescript save_checksum_file({ filePaths: ["file1.txt", "file2.pdf"], outputPath: "checksums.txt", // オプション algorithm: "sha256" }) ``` #### `verify_directory_integrity` チェックサムファイルに基づいてディレクトリを検証します。 ```typescript verify_directory_integrity({ directoryPath: "/path/to/directory", checksumFilePath: "checksums.txt" }) ``` ## 🏗️ プロジェクト構造 ``` enhanced-filesystem/ ├── src/ │ ├── security/ # セキュリティ機能 │ │ ├── encryption.ts # 暗号化・復号化 │ │ └── integrity.ts # 整合性検証 │ ├── types/ # 型定義 │ │ └── index.ts │ ├── utils/ # 共通ユーティリティ │ │ ├── logger.ts # ログシステム │ │ └── file-helper.ts # ファイル操作ヘルパー │ └── index.ts # MCPサーバーメイン ├── build/ # ビルド済みファイル ├── tests/ # テストファイル ├── package.json ├── tsconfig.json └── README.md ``` ## 🔒 セキュリティ機能詳細 ### 暗号化仕様 - **アルゴリズム**: AES-256-GCM(デフォルト)、AES-256-CBC、AES-192-GCM、AES-128-GCM - **キー導出**: scrypt(デフォルト)、PBKDF2 - **認証**: GCMモードでAEAD(Authenticated Encryption with Associated Data) - **ソルト**: 32バイトランダム生成 - **IV**: 16バイトランダム生成 ### ファイル形式 暗号化ファイルは以下の形式で保存されます: ``` { "algorithm": "aes-256-gcm", "keyDerivation": "scrypt", "iterations": 100000, "saltLength": 32, "ivHex": "...", "saltHex": "...", "tagHex": "...", "originalFileName": "secret.txt", "originalSize": 1024, "encryptedAt": "2024-01-01T00:00:00.000Z" } ---ENCRYPTED-DATA--- [暗号化されたバイナリデータ] ``` ### チェックサムファイル形式 ``` # Enhanced Filesystem Security - Checksum File # Generated: 2024-01-01T00:00:00.000Z # Algorithm: sha256 # Total Files: 2 # # Format: <checksum> <algorithm> <size> <filename> a1b2c3d4... sha256 1024 file1.txt e5f6g7h8... sha256 2048 file2.pdf ``` ## 🚧 今後の実装予定(Phase 2-3) ### Phase 2: 実用機能 - **ファイル圧縮・アーカイブ** (zip/tar/7z対応) - **重複ファイル検出・管理** (ハッシュベース検出) - **ファイル監視・変更検知** (リアルタイム監視) - **ファイル同期・バックアップ** (双方向同期) ### Phase 3: 高度機能 - **ファイルバージョン管理** (スナップショット機能) - **インテリジェント分類** (AI支援分類) - **高度なファイル検索** (内容・メタデータ検索) - **ファイルアクセス権限管理** (セキュリティ監査) ## 📋 開発情報 - **言語**: TypeScript - **実行環境**: Node.js 18+ - **フレームワーク**: Model Context Protocol (MCP) - **暗号化**: Node.js crypto モジュール - **ログ**: カスタムログシステム ## 🤝 コントリビューション 1. このリポジトリをフォーク 2. フィーチャーブランチを作成 (`git checkout -b feature/amazing-feature`) 3. 変更をコミット (`git commit -m 'Add amazing feature'`) 4. ブランチにプッシュ (`git push origin feature/amazing-feature`) 5. プルリクエストを作成 ## 📄 ライセンス MIT License - 詳細は [LICENSE](LICENSE) ファイルを参照してください。 ## 🔍 トラブルシューティング ### よくある問題 **Q: 暗号化ファイルが復号化できません** A: パスワードが正しいか、暗号化ファイルが破損していないか確認してください。 **Q: チェックサム検証が失敗します** A: ファイルが変更されているか、チェックサム値が間違っている可能性があります。 **Q: MCPサーバーが起動しません** A: Node.js 18以上がインストールされているか、依存関係が正しくインストールされているか確認してください。 ### ログ確認 詳細なログは標準エラー出力に出力されます: ```bash node build/index.js 2> server.log ``` ## 📞 サポート 問題や質問がある場合は、GitHubのIssueを作成してください。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mokemoke0821/claude-mcp-integration'

If you have feedback or need assistance with the MCP directory API, please join our Discord server