Most Microsoft Graph integrations stall at tenant registration, redirect URIs and admin consent before you see a single note. Device-code login moves that to a browser tab and a six-character code. The trade is that the resulting token lives in a plain file next to the server and expires on Microsoft's schedule rather than yours.
An MCP server for Microsoft OneNote that skips the usual Azure setup. Authentication runs as a device-code flow started from inside the conversation: you get a URL and a code, sign in, and the token is stored locally. It builds on ZubeidHendricks' azure-onenote-mcp-server with authentication simplified.
- `authenticate` — start the Microsoft device-code flow from the chat, no app registration needed
- `listNotebooks`, `getNotebook`, `listSections`, `listPages` — walk the notebook structure
- `getPage` — a page's complete content including HTML formatting, which is what makes summarising and extraction work
- `createPage` — add a page with HTML content to a notebook section
- `searchPages` — search across your notebooks
Node.js 16 or higher and a Microsoft account with OneNote. It is built from source, and the MCP TypeScript SDK is cloned and built separately first, then `npm install` and `npm start`; the package is `mcp-server-onenote`. The access token is written to `.access-token.txt` beside the server and expires, so you will re-run the device flow from time to time. Treat that file as a credential — it grants access to your notes.
One command — npx -y mcp-server-onenote
