【免费下载链接】ms-365-mcp-serverA Model Context Protocol (MCP) server for interacting with Microsoft 365 and Microsoft Office services through the Graph API项目地址https://gitcode.com/gh_mirrors/ms/ms-365-mcp-server点击查看免费下载ms-365-mcp-server 是一个通过 Microsoft Graph API 操作 Microsoft 365 的 Model Context ProtocolMCP服务器为 AI 助手提供 300 个邮件、日历、OneDrive、Teams 等工具。本文是一份面向贡献者的完整开发者指南从克隆仓库、用npm run generate生成 Graph API 客户端到用npm run verify一键通过全部质量检查带你走通首个 PR 的完整流程。一、3分钟了解项目结构开始贡献前先看清代码布局心里有数再动手路径作用src/index.ts服务器入口CLI 参数解析与服务启动src/endpoints.json300 个 MCP 工具的声明式定义路径、权限、预设、提示词src/generated/自动生成的 Graph API 客户端禁止手改bin/generate-graph-client.mjs客户端代码生成脚本src/lib/可复用功能模块认证、缓存、韧性、日志脱敏等test/Vitest 单元测试90 个测试文件docs/deployment.md生产部署文档.github/workflows/build.ymlCI 工作流本地验证要与它对齐二、环境准备Node.js 与依赖安装最快配置方法如下三条命令搞定# 1. 克隆仓库 git clone https://gitcode.com/gh_mirrors/ms/ms-365-mcp-server cd ms-365-mcp-server # 2. 安装依赖需要 Node.js 20推荐版本 npm install # 3. 本地试跑 npm run dev版本注意来自 package.json 与 CI 配置官方推荐Node.js 20最低要求 Node 18CI 使用 18 / 20 / 22 三个版本做矩阵测试。测试框架 Vitest 4 需要 Node 20所以在 Node 18 上无法跑npm test。如需自定义 Azure 应用认证可参考 .env.example 创建.env文件。三、npm run generateGraph API 客户端是怎么生成的这是贡献本项目最特殊的一步。与改几行代码不同这里的工具接口来自代码生成理解它是贡献的前提。npm run generate实际执行 bin/generate-graph-client.mjs对 Graph 的v1.0 和 beta 两个版本分别执行 3 个步骤 下载 OpenAPI 规范—— 从微软拉取 Graph API 的 OpenAPI 描述文件保存到openapi/目录 裁剪规范—— 对照 src/endpoints.json 中声明的工具把原始规范裁剪成只包含所需端点的精简版原始规范高达 45MB 生成客户端代码—— 用 openapi-zod-client 生成带 Zod 校验的 TypeScript 客户端输出到 src/generated/client.ts 与 src/generated/client-beta.ts。为什么这样做src/generated/README.md 记录了三代方案演进从AI 映射文档到直接解析 45MB 完整规范最终定型为精简规范 生成静态客户端——启动更快、包体更小、类型安全。⚠️关键规则src/generated/下的文件由脚本生成并已提交进仓库。ESLint 配置eslint.config.js明确忽略该目录和bin/所以不要手工修改生成代码正确姿势是改输入endpoints.json再重新生成。典型场景当你新增了一个 Graph 端点工具后必须重跑npm run generate否则客户端里没有对应的请求函数。四、本地开发运行、调试与 MCP Inspector改完代码本地验证有这几种方式# stdio 模式直接运行配合 Claude 等 MCP 客户端 npm run dev # HTTP 模式 文件变更自动重启 npm run dev:http # 打开 MCP Inspector 图形界面交互式调试工具调用 npm run inspectornpm run inspector是推荐的第一步它会在浏览器里列出所有工具可直接填入参数观察返回结果比盯着日志调试高效得多。调试 OAuth 流程时可参考 README 中Setting up Azure AD for OAuth Testing一节。五、提交前必做npm run verify 一键质量检查一键安装检查步骤其实就一条命令。npm run verify串联了 6 道关卡全部通过才算合格npm run verify顺序命令工具检查内容1generate生成脚本重新生成客户端确保生成代码与规范一致2lintESLint typescript-eslint代码规范与潜在错误3format:checkPrettier格式统一单引号、分号、100 列宽见 .prettierrc4typechecktsc --noEmitstrict 模式类型检查5buildtsup打包 ESM 产物到dist/配置见 tsup.config.ts6testVitest运行 test/ 与src/__tests__/全部单测为什么要跑typecheckCI 工作流 里有一句注释解释得很直白tsup 只剥离类型并不检查类型光靠build抓不住类型错误。好消息是本地npm run verify通过的 ≈ CI 通过的——CI 在 Node 18/20/22 矩阵上执行的正是同一组检查Node 18 额外做产物冒烟测试。遇到格式问题时别手动对齐用自动修复更省心npm run format # Prettier 自动排版 npm run lint:fix # ESLint 可修复项自动处理六、常见贡献路径速查表 贡献类型改动位置关键步骤新增 MCP 工具src/endpoints.json声明pathPattern、method、toolName、scopes、presets、llmTip→npm run generate→npm run verify修复核心逻辑src/lib/ 或 src/graph-tools.ts改动 在 test/ 补测试 →npm run verify调整认证/缓存src/token-cache-storage.ts、src/lib/microsoft-auth.ts敏感模块务必覆盖多账户与加密场景测试修文档/部署docs/deployment.md、README.mdnpm run format保证 Markdown 排版合规给新贡献者的 3 条建议先跑通再动手克隆后先执行npm install、npm run generate、npm run verify确认本地环境全绿生成代码永远走generateendpoints.json是单一事实来源改它、重新生成、验证不要碰src/generated/提交前必跑verifyREADME.md 的 Contributing 章节明确要求所有 PR 先通过它——这也是项目对代码质量的底线。结语掌握npm run generate到npm run verify这条主线你就具备了为 ms-365-mcp-server 贡献代码的完整能力改endpoints.json扩展工具面改src/打磨核心逻辑用一条verify对齐 CI 标准。 祝你的首个 PR 顺利合入赞分享【免费下载链接】ms-365-mcp-serverA Model Context Protocol (MCP) server for interacting with Microsoft 365 and Microsoft Office services through the Graph API项目地址https://gitcode.com/gh_mirrors/ms/ms-365-mcp-server点击查看免费下载相关推荐GitPodcast成本控制如何优化AI API调用降低运营成本GitPodcast成本控制如何优化AI API调用降低运营成本 GitPodcast作为一款能将任何Git仓库转换为引人入胜的播客的工具在提供便捷服务的同push.js 贡献指南从 npm run build 到合入 PR 的完整开发流程push.js 贡献指南从 npm run build 到合入 PR 的完整开发流程 导读 本文以 push.js 仓库的 CONTRIBUTING.md h前端Obsidian网页导出终极指南3步实现知识自由传播Obsidian网页导出终极指南3步实现知识自由传播 还在为无法将Obsidian笔记轻松分享而烦恼吗Obsidian Webpage Export插件正是开发工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考