article
README
🚀 增强版 Outlook MCP 服务器
这是一个增强的、模块化的 Outlook MCP(模型上下文协议)服务器实现,它借助 Microsoft Graph API 把 Claude 连接到 Microsoft Outlook。此服务器提供了一套强大的工具,可用于电子邮件、日历、文件夹管理以及规则创建。
🚀 快速开始
安装
-
克隆仓库:
git clone https://github.com/your-repository/enhanced-outlook-mcp.git cd enhanced-outlook-mcp -
安装依赖项:
npm install -
配置环境变量:
- 创建一个
.env文件(如果尚未创建)。 - 添加以下内容:
PORT=3000 GRAPH_API_KEY=your_graph_api_key_here
- 创建一个
-
启动服务器:
npm start
使用说明
基本配置
在 config.js 文件中,您可以根据需要自定义端口和其他设置。
身份验证
使用 OAuth 2.0 进行身份验证。您需要提供有效的 Microsoft Graph API 令牌。
日历集成
通过调用 create-event.js 和其他相关文件来管理日历事件。
✨ 主要特性
- 完整的身份验证系统:支持 OAuth 2.0 的 Microsoft Graph API 身份验证,带令牌刷新和多用户支持
- 电子邮件管理:列出、搜索、阅读、发送和组织电子邮件,支持附件处理
- 日历集成:创建、修改和管理日历事件,支持与会者跟踪
- 文件夹组织:创建、管理和导航电子邮件文件夹
- 规则引擎:创建和管理复杂的邮件处理规则
- 模块化架构:干净的分层结构,提高维护性和可扩展性
- 增强错误处理:详细的错误消息和日志记录
- 测试模式:提供模拟响应用于测试,无需实际调用 API
- 速率限制:内置速率限制以防止 API 节流
- 多环境配置:支持开发、测试和生产环境
📦 安装指南
克隆仓库
git clone https://github.com/your-repository/enhanced-outlook-mcp.git
cd enhanced-outlook-mcp
安装依赖
npm install
配置环境变量
创建 .env 文件并添加以下内容:
PORT=3000
GRAPH_API_KEY=your_graph_api_key_here
启动服务器
npm start
📚 详细文档
目录结构
/enhanced-outlook-mcp/
├── index.js # 主入口文件
├── config.js # 配置设置
├── .env.example # 环境变量示例
├── auth/ # 身份验证模块
│ ├── index.js # 身份验证导出
│ ├── token-manager.js # 令牌存储和刷新
│ ├── multi-user-support.js # 多用户支持
│ └── tools.js # 身份验证相关工具
├── email/ # 电子邮件功能
│ ├── index.js # 电子邮件导出
│ ├── list.js # 列出电子邮件
│ ├── search.js # 搜索电子邮件
│ ├── read.js # 阅读电子邮件
│ ├── send.js # 发送电子邮件
│ └── attachments.js # 处理电子邮件附件
├── calendar/ # 日历功能
│ ├── index.js # 日历导出
│ ├── create-event.js # 创建日历事件
│ ├── list-events.js # 列出日历事件
│ ├── update-event.js # 更新日历事件
│ └── delete-event.js # 删除日历事件
├── folder/ # 文件夹管理
│ ├── index.js # 文件夹导出
│ ├── list.js # 列出文件夹
│ ├── create.js # 创建文件夹
│ └── move.js # 移动文件夹中的项目
├── rules/ # 邮件规则功能
│ ├── index.js # 规则导出
│ ├── create.js # 创建邮件规则
│ ├── list.js # 列出邮件规则
│ └── delete.js # 删除邮件规则
└── utils/ # 工具函数
├── graph-api.js # Microsoft Graph API 辅助工具
├── odata-helpers.js # OData 查询构建器
├── logger.js # 日志记录工具
├── rate-limiter.js # API 速率限制器
└── config.js # 配置文件
开发
- 添加新功能:在相应的模块中添加新的功能。
- 调试:使用
console.log或其他调试工具进行调试。 - 测试:运行单元测试以确保代码的正确性。
📄 许可证
本项目采用 MIT License。
贡献
欢迎贡献!请随意提交 Pull Request。
扫码联系在线客服