这是一个全面实现的Office MCP(模型上下文协议)服务器,通过Microsoft Graph API连接Claude与Microsoft 365服务。
🚀 无头操作! 初始设置后无需浏览器认证即可运行。支持自动令牌刷新及Windows任务计划程序,实现后台隐形操作。请参阅TASK_SCHEDULER_SETUP.md获取Windows设置指南。
git clone https://github.com/yourusername/office-mcp.git
cd office-mcp
npm install
cp .env.example .env
配置你的.env文件:
运行初始认证:
npm run auth-server
# 访问 http://localhost:3000/auth 并登录
email_search工具并自动优化要使用此MCP服务器,您需要首先在Azure门户中注册并配置一个应用。以下步骤将引导您完成注册新应用、配置其权限以及生成客户端密钥的过程。
# Azure应用注册
OFFICE_CLIENT_ID=your-azure-app-client-id
OFFICE_CLIENT_SECRET=your-azure-app-client-secret
OFFICE_TENANT_ID=common
# 认证
OFFICE_REDIRECT_URI=http://localhost:3000/auth/callback
# 本地文件路径(根据您的系统自定义)
SHAREPOINT_SYNC_PATH=/path/to/your/sharepoint/sync
ONEDRIVE_SYNC_PATH=/path/to/your/onedrive/sync
TEMP_ATTACHMENTS_PATH=/path/to/temp/attachments
SHAREPOINT_SYMLINK_PATH=/path/to/sharepoint/symlink
# 服务器设置
USE_TEST_MODE=false
TRANSPORT_TYPE=stdio # 或 'http' 用于无头
HTTP_PORT=3333
HTTP_HOST=127.0.0.1
查找您的Claude Desktop配置文件:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.json添加MCP服务器配置:
{
"mcpServers": {
"office-mcp": {
"command": "node",
"args": ["/path/to/office-mcp/index.js"],
"env": {
"OFFICE_CLIENT_ID": "your-client-id",
- "OFFICE_CLIENT_SECRET": "your-client-secret",
"SHAREPOINT_SYNC_PATH": "/path/to/sharepoint",
"ONEDRIVE_SYNC_PATH": "/path/to/onedrive"
}
}
}
}
重启Claude Desktop
在Claude中,使用authenticate工具连接到Microsoft 365
直接使用MCP Inspector测试服务器:
npx @modelcontextprotocol/inspector node index.js
启用测试模式以使用模拟数据而不进行API调用:
USE_TEST_MODE=true node index.js
start-auth-server.bat或run-office-mcp.bat./start-auth-server.shauthenticate工具获取认证URL~/.office-mcp-tokens.json初始认证后,服务器会自动刷新令牌而无需用户交互。
对于无头环境,使用HTTP传输:
TRANSPORT_TYPE=http HTTP_PORT=3333 node index.js
对于Windows后台操作:
认证错误
~/.office-mcp-tokens.json带日期过滤器的电子邮件搜索
*来获取指定日期范围内的所有电子邮件startDate和endDate都支持ISO格式(2025-08-27)或相对格式(7d/1w/1m/1y)电子邮件附件问题
.env中配置本地同步路径API速率限制
权限错误
.env文件欢迎贡献!请:
MIT许可证 - 详情见LICENSE文件