smart-file-manager-mcp

๐Ÿš€ AI-powered file management system with Claude Desktop integration. Features intelligent indexing, LLM-based organization, and Docker deployment.

GitHub Stars

0

User Rating

Not Rated

Favorites

0

Views

9

Forks

0

Issues

0

README
Smart File Manager MCP ๐Ÿš€

AI ๊ธฐ๋ฐ˜ ์Šค๋งˆํŠธ ํŒŒ์ผ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ - MCP(Model Context Protocol) ์„œ๋ฒ„์™€ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ฒ˜๋ฆฌ ํ†ตํ•ฉ

Docker
Python
FastAPI
MCP

๐Ÿ“‹ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

Smart File Manager MCP๋Š” Claude Desktop๊ณผ ํ†ตํ•ฉ๋˜๋Š” ๊ณ ๊ธ‰ ํŒŒ์ผ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. AI ๊ธฐ๋ฐ˜ ํŒŒ์ผ ๋ถ„์„, ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ฒ˜๋ฆฌ, ์ž๋™ ์ •๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐ŸŒŸ ์ฃผ์š” ๊ธฐ๋Šฅ
  • ๐Ÿค– AI ๊ธฐ๋ฐ˜ ํŒŒ์ผ ๋ถ„์„: ์ด๋ฏธ์ง€ ์ธ์‹, ์Œ์„ฑ ์ธ์‹, ํ…์ŠคํŠธ ์ถ”์ถœ
  • ๐Ÿ“ ์Šค๋งˆํŠธ ํŒŒ์ผ ์ •๋ฆฌ: AI๊ฐ€ ํŒŒ์ผ ๋‚ด์šฉ์„ ๋ถ„์„ํ•˜์—ฌ ์ž๋™ ๋ถ„๋ฅ˜
  • ๐Ÿ” ๊ณ ๊ธ‰ ๊ฒ€์ƒ‰: FTS5 ๊ธฐ๋ฐ˜ ์ „๋ฌธ ๊ฒ€์ƒ‰ ๋ฐ ์˜๋ฏธ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰
  • ๐ŸŽฌ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ฒ˜๋ฆฌ: ์ด๋ฏธ์ง€, ๋น„๋””์˜ค, ์˜ค๋””์˜ค ํŒŒ์ผ ๋ถ„์„ ๋ฐ ์ธ๋„ค์ผ ์ƒ์„ฑ
  • ๐Ÿ“Š ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง: Prometheus + Grafana ํ†ตํ•ฉ
  • ๐Ÿ”Œ MCP ํ”„๋กœํ† ์ฝœ: Claude Desktop๊ณผ์˜ ์™„๋ฒฝํ•œ ํ†ตํ•ฉ
๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ
  • Backend: Python 3.8+, FastAPI, SQLite (FTS5)
  • AI/ML: OpenAI GPT-4 Vision, Whisper, TensorFlow, PyTorch
  • ๊ฒ€์ƒ‰: SQLite FTS5, ChromaDB (๋ฒกํ„ฐ DB)
  • ๋ชจ๋‹ˆํ„ฐ๋ง: Prometheus, Grafana
  • ์ปจํ…Œ์ด๋„ˆ: Docker, Docker Compose
  • MCP: Model Context Protocol Server
