LabscoMCP early access ↗
danosbMCP SERVER

OneNote MCP Server by danosb

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

Note-Taking & Personal Knowledge BasesCommunity

LABSCO 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: clone the repository, clone and build the MCP TypeScript SDK inside it, then run npm install and point your client at onenote-mcp.mjs. npx mcp-server-onenote installs the upstream project, not this one. 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

Build from source — git clone https://github.com/danosb/onenote-mcp.git