Labsco
MCP SERVER

OneNote

by danosb

Read, search and add to OneNote notebooks with a device-code login — no Azure app registration.

Note-Taking & Personal Knowledge Bases
Summary
Skipping Azure is the entire pitch, and it holds.

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.

What it is

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.

What you get
  • `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
Requirements

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.

Setup effort

One command — npx -y mcp-server-onenote