๐Ÿ“ฆ ์‹œ์Šคํ…œ ๊ตฌ์กฐ
smart-file-manager-mcp/
โ”œโ”€โ”€ ai-services/           # AI ์„œ๋น„์Šค ๋ชจ๋“ˆ
โ”‚   โ”œโ”€โ”€ multimedia_api_v4.py    # ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด API ์„œ๋ฒ„
โ”‚   โ”œโ”€โ”€ enhanced_indexer_v4.py  # ํŒŒ์ผ ์ธ๋ฑ์‹ฑ ์—”์ง„
โ”‚   โ”œโ”€โ”€ multimedia_processor.py  # ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ฒ˜๋ฆฌ
โ”‚   โ”œโ”€โ”€ ai_vision_service.py    # AI ๋น„์ „ ์„œ๋น„์Šค
โ”‚   โ”œโ”€โ”€ speech_recognition_service.py  # ์Œ์„ฑ ์ธ์‹
โ”‚   โ””โ”€โ”€ db_connection_pool.py   # DB ์—ฐ๊ฒฐ ํ’€
โ”œโ”€โ”€ monitoring/            # ๋ชจ๋‹ˆํ„ฐ๋ง ์„ค์ •
โ”‚   โ”œโ”€โ”€ prometheus.yml
โ”‚   โ””โ”€โ”€ grafana/
โ””โ”€โ”€ docker-compose.yml     # Docker ์„ค์ •
๐Ÿ†• v4.0.2 ์—…๋ฐ์ดํŠธ
๊ฐœ์„ ์‚ฌํ•ญ
  • โœ… Qdrant ํ—ฌ์Šค์ฒดํฌ ์ˆ˜์ •: ์˜ฌ๋ฐ”๋ฅธ ์—”๋“œํฌ์ธํŠธ๋กœ ๋ณ€๊ฒฝ
  • ๐Ÿงน ๋””์Šคํฌ ๊ด€๋ฆฌ ๋„๊ตฌ ์ถ”๊ฐ€:
    • ๋””์Šคํฌ ์‚ฌ์šฉ๋ฅ  ๋ชจ๋‹ˆํ„ฐ๋ง API
    • ์ž๋™ ์ •๋ฆฌ ์Šคํฌ๋ฆฝํŠธ
    • ์ธ๋„ค์ผ ๋ฐ ์ž„์‹œ ํŒŒ์ผ ์ •๋ฆฌ ๊ธฐ๋Šฅ
  • ๐Ÿ“Š ๋””์Šคํฌ ์‚ฌ์šฉ๋ฅ  ๊ถŒ์žฅ์‚ฌํ•ญ: ์ž๋™ ์ •๋ฆฌ ์ œ์•ˆ ์‹œ์Šคํ…œ
์ƒˆ๋กœ์šด API ์—”๋“œํฌ์ธํŠธ
  • GET /disk/usage - ํ˜„์žฌ ๋””์Šคํฌ ์‚ฌ์šฉ๋ฅ  ์กฐํšŒ
  • POST /disk/cleanup/thumbnails - ์˜ค๋ž˜๋œ ์ธ๋„ค์ผ ์ •๋ฆฌ
  • POST /disk/cleanup/temp - ์ž„์‹œ ํŒŒ์ผ ์ •๋ฆฌ
  • GET /disk/recommendations - ๋””์Šคํฌ ์ •๋ฆฌ ๊ถŒ์žฅ์‚ฌํ•ญ
๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘
์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ
  • Docker ๋ฐ Docker Compose
  • OpenAI API ํ‚ค (AI ๊ธฐ๋Šฅ ์‚ฌ์šฉ ์‹œ)
  • ์ตœ์†Œ 4GB RAM, 10GB ๋””์Šคํฌ ๊ณต๊ฐ„
์„ค์น˜ ๋ฐ ์‹คํ–‰
  1. ํ”„๋กœ์ ํŠธ ํด๋ก 
git clone https://github.com/yourusername/smart-file-manager-mcp.git
cd smart-file-manager-mcp
  1. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
cp .env.example .env
# .env ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ API ํ‚ค ์„ค์ •
  1. Docker ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
docker-compose up -d
  1. ์ƒํƒœ ํ™•์ธ
