使用说明
个人MCP服务器-微软365+克劳德
将您的AI连接到Microsoft 365所提供的一切。阅读电子邮件、管理文件、查询日历、在整个组织中搜索,所有这些都可以通过Cowork中的自然对话完成。
该项目是一个个人模型上下文协议(MCP)服务器,用于桥接 Cowork的代理人工智能 随着 Microsoft Graph API。它在Azure上运行,全天候保持在线,并使您的AI能够真正访问您的Microsoft 365工作区,不仅是摘要或预览,还有它可以推理、采取行动并帮助您处理的实际数据。
当前的实现侧重于电子邮件和OneDrive。该架构旨在扩展到Microsoft Graph公开的任何内容:日历、团队、SharePoint、联系人、计划器等。
为何这很重要
大多数人将AI用作聊天助手。他们复制粘贴电子邮件,提出问题,复制答案。它确实有效,但速度慢,需要手动操作,而且人工智能从来没有完整的上下文。
这改变了这一点。
当Cowork连接到您的MCP服务器时,它可以直接实时访问您的实际数据。你别再做中间人了。人工智能会进入你的系统,找到它需要的东西,并代表你行事,而不是你把信息带给人工智能。
从助理到代理的转变是真正提高生产力的地方。
你今天能做什么
服务器目前向Cowork公开了五个工具:
电子邮件智能 让Cowork用任何过滤器组合搜索你的收件箱:发件人、日期范围、关键字,或者电子邮件是否有附件。它读取完整的电子邮件,而不仅仅是一段。
附件提取 Cowork可以将任何电子邮件的附件直接下载到你的OneDrive中,按发件人和日期自动组织。无需手动下载,无需深入文件夹。
文档理解 一旦文件进入OneDrive,Cowork就可以打开它并读取内容——PDF、Word文档、Excel电子表格、CSV、图像。它提取文本和原因,这样你就可以对自己还没有打开的文档提出问题。
真实场景——实践中的情况
场景1-每周供应商审查 采购经理每周都会收到来自不同供应商的数十张发票。他们没有打开每一张发票,下载附件,手动检查数字,而是打开Cowork并说:“提取本月收到的所有发票,下载它们,并按供应商给我一份总金额的摘要。”Cowork在一分钟内完成了这项工作。过去需要一个小时的时间是在第一杯咖啡之前完成的。
场景2-合同审计 法律团队需要审查第一季度签署的所有合同。这些合同分散在来自多个发件人的电子邮件附件中。一位律师助理告诉考克:“找到1月至3月期间我们的外部律师发送的所有带有PDF附件的电子邮件,下载它们,并标记任何提到终止条款的电子邮件。”考克搜索、下载、阅读每一份文件,并返回一份结构化报告。
场景3-销售跟进 两周来,一位销售代表一直在与潜在客户来回发送电子邮件。在一个重要的电话之前,他们会问Cowork:“总结与这个潜在客户交换的所有内容,提取他们发送的任何文件,并突出我们做出的任何承诺。”Cowork会阅读整个帖子和附件,然后在几秒钟内做一个干净的简报。
情景4-高管简报 一位幕僚长需要为执行团队提供一份周一上午的总结。他们设置了一个重复的共同工作任务:每周一早上8点,在关键领域搜索周末的所有电子邮件,提取任何附件,并生成一份结构化的简报文件。在任何人走进办公室之前,它都在OneDrive中等待。
场景5-合规性检查 合规官需要核实所有要求的报告是否按时提交。他们问Cowork:“找到上个季度我们报告团队发送的每一封包含Excel附件的电子邮件,全部下载,并确认提交日期与我们的时间表相匹配。”Cowork将电子邮件时间戳与文件内容进行交叉引用,并标记任何空白。
建筑
Your Computer Azure (Cloud)
───────────── ──────────────────────────────────
Cowork / Claude Desktop MCP Email Server
│ │
└── mcp-remote (local proxy) ──────▶│ MCPApp (ASGI)
HTTPS + X-API-Key │ ├── /health
│ ├── API key auth
│ ├── Host header normalization
│ └── /mcp (FastMCP)
│ ├── search_emails
│ ├── get_email_details
│ ├── download_attachment_to_onedrive
│ ├── list_onedrive_files
│ └── read_onedrive_file
│
┌───────┴────────┐
▼ ▼
Microsoft Graph API OneDrive
(OAuth2 · Mail.Read) (EmailAttachments/)
(Files.ReadWrite.All)
运输: FastMCP·流式HTTP 平台: Azure容器应用 认证: OAuth2客户端凭据(Azure AD)+X-API-Key中间件
连接到共同工作
从以下位置安装Node.js nodejs.org,然后打开Cowork的开发人员设置并添加:
{
"mcpServers": {
"ms-email-server": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-email-server.thankfulmeadow-426e0542.eastus.azurecontainerapps.io/mcp",
"--header",
"X-API-Key:mcp-email-secret-key-2026"
]
}
}
}
重新启动Cowork。工具将自动显示。
OneDrive存储结构
所有下载的附件都经过整理,无需任何手动操作:
OneDrive/
└── EmailAttachments/
└── sender@company.com/
└── 2026/
└── 03/
└── abc123_invoice.pdf
扩展到完整的Microsoft 365 Surface
目前的工具包括电子邮件和文件。Microsoft Graph公开的内容要多得多,而此服务器旨在扩展。添加新功能意味着编写一个函数。一些自然延伸:
- 日历 -让Cowork阅读你的日程安排,找到空闲时间,总结即将举行的会议
- 团队 -搜索消息,提取频道中共享的文件
- SharePoint -查询整个组织中的文档库
- 联系人 -查找同事,用组织数据丰富电子邮件上下文
- 计划员/任务 -自动从电子邮件对话中创建和跟踪任务
其中每一个都遵循这里已经建立的相同模式:通过Azure AD验证一次,调用Graph API,将结构化数据返回给Cowork。
部署您自己的实例
先决条件
- 通过安装Azure CLI并进行身份验证
az login - Azure订阅
- Microsoft 365帐户
1.注册Azure AD应用程序
- 首选 portal.azure.com 并打开 应用程序注册
- 创建新注册,选择单个租户,然后复制 客户端ID 和 租户ID
- 在...之下 证书和秘密,创建新的客户端密钥并立即复制该值
- 在...之下 API权限,添加
Mail.Read和Files.ReadWrite.All作为应用程序权限 - 点击 授予管理员同意
2.激活OneDrive
登录到…… portal.office.com 打开OneDrive一次即可配置存储空间。
3.配置环境变量
复制 .env.example 到 .env 并填写您的值:
TENANT_ID=your-azure-tenant-id
CLIENT_ID=your-azure-client-id
CLIENT_SECRET=your-azure-client-secret
USER_EMAIL=your@email.com
API_KEY=choose-a-strong-random-key
4.验证访问权限
pip install -r requirements.txt
python test_auth.py
5.部署到Azure
az group create --name mcp-email-rg --location eastus
az containerapp env create --name mcp-email-env --resource-group mcp-email-rg --location eastus
az containerapp up \
--name mcp-email-server \
--resource-group mcp-email-rg \
--environment mcp-email-env \
--source . \
--ingress external \
--target-port 8000
az containerapp update \
--name mcp-email-server \
--resource-group mcp-email-rg \
--set-env-vars \
TENANT_ID="your-tenant-id" \
CLIENT_ID="your-client-id" \
CLIENT_SECRET="your-client-secret" \
USER_EMAIL="your@email.com" \
API_KEY="your-secret-key"
6.更新协作配置
将Cowork MCP配置中的服务器URL和API密钥替换为您自己的Azure部署URL。
代码库概述
| 文件 | 目的 |
|---|---|
main.py |
ASGI服务器、请求管道、所有五个MCP工具 |
graph_client.py |
Microsoft Graph API客户端,OAuth2令牌管理 |
onedrive_client.py |
OneDrive读写操作 |
file_reader.py |
从PDF、Word、Excel、CSV、图像中提取文本 |
config.py |
配置完全从环境变量加载 |
test_auth.py |
验证Graph API凭据和邮箱访问 |
Dockerfile |
Azure部署的容器定义 |
健康检查
curl https://your-server-url.azurecontainerapps.io/health
预期响应: {"status": "ok"}
