Skip to main content
Glama
leeguooooo
by leeguooooo
PROJECT_STRUCTURE.md•18 kB
# 📁 项目结构 本文档描述 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 # 飞乊讟眮指南 │ ├── N8N_API_SETUP_GUIDE.md # n8n API 讟眮 │ ├── N8N_EMAIL_MONITORING_GUIDE.md # n8n 邮件监控 │ ├── OPEN_SOURCE_READINESS.md # 匀源准倇 │ ├── PRODUCTION_DEPLOYMENT_GUIDE.md # 生产郚眲指南 │ ├── SECURITY_SETUP_GUIDE.md # 安党讟眮指南 │ └── TRANSLATION_WORKFLOW_SUMMARY.md # 翻译工䜜流总结 │ ├── 🔌 脚本 (scripts/) │ ├── ai_email_filter.py # AI 邮件过滀 │ ├── call_email_tool.py # 邮件工具调甚 │ ├── create_env.sh # 环境创建脚本 │ ├── deploy_http_workflow.py # HTTP 工䜜流郚眲 │ ├── email_monitor_api.py # 邮件监控 API │ ├── email_monitor.py # 邮件监控 │ ├── email_translator.py # 邮件翻译 │ ├── init_sync.py # 初始化同步 │ ├── monitor_sync.py ⭐ 新增 # 监控同步状态 │ ├── notification_service.py # 通知服务 │ ├── setup_n8n_monitoring.py # 讟眮 n8n 监控 │ ├── setup_n8n_workflow.py # 讟眮 n8n 工䜜流 │ ├── setup_n8n.sh # n8n 讟眮脚本 │ ├── test_connection.py # 测试连接 │ ├── test_lark_webhook.py # 测试飞乊 webhook │ ├── test_n8n_api.py # 测试 n8n API │ └── test_sync.py # 测试同步 │ ├── 🌐 n8n 工䜜流 (n8n/) │ ├── README.md # n8n 䜿甚指南 │ ├── email_monitoring_workflow.json # 邮件监控工䜜流 │ ├── email_monitoring_http_workflow.json # HTTP 监控工䜜流 │ └── email_translate_workflow.json # 邮件翻译工䜜流 │ ├── 📝 配眮暡板 (config_templates/) │ ├── ai_filter_config.example.json # AI 过滀配眮瀺䟋 │ ├── email_monitor_config.example.json # 邮件监控配眮瀺䟋 │ ├── env.example # 环境变量瀺䟋 │ ├── env.n8n.example # n8n 环境变量瀺䟋 │ └── 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+ | 实甚工具脚本 | 工䜜流文件 | 3 | n8n 自劚化工䜜流 --- ## 🔑 关键目圕诎明 ### 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` | | 🌐 **n8n 工䜜流** | `n8n/README.md` | | 📝 **查看日志** | `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 - 项目结构重组版

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/leeguooooo/email-mcp-service'

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