Skip to main content
Glama
README.mdโ€ข5.42 kB
# ๐Ÿ“‚ File Manage MCP Server Windows์šฉ ๋กœ์ปฌ MCP ์„œ๋ฒ„๋กœ, LLM์ด ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ## โœจ ์ฃผ์š” ๊ธฐ๋Šฅ - **๋””๋ ‰ํ† ๋ฆฌ ๋ถ„์„**: ํŒŒ์ผ/ํด๋” ๋ชฉ๋ก ์กฐํšŒ, ๋‚ ์งœ ์ •๋ณด ์ถ”์ถœ - **ํŒŒ์ผ ๋‚ด์šฉ ํ™•์ธ**: ํ…์ŠคํŠธ/์ฝ”๋“œ ํŒŒ์ผ ์Šค๋‹ˆํŽซ ์ฝ๊ธฐ (cp949/euc-kr ์ธ์ฝ”๋”ฉ ์ง€์›) - **์ด๋ฏธ์ง€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ**: EXIF ์ •๋ณด์—์„œ ์ดฌ์˜ ๋‚ ์งœ ์ถ”์ถœ - **์ง€๋Šฅํ˜• ํŒŒ์ผ ๋ถ„์„**: ํ…์ŠคํŠธ ๋ถ„์„ ๋ฐ ์ด๋ฏธ์ง€ ๋ถ„์„์„ ํ†ตํ•œ ํŒŒ์ผ๋ช… ์ œ์•ˆ (LLM ์—ฐ๋™) - **ํŒŒ์ผ ๊ทธ๋ฃนํ•‘**: ๊ด€๋ จ ํŒŒ์ผ ๋ถ„์„ ๋ฐ ์ž๋™ ๊ทธ๋ฃนํ•‘ ์ œ์•ˆ - **ํŒŒ์ผ ์ž‘์—…**: ์ด๋™, ์ด๋ฆ„ ๋ณ€๊ฒฝ, ํด๋” ์ƒ์„ฑ, ์˜๋ฏธ๋ฅผ ์•Œ ์ˆ˜ ์—†๋Š” ํŒŒ์ผ๋ช… ์ •๋ฆฌ - **์ผ๊ด„ ์ฒ˜๋ฆฌ**: ๋‚ ์งœ ์ ‘๋‘์‚ฌ ์ผ๊ด„ ์ถ”๊ฐ€, ๋‹ค์ค‘ ํŒŒ์ผ ๊ทธ๋ฃน ํด๋” ์ด๋™ - **์•ˆ์ „ ๊ธฐ๋Šฅ**: Dry Run ๋ชจ๋“œ, ์ƒŒ๋“œ๋ฐ•์Šค ์ œํ•œ, ์‹œ์Šคํ…œ ํด๋” ๋ณดํ˜ธ ## ๐Ÿ“‹ ํŒŒ์ผ ์ •๋ฆฌ ๊ทœ์น™ ### 2๊ฐ€์ง€ ์ ˆ๋Œ€ ๊ทœ์น™ 1. **5๋‹จ๊ณ„ ๊ทœ์น™**: ๋””๋ ‰ํ† ๋ฆฌ ๊นŠ์ด๋Š” ์ตœ๋Œ€ 5๋‹จ๊ณ„๊นŒ์ง€ 2. **๋ฒˆํ˜ธ ์ฒด๊ณ„**: ํด๋”๋Š” `00~99` ์ ‘๋‘์‚ฌ ์‚ฌ์šฉ (์˜ˆ: `01_Project`), `99`๋Š” Archive์šฉ ### ๋ช…๋ช… ๊ทœ์น™ - **ํด๋”**: `NN_์ด๋ฆ„` ํ˜•์‹ (์˜ˆ: `01_Business`, `02_Project`) - **ํŒŒ์ผ**: `YYMMDD_ํŒŒ์ผ๋ช…` ํ˜•์‹ (์˜ˆ: `251202_ํšŒ์˜๋ก.docx`) - **๋ฒ„์ „**: `_v1.0` ํ˜•์‹ (Final, ์ตœ์ตœ์ตœ์ข… ๊ธˆ์ง€!) ## ๐Ÿš€ ์„ค์น˜ ๋ฐ ์‹คํ–‰ ### ์š”๊ตฌ ์‚ฌํ•ญ - Windows 10/11 - Python 3.13+ - uv ### uv dependency ์„ค์น˜ ```bash uv pip install -r requirements.txt ``` ## โš™๏ธ Claude Desktop ์„ค์ • ### Claude Desktop ์„ค์ • (`claude_desktop_config.json`) Windows: `%APPDATA%\Claude\claude_desktop_config.json` ```json { "mcpServers": { "file-organization-agent": { "command": "uv", "args": [ "--directory", "{your_path}/FileManageMCP", "run", "python", "server.py" ] } } } ``` ## ๐Ÿ› ๏ธ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ ### ์„ค์ • ๋„๊ตฌ | ๋„๊ตฌ | ์„ค๋ช… | |------|------| | `tool_set_dry_run` | Dry Run ๋ชจ๋“œ ์„ค์ • (๊ธฐ๋ณธ: ํ™œ์„ฑํ™”) | | `tool_get_status` | ํ˜„์žฌ ์„ค์ • ์ƒํƒœ ํ™•์ธ | | `tool_configure_workspace` | ์ž‘์—… ์˜์—ญ(์ƒŒ๋“œ๋ฐ•์Šค) ์„ค์ • | ### ๋ถ„์„ ๋„๊ตฌ (Read-Only) | ๋„๊ตฌ | ์„ค๋ช… | |------|------| | `tool_list_directory` | ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์šฉ ์กฐํšŒ (๋‚ ์งœ ์ •๋ณด ํฌํ•จ) | | `tool_read_file_snippet` | ํŒŒ์ผ ๋‚ด์šฉ ๋ฏธ๋ฆฌ๋ณด๊ธฐ | | `tool_get_image_metadata` | ์ด๋ฏธ์ง€ EXIF ์ •๋ณด ์ถ”์ถœ | | `tool_analyze_directory_structure` | ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ๋ถ„์„ ๋ฐ ๋ฌธ์ œ์  ํŒŒ์•… | ### ๊ณ ๊ธ‰ ๋ถ„์„ ๋ฐ ์ •๋ฆฌ ๋„๊ตฌ | ๋„๊ตฌ | ์„ค๋ช… | |------|------| | `tool_find_files_needing_rename` | ์˜๋ฏธ๋ฅผ ์•Œ ์ˆ˜ ์—†๋Š” ํŒŒ์ผ๋ช…์„ ๊ฐ€์ง„ ํŒŒ์ผ ์ฐพ๊ธฐ (์ •๋ฆฌ ๋Œ€์ƒ ๋ฐœ๊ตด) | | `tool_suggest_filename_from_content` | ํŒŒ์ผ ๋‚ด์šฉ(ํ…์ŠคํŠธ/๋ฌธ์„œ) ๋ถ„์„์šฉ ์š”์•ฝ ์ •๋ณด ๋ฐ˜ํ™˜ | | `tool_get_image_for_analysis` | ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋ถ„์„์šฉ ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜ (LLM Vision ์—ฐ๋™) | | `tool_analyze_file_relationships` | ํŒŒ์ผ ๊ด€๊ณ„ ๋ถ„์„ ๋ฐ ๊ทธ๋ฃนํ•‘ ์ œ์•ˆ | ### ์•ก์…˜ ๋„๊ตฌ (Dry Run ์ง€์›) | ๋„๊ตฌ | ์„ค๋ช… | |------|------| | `tool_move_file` | ํŒŒ์ผ ์ด๋™ | | `tool_rename_file` | ํŒŒ์ผ/ํด๋” ์ด๋ฆ„ ๋ณ€๊ฒฝ | | `tool_rename_with_suggestion` | LLM ์ œ์•ˆ ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ (๊ณ ๊ธ‰) | | `tool_create_folder` | ์ƒˆ ํด๋” ์ƒ์„ฑ | | `tool_group_files_into_folder` | ๊ด€๋ จ ํŒŒ์ผ๋“ค์„ ์ƒˆ ํด๋”๋กœ ์ผ๊ด„ ์ด๋™ (๊ณ ๊ธ‰) | | `tool_batch_rename_with_date` | ๋‚ ์งœ ์ ‘๋‘์‚ฌ ์ผ๊ด„ ์ถ”๊ฐ€ | ## ๐Ÿ”’ ์•ˆ์ „ ๊ธฐ๋Šฅ ### Dry Run ๋ชจ๋“œ (๊ธฐ๋ณธ ํ™œ์„ฑํ™”) - ๋ชจ๋“  ํŒŒ์ผ ์ˆ˜์ • ์ž‘์—…์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋งŒ ์ˆ˜ํ–‰ - ์‹ค์ œ ๋ณ€๊ฒฝ ์ „ ์˜ˆ์ƒ ๊ฒฐ๊ณผ ํ™•์ธ ๊ฐ€๋Šฅ - `tool_set_dry_run(false)` ํ˜ธ์ถœ๋กœ ์‹ค์ œ ๋ชจ๋“œ ์ „ํ™˜ ### ์ƒŒ๋“œ๋ฐ•์Šค ์ œํ•œ - `tool_configure_workspace`๋กœ ์ž‘์—… ์˜์—ญ ์„ค์ • - ์„ค์ •๋œ ์˜์—ญ ์™ธ๋ถ€ ์ ‘๊ทผ ์ฐจ๋‹จ ### ์‹œ์Šคํ…œ ํด๋” ๋ณดํ˜ธ ์ ‘๊ทผ ์ฐจ๋‹จ๋˜๋Š” ๊ฒฝ๋กœ: - `C:\Windows` - `C:\Program Files` - `C:\Program Files (x86)` - `.git`, `node_modules` ๋“ฑ ## ๐Ÿ“– ์‚ฌ์šฉ ์˜ˆ์‹œ ### ๊ธฐ๋ณธ ์›Œํฌํ”Œ๋กœ์šฐ ``` User: D:\Downloads ํด๋”๋ฅผ ์ •๋ฆฌํ•ด์ค˜ AI: 1. ๋จผ์ € ์ž‘์—… ์˜์—ญ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. โ†’ tool_configure_workspace("D:\\Downloads") 2. ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. โ†’ tool_get_status() # Dry Run ํ™œ์„ฑํ™” ํ™•์ธ 3. ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. โ†’ tool_analyze_directory_structure("D:\\Downloads") 4. ์˜๋ฏธ๋ฅผ ์•Œ ์ˆ˜ ์—†๋Š” ํŒŒ์ผ๋ช… ํŒŒ์ผ๋“ค์„ ์ฐพ์•„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. โ†’ tool_find_files_needing_rename("D:\\Downloads") โ†’ tool_suggest_filename_from_content(...) ๋˜๋Š” tool_get_image_for_analysis(...) โ†’ tool_rename_with_suggestion(...) 5. ๋‚จ์€ ํŒŒ์ผ๋“ค์„ ์ฃผ์ œ๋ณ„๋กœ ๊ทธ๋ฃนํ•‘ํ•ฉ๋‹ˆ๋‹ค. โ†’ tool_analyze_file_relationships("D:\\Downloads") โ†’ tool_group_files_into_folder("D:\\Downloads", "01_References", ["file1.txt", "file2.pdf"]) 6. ๊ฒฐ๊ณผ ํ™•์ธ ํ›„ ์‹ค์ œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. โ†’ tool_set_dry_run(false) โ†’ (์œ„ ์ž‘์—… ์‹ค์ œ ์ˆ˜ํ–‰) ``` ## ๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ``` FileManageMCP/ โ”œโ”€โ”€ server.py # MCP ์„œ๋ฒ„ ์ง„์ž…์  (FastMCP) โ”œโ”€โ”€ tools.py # MCP ๋„๊ตฌ ํ•จ์ˆ˜ ๊ตฌํ˜„ โ”œโ”€โ”€ utils.py # ์œ ํ‹ธ๋ฆฌํ‹ฐ (๊ฒฝ๋กœ ๊ฒ€์ฆ, ์ธ์ฝ”๋”ฉ ์ฒ˜๋ฆฌ) โ”œโ”€โ”€ requirements.txt # Python ์˜์กด์„ฑ โ””โ”€โ”€ README.md # ์ด ๋ฌธ์„œ ``` ## ๐Ÿ“ธ ์‹คํ–‰ ์˜ˆ์‹œ ![FileManageMCP Result](FileManageMCP_Result.jpg) ## ๐Ÿ“œ License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

Latest Blog Posts

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/duaghwls/FileManageMCP'

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