使用说明
M365电子邮件MCP服务器
MCP(模型上下文协议)服务器,使人工智能代理能够使用Microsoft Graph API通过Microsoft 365发送和接收电子邮件。
特性
- send_邮件 --从代理帐户发送电子邮件(支持收件人、抄送、密送)
- list_邮件 --列出最近收件箱中的电子邮件,包括主题、发件人、日期和预览
- read_邮件 --阅读特定电子邮件的完整内容
- 回复_电子邮件 --回复特定电子邮件
先决条件
1.Azure Entra ID应用程序注册
- 首选 Azure 门户 → 微软Entra ID → 应用注册 → 新注册
- 姓名:
M365ToolsMcp(或你的选择) - 支持的帐户类型: 单租户
- 点击 注册
2.添加API权限
- 首选 API权限 → 添加权限 → 微软图形 → 应用程序权限
- 添加:
Mail.ReadWriteMail.Send
- 点击 授予管理员同意 为您的租户
3.创建客户端密码
- 首选 证书和秘密 → 新客户机密
- 立即复制机密值(不会再次显示)
4.记录配置值
您需要:
- 租户ID (来自概述页面)
- 客户端ID /应用程序ID(来自概述页面)
- 客户端密钥 (从步骤3开始)
配置
更新 appsettings.json:
{
"AzureAd": {
"TenantId": "your-tenant-id",
"ClientId": "your-client-id",
"ClientSecret": "your-client-secret"
},
"Email": {
"UserId": "email@domain.com"
}
}
为了发展,使用。NET用户机密改为:
dotnet user-secrets init dotnet user-secrets set "AzureAd:TenantId" "your-tenant-id" dotnet user-secrets set "AzureAd:ClientId" "your-client-id" dotnet user-secrets set "AzureAd:ClientSecret" "your-client-secret"
跑步
dotnet run
服务器启动于 http://localhost:5000 默认情况下使用HTTP/SSE传输。
从MCP客户端连接
将您的MCP客户端(例如OpenClaw、VS Code Copilot、Claude Desktop)指向:
http://localhost:5067/
服务器通过HTTP上的标准MCP协议和服务器发送事件公开工具。
项目结构
├── Program.cs # ASP.NET Core host + MCP server setup
├── appsettings.json # Configuration (Entra ID, email)
├── Services/
│ └── GraphEmailService.cs # Microsoft Graph email operations
└── Tools/
├── SendEmailTool.cs # send_email MCP tool
├── ListEmailsTool.cs # list_emails MCP tool
├── ReadEmailTool.cs # read_email MCP tool
└── ReplyEmailTool.cs # reply_email MCP tool