使用说明
ms365 mcp
一个足够小的Microsoft 365 MCP服务器,你会忘记它正在运行。跨团队、Outlook、日历、SharePoint和OneDrive的67个工具。内置Zig——无节点、无Python、无运行时依赖。静态链接。
重要的数字 (已测量,未估算):
| 度量 | 值 |
|---|---|
| 冷启动RAM | 1.3 MB峰值 /1.9 MB居民 |
| 冷启动时间 | 约120毫秒 |
| 二进制大小 | 5.9毫巴 静态链接 |
list-emails 模型的有效载荷 |
4.2 KB 对比 31 KB 原始图形(减小约87%) |
每个代币 list-emails 呼叫 |
~1,050 与生的7800块相比 |
| 端到端测试计数,对照实时图形 | 94 (没有嘲笑) |
上下文节省是杠杆。在200K令牌模型上,ms365 mcp允许代理在工作内存中保存约50个收件箱快照,而不是约6个。这就是“代理忘记了它在做什么”和“代理完成了任务”之间的区别
非技术读者: 看见 文档/销售代理能力.md 了解该工具解锁的内容。
安装
curl -fsSL https://raw.githubusercontent.com/currenthandle/ms365-mcp/main/install.sh | sh
下载适合您平台的二进制文件(macOS/Linux,ARM64/x86_64)到 ~/.local/bin/ms365-mcp.
设置
-
创建一个 Microsoft Entra应用程序注册 具有所需Graph API作用域的委派权限。
-
添加到MCP客户端配置(
.mcp.json克劳德桌面等):
{
"mcpServers": {
"ms365": {
"command": "$HOME/.local/bin/ms365-mcp",
"env": {
"MS365_CLIENT_ID": "your-client-id",
"MS365_TENANT_ID": "your-tenant-id"
}
}
}
}
- 服务器通过OAuth设备代码流进行身份验证——LLM将调用
login并提示您访问URL。
工具
电子邮件 (15) --列出电子邮件、阅读电子邮件、发送电子邮件、回复电子邮件、回复所有电子邮件、转发电子邮件、搜索电子邮件、列出邮件文件夹、标记已阅读电子邮件、移动电子邮件、列出电子邮件附件、阅读电子邮件附件、下载电子邮件附件、删除电子邮件、批量删除电子邮件
草稿 (7) --创建草稿、发送草稿、更新草稿、删除草稿、添加附件、列出附件、删除附件
日历 (8) --列出日历事件、获取日历事件、创建日历事件、更新日历事件、删除日历事件、查找会议时间、获取日程、响应事件
团队聊天 (7) --列出聊天记录、搜索聊天记录、列出聊天消息、搜索聊天消息、发送聊天消息、创建聊天记录、删除聊天消息
团队频道 (9) --列出团队、列出频道、搜索频道、列出频道消息、获取频道消息回复、发布频道消息、回复频道消息、删除频道消息、取消频道回复
SharePoint (9) --搜索sharepoint网站、列出sharepoint驱动器、列出sharepoint项目、搜索sharepoint文件、上传sharepoint文件、上载sharepoint内容、创建sharepoint文件夹、删除sharepoint项目、下载sharepoint文件
OneDrive (6) --列出一个驱动器项目,搜索一个驱动器文件,上传一个驱动器的文件,上传驱动器的内容,下载驱动器的文件和删除驱动器的项目
身份验证和实用程序 (6) --登录、验证登录、获取邮箱设置、同步时区、搜索用户、获取个人资料
从源代码构建
需要 之字形 0.16.0.
zig build -Doptimize=ReleaseSafe
运行单元测试:
zig build test
运行实时Graph端到端套件(85个测试;需要 MS365_CLIENT_ID / MS365_TENANT_ID 配置加上 E2E_* 变量在 .env):
zig build e2e
e2e工具针对真实的Graph端点练习每个工具,包括6个跨工具用户旅程(搜索一个人→ 打开聊天→ send → 搜索索引→ 删除→ 验证已结束)。