docker-compose ps
curl http://localhost:8001/health
๐Ÿ“ก API ์—”๋“œํฌ์ธํŠธ
ํ•ต์‹ฌ ์—”๋“œํฌ์ธํŠธ
์—”๋“œํฌ์ธํŠธ ๋ฉ”์„œ๋“œ ์„ค๋ช…
/health GET ์‹œ์Šคํ…œ ์ƒํƒœ ํ™•์ธ
/search/multimedia POST ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํŒŒ์ผ ๊ฒ€์ƒ‰
/ai/analyze POST AI ํŒŒ์ผ ๋ถ„์„
/stats/multimedia GET ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํ†ต๊ณ„
/media/thumbnail/{id} GET ์ธ๋„ค์ผ ๊ฐ€์ ธ์˜ค๊ธฐ
๊ฒ€์ƒ‰ API ์˜ˆ์ œ
# ๊ธฐ๋ณธ ๊ฒ€์ƒ‰
curl -X POST http://localhost:8001/search/multimedia \
  -H "Content-Type: application/json" \
  -d '{"query": "ํšŒ์˜๋ก", "limit": 10}'

# ๋ฏธ๋””์–ด ํƒ€์ž… ํ•„ํ„ฐ๋ง
curl -X POST http://localhost:8001/search/multimedia \
  -H "Content-Type: application/json" \
  -d '{"media_types": ["image", "video"], "limit": 5}'
๐Ÿ”ง ์„ค์ •
Docker Compose ์„œ๋น„์Šค
  • smart-file-manager-multimedia-v4: ๋ฉ”์ธ API ์„œ๋ฒ„ (ํฌํŠธ 8001)
  • smart-file-redis-v4: Redis ์บ์‹œ (ํฌํŠธ 16379)
  • smart-file-prometheus-v4: ๋ฉ”ํŠธ๋ฆญ ์ˆ˜์ง‘ (ํฌํŠธ 9090)
  • smart-file-grafana-v4: ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ (ํฌํŠธ 3003)
ํ™˜๊ฒฝ ๋ณ€์ˆ˜
# OpenAI API ์„ค์ •
OPENAI_API_KEY=your-api-key

# ํŒŒ์ผ ๊ฒฝ๋กœ ์„ค์ •
WATCH_DIRECTORIES=/watch_directories
DB_PATH=/data/db/file-index.db
EMBEDDINGS_PATH=/data/embeddings
METADATA_PATH=/data/metadata

# ์„œ๋น„์Šค ํฌํŠธ
MULTIMEDIA_API_PORT=8001
REDIS_PORT=16379
๐Ÿ“Š ๋ชจ๋‹ˆํ„ฐ๋ง
Grafana ๋Œ€์‹œ๋ณด๋“œ
  • URL: http://localhost:3003
  • ๊ธฐ๋ณธ ๊ณ„์ •: admin/admin
  • ์‚ฌ์ „ ๊ตฌ์„ฑ๋œ ๋Œ€์‹œ๋ณด๋“œ๋กœ ์‹œ์Šคํ…œ ๋ฉ”ํŠธ๋ฆญ ํ™•์ธ
Prometheus ๋ฉ”ํŠธ๋ฆญ
  • URL: http://localhost:9090
  • ์ฃผ์š” ๋ฉ”ํŠธ๋ฆญ:
    • ํŒŒ์ผ ์ธ๋ฑ์‹ฑ ์ƒํƒœ
    • API ์‘๋‹ต ์‹œ๊ฐ„
    • AI ์ฒ˜๋ฆฌ ํ†ต๊ณ„
    • ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰
๐Ÿ› ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ
  1. API ํƒ€์ž… ์˜ค๋ฅ˜

    • ์ฆ์ƒ: '>' not supported between instances of 'str' and 'int'
    • ํ•ด๊ฒฐ: ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ (v4.0์—์„œ ์ˆ˜์ •๋จ)
  2. ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์—†์Œ

    • ์ฆ์ƒ: ๊ฒ€์ƒ‰ ์‹œ ๋นˆ ๊ฒฐ๊ณผ
    • ํ•ด๊ฒฐ: ํŒŒ์ผ ์ธ๋ฑ์‹ฑ ์ƒํƒœ ํ™•์ธ
    curl http://localhost:8001/stats/multimedia
    
  3. Docker ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘

    docker-compose restart smart-file-manager-multimedia-v4
    
