这是一个增强的模块化实现的Outlook MCP(模型上下文协议)服务器,通过Microsoft Graph API连接Claude与Microsoft Outlook。该服务器提供了一整套工具用于电子邮件、日历、文件夹管理和规则创建。
/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速率限制
└── mock-data/ # 测试模式模拟数据
├── emails.js # 模拟电子邮件数据
├── folders.js # 模拟文件夹数据
├── calendar.js # 模拟日历数据
└── rules.js # 模拟规则数据
克隆仓库:
git clone https://github.com/your-username/enhanced-outlook-mcp.git
cd enhanced-outlook-mcp
安装依赖:
npm install
根据.env.example创建一个.env文件,并填写您的Microsoft应用注册详细信息:
MS_CLIENT_ID=your_client_id
MS_CLIENT_SECRET=your_client_secret
# 其他配置选项
配置Claude使用MCP服务器,在您的Claude配置中添加以下内容:
{
"tools": [
{
"name": "enhanced-outlook-mcp",
"url": "http://localhost:3000",
"auth": {
"type": "none"
}
}
]
}
启动MCP服务器:
npm start
在另一个终端中启动认证服务器:
npm run auth-server
使用Claude中的认证工具来启动认证流程。
authenticate工具获取认证URL要在开发模式下运行服务器并自动重新加载:
npm run dev
要运行测试:
npm test
MIT许可证
欢迎贡献!请随意提交Pull Request。