这是一个MCP服务器项目,它使Claude Desktop能够通过Microsoft Graph API访问您的Microsoft 365邮件、日历和文件。
msgraph(现代Microsoft Graph SDK)azure.identity 使用 DeviceCodeCredential 和 TokenCachePersistenceOptionsFastMCP — 简单的MCP兼容服务器接口uv — 快速Python依赖和环境管理此项目目前构建为:
⚠️ 您必须拥有Azure租户的管理员权限来配置此项目——应用程序注册需要同意Microsoft Graph范围(例如
Mail.Read,Calendars.Read),默认情况下在大多数组织中不允许用户同意。
git clone https://github.com/Norcim133/OutlookMCPServer.git
cd OutlookMCPServer
uv venv
uv sync
mcp dev main.py (预期会有错误)
在尝试在Claude中调试之前,在Inspector中更容易让一切正常工作。
在运行应用程序之前,您需要设置以下内容:
mkdir -p auth_cache
touch .env
echo "AZURE_CLIENT_ID=<你的Azure门户中的ID>" > .env
echo "AZURE_TENANT_ID=<你的Azure门户中的ID>" >> .env
echo "AZURE_GRAPH_SCOPES=User.Read Mail.Read Mail.Send Mail.ReadWrite" >> .env
注意:文件服务还需要其他.env值 注意:首次运行时,应用程序将使用DeviceCodeCredential流程进行身份验证,并且如果成功,将在auth_cache文件夹中自动创建auth_record.json。
要与Claude Desktop集成,请在您的claude_desktop_config.json中添加以下内容:
{
"mcpServers": {
"outlook": {
"command": "uv",
"args": [
"run",
"--with",
"azure-identity,mcp[cli],msgraph-core,msgraph-sdk",
"mcp",
"run",
"/绝对路径到/OutlookMCPServer"
]
}
}
}
在Claude Desktop中,您可以通过查看Settings/Developer/Edit Config找到json文件。
注意:您可能需要在“command”中替换“uv”为绝对引用。
.
├── README.md
├── main.py
├── settings.py
├── auth_cache/
│ └── auth_record.json
├── mcpserver/
│ └── graph/
│ ├── __init__.py
│ ├── calendar_service.py
│ ├── controller.py
│ ├── file_service.py
│ ├── mail_service.py
│ ├── __init__.py
│ ├── auth_wrapper.py
│ ├── context_manager.py
│ ├── mail_query.py
│ ├── message_info.py
│ └── server.py
├── tests/
├── .env
├── __init__.py
├── main.py
版权所有 (c) 2 0 2 4 Enthoosa AI
在此授权任何人免费获得本软件及其相关文档文件(以下简称“软件”)的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及向其提供软件的人赋予上述权利,但须遵守以下条件:
上述版权声明和本许可通知应包含在所有副本或软件的重要部分中。
软件按“原样”提供,不附带任何形式的保证,包括但不限于适销性、特定用途适用性和非侵权性的默示保证。在任何情况下,作者或版权持有人都不对因软件或其使用或其他交易而引起的任何索赔、损害或其他责任承担任何责任,无论是合同行为、侵权行为还是其他行为。