{"_id":"@cybergenix_/ms-365-mcp-server","name":"@cybergenix_/ms-365-mcp-server","dist-tags":{"latest":"0.6.2"},"versions":{"0.6.2":{"name":"@cybergenix_/ms-365-mcp-server","version":"0.6.2","description":"Microsoft 365 MCP Server","type":"module","bin":{"ms365-mcp-server":"dist/cli.js"},"main":"dist/index.js","scripts":{"build":"tsc","test":"vitest run","test:watch":"vitest","dev":"tsx src/index.ts","format":"prettier --write \"**/*.{ts,mts,js,mjs,json,md}\"","release":"ts-node --esm bin/release.mts","inspect":"npx @modelcontextprotocol/inspector tsx src/index.ts","prepublishOnly":"npm run build","mcp-server":"tsx src/external.ts"},"keywords":["microsoft","365","mcp","server"],"author":"","license":"MIT","publishConfig":{"access":"public"},"dependencies":{"@azure/msal-node":"^2.1.0","@modelcontextprotocol/sdk":"^1.8.0","commander":"^11.1.0","express":"^5.1.0","js-yaml":"^4.1.0","keytar":"^7.9.0","winston":"^3.17.0","zod":"^3.24.2"},"devDependencies":{"@redocly/cli":"^1.34.3","@types/express":"^5.0.3","@types/node":"^22.15.15","prettier":"^3.5.3","tsx":"^4.20.3","typescript":"^5.8.3","vitest":"^3.1.1"},"repository":{"type":"git","url":"git+https://github.com/softeria/ms-365-mcp-server.git"},"_id":"@cybergenix_/ms-365-mcp-server@0.6.2","gitHead":"16e44c75b838e9f34cd06a65f290d06621e377a2","bugs":{"url":"https://github.com/softeria/ms-365-mcp-server/issues"},"homepage":"https://github.com/softeria/ms-365-mcp-server#readme","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-Yk3IYibwfAA7f5XBTAMvd5m0gpUvNqgfsMXVU2ykMyUGw7k6n6jMWgxTQ/Bj/eqJz1WuCDPBD7yyM9NuAXCqaQ==","shasum":"51fa262d1189ddcbe7b67b67d570946a35079b34","tarball":"https://registry.npmjs.org/@cybergenix_/ms-365-mcp-server/-/ms-365-mcp-server-0.6.2.tgz","fileCount":36,"unpackedSize":815531,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICznyAAVC4gwKFrn5D9/i5whotdwXvdYCn4/QT8Q8U3nAiB3Id5xE7OHKayum71wpbbf5EgKmPq5aWtuEfwkaoxb2Q=="}]},"_npmUser":{"name":"cybergenix_","email":"it@cybergenix.co","actor":{"name":"cybergenix_","email":"it@cybergenix.co","type":"user"}},"directories":{},"maintainers":[{"name":"cybergenix_","email":"it@cybergenix.co"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ms-365-mcp-server_0.6.2_1750245830181_0.20535256232005916"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-18T11:23:50.092Z","0.6.2":"2025-06-18T11:23:50.378Z","modified":"2025-06-18T11:23:50.643Z"},"maintainers":[{"name":"cybergenix_","email":"it@cybergenix.co"}],"description":"Microsoft 365 MCP Server","homepage":"https://github.com/softeria/ms-365-mcp-server#readme","keywords":["microsoft","365","mcp","server"],"repository":{"type":"git","url":"git+https://github.com/softeria/ms-365-mcp-server.git"},"bugs":{"url":"https://github.com/softeria/ms-365-mcp-server/issues"},"license":"MIT","readme":"# ms-365-mcp-server\r\n\r\n[![npm version](https://img.shields.io/npm/v/@softeria/ms-365-mcp-server.svg)](https://www.npmjs.com/package/@softeria/ms-365-mcp-server) [![build status](https://github.com/softeria/ms-365-mcp-server/actions/workflows/build.yml/badge.svg)](https://github.com/softeria/ms-365-mcp-server/actions/workflows/build.yml) [![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/softeria/ms-365-mcp-server/blob/main/LICENSE)\r\n\r\nMicrosoft 365 MCP Server\r\n\r\nA Model Context Protocol (MCP) server for interacting with Microsoft 365 services through the Graph API.\r\n\r\n## Prerequisites\r\n\r\n- Node.js >= 14\r\n\r\n## Features\r\n\r\n- Authentication via Microsoft Authentication Library (MSAL)\r\n- Excel file operations\r\n- Calendar event management\r\n- Mail operations\r\n- OneDrive file management\r\n- OneNote notebooks and pages\r\n- To Do tasks and task lists\r\n- Planner plans and tasks\r\n- Outlook contacts\r\n\r\n## Quick Start Example\r\n\r\nTest login in Claude Desktop:\r\n\r\n![Login example](https://github.com/user-attachments/assets/27f57f0e-57b8-4366-a8d1-c0bdab79900c)\r\n\r\n## Examples\r\n\r\n![Image](https://github.com/user-attachments/assets/ed275100-72e8-4924-bcf2-cd8e1b4c6f3a)\r\n\r\n## Integration\r\n\r\n### Claude Desktop\r\n\r\nTo add this MCP server to Claude Desktop:\r\n\r\nEdit the config file under Settings > Developer:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"ms365\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\r\n        \"-y\",\r\n        \"@softeria/ms-365-mcp-server\"\r\n      ]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### Claude Code CLI\r\n\r\n```bash\r\nclaude mcp add ms365 -- npx -y @softeria/ms-365-mcp-server\r\n```\r\n\r\nFor other interfaces that support MCPs, please refer to their respective documentation for the correct\r\nintegration method.\r\n\r\n### Authentication\r\n\r\n> ⚠️ You must authenticate before using tools.\r\n\r\n1. **MCP client login**:\r\n    - Call the `login` tool (auto-checks existing token)\r\n    - If needed, get URL+code, visit in browser\r\n    - Use `verify-login` tool to confirm\r\n2. **Optional CLI login**:\r\n   ```bash\r\n   npx @softeria/ms-365-mcp-server --login\r\n   ```\r\n   Follow the URL and code prompt in the terminal.\r\n\r\nTokens are cached securely in your OS credential store (fallback to file).\r\n\r\n## CLI Options\r\n\r\nThe following options can be used when running ms-365-mcp-server directly from the command line:\r\n\r\n```\r\n--login           Login using device code flow\r\n--logout          Log out and clear saved credentials\r\n--verify-login    Verify login without starting the server\r\n```\r\n\r\n### Server Options\r\n\r\nWhen running as an MCP server, the following options can be used:\r\n\r\n```\r\n-v                Enable verbose logging\r\n--read-only       Start server in read-only mode, disabling write operations\r\n--http [port]     Use Streamable HTTP transport instead of stdio (optionally specify port, default: 3000)\r\n                  Starts Express.js server with MCP endpoint at /mcp\r\n```\r\n\r\nEnvironment variables:\r\n\r\n- `READ_ONLY=true|1`: Alternative to --read-only flag\r\n- `LOG_LEVEL`: Set logging level (default: 'info')\r\n- `SILENT=true`: Disable console output\r\n- `MS365_MCP_CLIENT_ID`: Custom Azure app client ID (defaults to built-in app)\r\n- `MS365_MCP_TENANT_ID`: Custom tenant ID (defaults to 'common' for multi-tenant)\r\n\r\n## Support\r\n\r\nIf you're having problems or need help:\r\n\r\n- Create an [issue](https://github.com/softeria/ms-365-mcp-server/issues)\r\n- Start a [discussion](https://github.com/softeria/ms-365-mcp-server/discussions)\r\n- Email: eirikb@eirikb.no\r\n- Discord: https://discord.gg/WvGVNScrAZ or @eirikb\r\n\r\n## License\r\n\r\nMIT © 2025 Softeria\r\n","readmeFilename":"README.md","_rev":"1-b2b1e647377e9c6ac07912114a6f08e5"}