# ð 项ç®ç»æ
æ¬ææ¡£æè¿° MCP Email Service ç宿Žç®åœç»æåæä»¶ç»ç»ã
> ð **æè¿æŽæ°**ïŒ2025-10-17 - 项ç®ç»æéç»ïŒåŒå
¥ `data/` ç®åœéäžç®¡çè¿è¡æ¶æ°æ®
---
## ð³ ç®åœæ
```
mcp-email-service/
âââ ð æ žå¿ææ¡£
â âââ README.md # 项ç®äž»é¡µïŒè±æïŒ
â âââ README.zh.md # 项ç®äž»é¡µïŒäžæïŒ
â âââ LICENSE # MIT 讞å¯è¯
â âââ CHANGELOG.md # çæ¬åæŽåå²
â âââ PROJECT_STRUCTURE.md # 项ç®ç»æè¯ŽæïŒæ¬ææ¡£ïŒ
â âââ FINAL_DEPLOYMENT_CHECKLIST.md # éšçœ²æ£æ¥æž
å
â
âââ âïž é
眮æä»¶
â âââ pyproject.toml # 项ç®é
眮åäŸèµ
â âââ requirements.txt # Python äŸèµå衚
â âââ uv.lock # äŸèµé宿件
â âââ .gitignore # Git 応ç¥è§å
â âââ .python-version # Python çæ¬
â âââ smithery.yaml # Smithery é
眮
â âââ accounts.json # é®ç®±èŽŠæ·é
眮ïŒçšæ·å建ïŒäžåšçæ¬æ§å¶ïŒ
â
âââ ð§ å¯åšèæ¬
â âââ run.sh # MCP æå¡å¯åšèæ¬
â âââ setup.py # 亀äºåŒé
çœ®èæ¬
â
âââ ðŸ è¿è¡æ¶æ°æ® (data/) â æ°å¢
â âââ README.md # æ°æ®ç®åœäœ¿çšæå
â âââ .gitkeep # Git å äœç¬Š
â âââ email_sync.db # é®ä»¶åæ¥æ°æ®åºïŒè¿è¡æ¶çæïŒ
â âââ sync_config.json # 忥é
眮æä»¶ïŒè¿è¡æ¶çæïŒ
â âââ sync_health_history.json # 忥å¥åº·åå²ïŒè¿è¡æ¶çæïŒ
â âââ notification_history.db # éç¥å岿°æ®åºïŒè¿è¡æ¶çæïŒ
â âââ logs/ # æ¥å¿æä»¶ç®åœïŒèªåšå建ïŒ
â âââ tmp/ # äžŽæ¶æä»¶ç®åœïŒèªåšå建ïŒ
â âââ attachments/ # éä»¶äžèœœç®åœïŒèªåšå建ïŒ
â
âââ ð æºä»£ç (src/)
â âââ __main__.py # çšåºå
¥å£
â âââ main.py # MCP æå¡äž»çšåº
â âââ account_manager.py # 莊å·ç®¡ç
â âââ connection_manager.py # è¿æ¥ç®¡ç
â âââ connection_pool.py # IMAP è¿æ¥æ±
â âââ legacy_operations.py # äŒ ç»é®ä»¶æäœïŒååå
Œå®¹ïŒ
â âââ mcp_tools.py # MCP å·¥å
·å®ä¹
â âââ models.py # æ°æ®æš¡å
â â
â âââ config/ â æ°å¢ # é
眮管ç
â â âââ __init__.py
â â âââ paths.py # éäžè·¯åŸé
çœ®ïŒææè·¯åŸçåäžæ¥æºïŒ
â â âââ messages.py # æ¶æ¯æš¡æ¿
â â
â âââ core/ # æ žå¿åèœ
â â âââ __init__.py
â â âââ tool_handlers.py # MCP å·¥å
·å€çåš
â â âââ tool_registry.py # å·¥å
·æ³šå衚
â â âââ tool_schemas.py # å·¥å
·æš¡åŒå®ä¹
â â âââ communication_handlers.py # éä¿¡å€ç
â â âââ organization_handlers.py # ç»ç»å€ç
â â âââ sync_handlers.py # 忥å€ç
â â âââ system_handlers.py # ç³»ç»å€ç
â â âââ connection_pool.py # è¿æ¥æ± 管ç
â â
â âââ operations/ # é®ä»¶æäœ
â â âââ __init__.py
â â âââ email_operations.py # é®ä»¶åºç¡æäœ
â â âââ parallel_fetch.py # å¹¶è¡è·åïŒå€èŽŠæ·ïŒ
â â âââ cached_operations.py â æ°å¢ # çŒåæäœïŒ100-500x å éïŒ
â â âââ search_operations.py # æçŽ¢æäœ
â â âââ email_sync.py # é®ä»¶åæ¥
â â âââ send_operations.py # åéæäœ
â â âââ folder_operations.py # æä»¶å€¹æäœ
â â âââ attachment_operations.py # éä»¶æäœ
â â
â âââ services/ # äžå¡æå¡
â â âââ __init__.py
â â âââ email_service.py # é®ä»¶æå¡
â â âââ folder_service.py # æä»¶å€¹æå¡
â â âââ system_service.py # ç³»ç»æå¡
â â
â âââ database/ # æ°æ®åº
â â âââ __init__.py
â â âââ email_database.py # é®ä»¶æ°æ®åº
â â âââ email_sync_db.py # é®ä»¶åæ¥æ°æ®åºïŒSQLiteïŒ
â â âââ sync_manager.py # åæ¥ç®¡ç
â â
â âââ background/ # åå°ä»»å¡
â â âââ __init__.py
â â âââ sync_scheduler.py # 忥è°åºŠåšïŒèªåšå¯åšïŒ
â â âââ sync_config.py # 忥é
眮管ç
â â âââ sync_health_monitor.py # å¥åº·çæ§
â â
â âââ utils/ # å·¥å
·åœæ°
â âââ __pycache__/
â
âââ 𧪠æµè¯ (tests/) â æ¹è¿
â âââ __init__.py
â âââ run_tests.py # æµè¯è¿è¡åš
â âââ README.md # æµè¯è¯Žæ
â âââ test_account_manager.py # 莊å·ç®¡çæµè¯
â âââ test_mcp_tools.py # MCP å·¥å
·æµè¯
â âââ test_parallel_operations.py # å¹¶è¡æäœæµè¯
â âââ test_utils.py # å·¥å
·åœæ°æµè¯
â âââ test_account_id_fix.py â æ°å¢ # Account ID ä¿®å€æµè¯
â âââ test_email_lookup_fallback.py â æ°å¢ # é®ç®±æ¥æŸåéæµè¯
â âââ test_performance.py â æ°å¢ # æ§èœæµè¯
â âââ test_regression_fixes.py â æ°å¢ # ååœæµè¯ïŒ16 䞪ïŒ
â âââ test_error_handling_improvements.py â æ°å¢ # é误å€çæµè¯ïŒ10 䞪ïŒ
â âââ test_batch_delete_delegation.py â æ°å¢ # æ¹éå 逿µè¯ïŒ8 䞪ïŒ
â âââ test_critical_fixes.py â æ°å¢ # å
³é®ä¿®å€æµè¯ïŒ10 䞪ïŒ
â
âââ ð ææ¡£ (docs/)
â âââ README.md # ææ¡£çŽ¢åŒ
â âââ ARCHITECTURE.md # ç³»ç»æ¶æ
â âââ PROJECT_REORGANIZATION.md â æ°å¢ # 项ç®éç»è¯Šæ
â âââ CODE_REVIEW_FIXES.md â æ°å¢ # 代ç 审æ¥ä¿®å€
â âââ TESTING_GUIDE.md â æ°å¢ # æµè¯æå
â âââ TEST_IMPROVEMENTS_SUMMARY.md â æ°å¢ # æµè¯æ¹è¿æ»ç»
â âââ TEST_IMPROVEMENT_PLAN.md â æ°å¢ # æµè¯æ¹è¿è®¡å
â âââ CHANGELOG_REFACTORING.md # éææ¥å¿
â âââ CLEANUP_SUMMARY.md # æž
çæ»ç»
â âââ CONNECTION_POOL_FIX.md # è¿æ¥æ± ä¿®å€
â âââ database_design.md # æ°æ®åºè®Ÿè®¡
â âââ DEADLOCK_FIX.md # æ»éä¿®å€
â âââ REFACTORING_SUMMARY.md # éææ»ç»
â âââ RUN_SCRIPT_OPTIMIZATION.md # è¿è¡èæ¬äŒå
â âââ SERVICE_OPTIMIZATION.md # æå¡äŒå
â âââ SYNC_IMPROVEMENTS.md # 忥æ¹è¿
â âââ TOOL_REGISTRY_FIX.md # å·¥å
·æ³šå衚修å€
â â
â âââ archive/ â æ°å¢ # åå²ææ¡£åœæ¡£ïŒ23 äžªææ¡£ïŒ
â â âââ ACCOUNT_ID_FIX_SUMMARY.md
â â âââ AUTO_SYNC_ENABLED.md
â â âââ BATCH_DELETE_FIX.md
â â âââ BUG_EMAIL_ID_MISMATCH.md
â â âââ CACHE_CONSISTENCY_FIX.md
â â âââ CACHE_FIX_SUMMARY.md
â â âââ CRITICAL_FIXES.md
â â âââ CRITICAL_FIXES_SUMMARY.md
â â âââ CRITICAL_TRY_FINALLY_FIX_STATUS.md
â â âââ FINAL_REVIEW_FIXES.md
â â âââ FINAL_SUMMARY.md
â â âââ FINAL_UID_FIX_SUMMARY.md
â â âââ FIX_UID_MIGRATION.md
â â âââ FIX_UID_REVIEW_ISSUES.md
â â âââ PERFORMANCE_OPTIMIZATION_COMPLETED.md
â â âââ PERFORMANCE_OPTIMIZATION_PLAN.md
â â âââ QUICK_TEST.md
â â âââ TRY_FINALLY_FIX.md
â â âââ TRY_FINALLY_FIX_APPLIED.md
â â âââ UID_FALLBACK_SUMMARY.md
â â âââ UID_FIXES_COMPLETED.md
â â âââ UID_IN_LIST_FIX.md
â â âââ UID_MIGRATION_PLAN.md
â â âââ UID_VERIFICATION_REPORT.md
â â
â âââ guides/ # çšæ·æå
â âââ CRITICAL_FIXES.md # å
³é®ä¿®å€æå
â âââ EMAIL_TRANSLATE_WORKFLOW_GUIDE.md # é®ä»¶ç¿»è¯å·¥äœæµ
â âââ FINAL_DEPLOYMENT_CHECKLIST.md # æç»éšçœ²æž
å
â âââ HTTP_API_QUICK_START.md # HTTP API å¿«éåŒå§
â âââ LARK_SETUP_GUIDE.md # é£ä¹Šè®Ÿçœ®æå
â âââ OPEN_SOURCE_READINESS.md # åŒæºåå€
â âââ PRODUCTION_DEPLOYMENT_GUIDE.md # ç产éšçœ²æå
â âââ SECURITY_SETUP_GUIDE.md # å®å
šè®Ÿçœ®æå
â âââ TRANSLATION_WORKFLOW_SUMMARY.md # ç¿»è¯å·¥äœæµæ»ç»
â
âââ ð èæ¬ (scripts/)
â âââ create_env.sh # ç¯å¢åå»ºèæ¬
â âââ daily_email_digest.py # æ¯æ¥æ±æ»è°åºŠ
â âââ email_monitor_api.py # é®ä»¶çæ§ API
â âââ email_monitor.py # é®ä»¶çæ§
â âââ email_translator.py # é®ä»¶ç¿»è¯
â âââ init_sync.py # åå§å忥
â âââ monitor_sync.py â æ°å¢ # çæ§åæ¥ç¶æ
â âââ notification_service.py # éç¥æå¡
â âââ test_connection.py # æµè¯è¿æ¥
â âââ test_lark_webhook.py # æµè¯é£ä¹Š webhook
â âââ test_sync.py # æµè¯åæ¥
â
âââ ð é
çœ®æš¡æ¿ (config_templates/)
â âââ daily_digest_config.example.json # æ¯æ¥æ±æ»é
眮瀺äŸ
â âââ email_monitor_config.example.json # é®ä»¶çæ§é
眮瀺äŸ
â âââ env.example # ç¯å¢åé瀺äŸ
â âââ notification_config.example.json # éç¥é
眮瀺äŸ
â
âââ ðŠ ç€ºäŸ (examples/)
â âââ README.md # 瀺äŸè¯Žæ
â âââ accounts.example.json # 莊æ·é
眮瀺äŸ
â âââ sync_config.json.example # 忥é
眮瀺äŸ
â
âââ ð³ Docker (docker/)
â âââ README.md # Docker äœ¿çšæå
â âââ Dockerfile.optimized # äŒåç Dockerfile
â âââ Dockerfile.optional # å¯éç Dockerfile
â
âââ ð GitHub é
眮 (.github/) â æ°å¢
âââ FUNDING.yml # GitHub Sponsors é
眮
```
---
## ð ç®åœç»è®¡
| ç±»å« | æ°é | 诎æ |
|------|------|------|
| æºä»£ç æä»¶ | 50+ | Python æš¡ååå
| æµè¯æä»¶ | 11 | 71/72 æµè¯éè¿
| ææ¡£æä»¶ | 40+ | å
æ¬æåååœæ¡£
| é
眮æä»¶ | 10+ | 项ç®ååèœé
眮
| èæ¬æä»¶ | 15+ | å®çšå·¥å
·èæ¬
---
## ð å
³é®ç®åœè¯Žæ
### 1. `data/` - è¿è¡æ¶æ°æ®ç®åœ â æ°å¢
**çšé**ïŒéäžåæŸææè¿è¡æ¶çæçæ°æ®æä»¶
**ç¹ç¹**ïŒ
- ð ææè·¯åŸéè¿ `src/config/paths.py` éäžé
眮
- ð« æŽäžªç®åœè¢« `.gitignore` æé€ïŒé€ README.md å .gitkeepïŒ
- ð åç®åœèªåšå建ïŒlogsãtmpãattachmentsïŒ
- ðŸ ç®åå€ä»œïŒ`tar czf backup.tar.gz data/`
**å
å«**ïŒ
- `email_sync.db` - 26MB é®ä»¶åæ¥æ°æ®åº
- `sync_config.json` - 忥é
眮
- `sync_health_history.json` - å¥åº·çæ§åå²
- `logs/` - åºçšæ¥å¿
- `tmp/` - 䞎æ¶å€çæä»¶
- `attachments/` - äžèœœçé®ä»¶éä»¶
### 2. `src/config/` - é
眮管ç â æ°å¢
**çšé**ïŒéäžç®¡çææé
眮åè·¯åŸ
**å
³é®æä»¶**ïŒ
- `paths.py` - ææè·¯åŸçåäžæ¥æºïŒSingle Source of TruthïŒ
- `EMAIL_SYNC_DB = "data/email_sync.db"`
- `LOG_DIR = "data/logs"`
- `TEMP_DIR = "data/tmp"`
- çç...
**äŒå¿**ïŒ
- â
ä¿®æ¹è·¯åŸåªéæ¹äžå€
- â
æäºæµè¯ïŒå¯ä»¥æ³šå
¥æµè¯è·¯åŸïŒ
- â
æž
æ°çäŸèµå
³ç³»
### 3. `src/operations/` - é®ä»¶æäœ
**æ žå¿æš¡å**ïŒ
- `legacy_operations.py` - äŒ ç»æäœïŒååå
Œå®¹ïŒ
- `cached_operations.py` â æ°å¢ - çŒåæäœïŒå¿« 100-500xïŒ
- `parallel_fetch.py` - å¹¶è¡å€èŽŠæ·è·å
- `search_operations.py` - æºèœæçŽ¢
- `email_sync.py` - åå°åæ¥
### 4. `src/background/` - åå°ä»»å¡
**åèœ**ïŒ
- ð èªåšåæ¥é®ä»¶ïŒå¢é + 宿ŽïŒ
- ð å¥åº·çæ§åæ¥å
- â° é黿¶æ®µç®¡ç
- ð éè¯åé误æ¢å€
**èªåšå¯åš**ïŒ
- MCP æå¡å¯åšæ¶èªåšæèµ·åæ¥è°åºŠåš
- `src/main.py` äžé
眮
### 5. `tests/` - æµè¯å¥ä»¶ â 倧å¹
æ¹è¿
**ç»è®¡**ïŒ
- æ»æµè¯æ°ïŒ72 䞪
- éè¿ïŒ71 䞪 â
- 倱莥ïŒ1 䞪ïŒç¯å¢äŸèµïŒéåèœé®é¢ïŒ
- èŠççïŒ~65%ïŒ+35%ïŒ
**æ°å¢æµè¯æä»¶**ïŒ7 䞪ïŒïŒ
1. `test_account_id_fix.py` - Account ID è·¯ç±æµè¯
2. `test_email_lookup_fallback.py` - é®ç®±æ¥æŸåéæµè¯
3. `test_performance.py` - æ§èœåçŒåæµè¯
4. `test_regression_fixes.py` - 16 䞪ååœæµè¯
5. `test_error_handling_improvements.py` - 10 䞪é误å€çæµè¯
6. `test_batch_delete_delegation.py` - 8 䞪æ¹éå 逿µè¯
7. `test_critical_fixes.py` - 10 䞪å
³é®ä¿®å€æµè¯
### 6. `docs/` - ææ¡£äžå¿
**ç»ç»ç»æ**ïŒ
- `guides/` - 11 äžªçšæ·åéšçœ²æå
- `archive/` â æ°å¢ - 23 䞪åå²ææ¡£åœæ¡£
- æ ¹ç®åœ - ææ¯ææ¡£åæ¶æè¯Žæ
**æ°å¢ææ¡£**ïŒ4 䞪ïŒïŒ
1. `PROJECT_REORGANIZATION.md` - 项ç®éç»è¯Šæ
2. `CODE_REVIEW_FIXES.md` - 代ç 审æ¥ä¿®å€
3. `TESTING_GUIDE.md` - æµè¯æå
4. `TEST_IMPROVEMENTS_SUMMARY.md` - æµè¯æ¹è¿æ»ç»
---
## ð æè¿åæŽæ»ç»
### 项ç®ç»æéç»ïŒ2025-10-17ïŒ
#### â
å®æçæ¹è¿
1. **æ°æ®ç®åœéäžç®¡ç**
- å建 `data/` ç®åœ
- ææè¿è¡æ¶æ°æ®ç§»å°äžäžªäœçœ®
- æ ¹ç®åœæä»¶æ°ä» 40+ éå° 26 䞪ïŒ-35%ïŒ
2. **è·¯åŸé
眮éäžå**
- æ°å¢ `src/config/paths.py`
- 11 å€ç¡¬çŒç è·¯åŸæ¹äžº 1 å€éäžé
眮
- æäºç»Žæ€åæµè¯
3. **ææ¡£ç»ç»äŒå**
- 23 äžªäžŽæ¶ææ¡£åœæ¡£å° `docs/archive/`
- 4 äžªæ°ææ¡£æ·»å å° `docs/`
- ææ¡£ç»ææž
æ°
4. **æµè¯å¥ä»¶æ©å
**
- 44 äžªæ°æµè¯ïŒæ¬æ¬¡äŒè¯ïŒ
- èŠççä» ~30% æåå° ~65%
- 7 äžªæ°æµè¯æä»¶
5. **代ç èŽšéæ¹è¿**
- 5 项代ç 审æ¥ä¿®å€
- FLAGS è§£ææŽå¥å£®
- æä»¶å€¹åç§°è§èå
- Account ID å²çªé¿å
- API ååºäžèŽæ§
#### ð æ¹è¿ææ
| ææ | ä¹å | ç°åš | æ¹è¿ |
|------|------|------|------|
| æ ¹ç®åœæä»¶ | 40+ | 26 | **-35%** |
| æ°æ®æä»¶äœçœ® | 忣 | éäž data/ | **100% éäž** |
| è·¯åŸç¡¬çŒç | 11 å€ | 1 å€ | **-91%** |
| æµè¯æ°é | 28 | 72 | **+157%** |
| æµè¯èŠçç | ~30% | ~65% | **+117%** |
| ææ¡£åœæ¡£ | 0 | 23 | **å®å
šæŽç** |
---
## ð å¿«éæ¥æŸ
### æ³èŠ...
| ç®æ | äœçœ® |
|------|------|
| ð **äºè§£é¡¹ç®** | `README.md`, `README.zh.md` |
| ð§ **é
眮é®ç®±** | `setup.py`, `examples/accounts.example.json` |
| ðŸ **æ¥çæ°æ®** | `data/` ç®åœ |
| ð **ä¿®æ¹è·¯åŸ** | `src/config/paths.py` |
| ð§ **é®ä»¶æäœ** | `src/operations/`, `src/legacy_operations.py` |
| ð **åå°åæ¥** | `src/background/` |
| 𧪠**è¿è¡æµè¯** | `tests/run_tests.py` |
| ð **é
è¯»ææ¡£** | `docs/README.md` |
| ð³ **Docker éšçœ²** | `docker/README.md` |
| â° **æ¬å°å®æ¶ä»»å¡** | `scripts/daily_email_digest.py`, `scripts/email_monitor.py` |
| ð **æ¥çæ¥å¿** | `data/logs/` |
| ð° **èµå©é¡¹ç®** | `.github/FUNDING.yml` |
---
## ð æ³šæäºé¡¹
### Git 応ç¥è§å
ä»¥äžæä»¶/ç®åœ**äžäŒ**被æäº€å°çæ¬æ§å¶ïŒ
```
data/ # æŽäžªæ°æ®ç®åœ
accounts.json # é®ç®±èŽŠæ·é
çœ®ïŒææïŒ
*.db # æ°æ®åºæä»¶
*.db-wal # SQLite WAL æ¥å¿
*.db-shm # SQLite å
±äº«å
å
*.log # æ¥å¿æä»¶
__pycache__/ # Python çŒå
.env # ç¯å¢åé
*.pyc # çŒè¯ç Python æä»¶
```
### å®å
šæ³šæ
â ïž **æ°žè¿äžèŠæäº€è¿äºæä»¶**ïŒ
- `accounts.json` - å
å«é®ç®±å¯ç /ææç
- `.env` - å
å« API å¯é¥
- `data/` ç®åœ - å
å«ç§äººé®ä»¶å
容
---
## ð çžå
³ææ¡£
- **[docs/PROJECT_REORGANIZATION.md](docs/PROJECT_REORGANIZATION.md)** - 项ç®éç»è¯Šç»è¯Žæ
- **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)** - ç³»ç»æ¶æè®Ÿè®¡
- **[data/README.md](data/README.md)** - æ°æ®ç®åœäœ¿çšæå
- **[README.md](README.md)** - 项ç®äž»é¡µ
---
**æåæŽæ°**ïŒ2025-10-17
**çæ¬**ïŒ2.0 - 项ç®ç»æéç»ç