๋กœ๊ทธ ํ™•์ธ
# API ์„œ๋ฒ„ ๋กœ๊ทธ
docker logs -f smart-file-manager-multimedia-v4

# ์ „์ฒด ์„œ๋น„์Šค ๋กœ๊ทธ
docker-compose logs -f
๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ
  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request
๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ‘ฅ ํŒ€
๐Ÿ™ ๊ฐ์‚ฌ์˜ ๋ง
  • Anthropic Claude ํŒ€ - MCP ํ”„๋กœํ† ์ฝœ ์ œ๊ณต
  • FastAPI ์ปค๋ฎค๋‹ˆํ‹ฐ
  • ๋ชจ๋“  ์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ์ž๋“ค

โญ ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด Star๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”!

Author Information

0

Followers

5

Repositories

0

Gists

0

Total Contributions

Related MCPs
TrendRadar logo
TrendRadar
37534

๐ŸŽฏ ๅ‘Šๅˆซไฟกๆฏ่ฟ‡่ฝฝ๏ผŒAI ๅŠฉไฝ ็œ‹ๆ‡‚ๆ–ฐ้—ป่ต„่ฎฏ็ƒญ็‚น๏ผŒ็ฎ€ๅ•็š„่ˆ†ๆƒ…็›‘ๆŽงๅˆ†ๆž - ๅคšๅนณๅฐ็ƒญ็‚น่šๅˆ+ๅŸบไบŽ MCP ็š„AIๅˆ†ๆžๅทฅๅ…ทใ€‚็›‘ๆŽง35ไธชๅนณๅฐ๏ผˆๆŠ–้Ÿณใ€็ŸฅไนŽใ€B็ซ™ใ€ๅŽๅฐ”่ก—่ง้—ปใ€่ดข่”็คพ็ญ‰๏ผ‰๏ผŒๆ™บ่ƒฝ็ญ›้€‰+่‡ชๅŠจๆŽจ้€+AIๅฏน่ฏๅˆ†ๆž๏ผˆ็”จ่‡ช็„ถ่ฏญ่จ€ๆทฑๅบฆๆŒ–ๆŽ˜ๆ–ฐ้—ป๏ผš่ถ‹ๅŠฟ่ฟฝ่ธชใ€ๆƒ…ๆ„Ÿๅˆ†ๆžใ€็›ธไผผๆฃ€็ดข็ญ‰13็งๅทฅๅ…ท๏ผ‰ใ€‚ๆ”ฏๆŒไผไธšๅพฎไฟก/ไธชไบบๅพฎไฟก/้ฃžไนฆ/้’‰้’‰/Telegram/้‚ฎไปถ/ntfy/bark/slack ๆŽจ้€๏ผŒ30็ง’็ฝ‘้กต้ƒจ็ฝฒ๏ผŒ1ๅˆ†้’Ÿๆ‰‹ๆœบ้€š็Ÿฅ๏ผŒๆ— ้œ€็ผ–็จ‹ใ€‚ๆ”ฏๆŒDocker้ƒจ็ฝฒโญ ่ฎฉ็ฎ—ๆณ•ไธบไฝ ๆœๅŠก๏ผŒ็”จAI็†่งฃ็ƒญ็‚นใ€ไธ่ฆ forkใ€‘ ่€Œๆ˜ฏ ใ€use this templateใ€‘๏ผŒไปฅๅŠๅปบ่ฎฎๅคงๅฎถไฝฟ็”จใ€ docker้ƒจ็ฝฒใ€‘๏ผŒไฝœ่€…ๆญฃๅœจๅ’Œๅฎ˜ๆ–นๆฒŸ้€š