authenticateLABSCO 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 neededlistNotebooks,getNotebook,listSections,listPages— walk the notebook structuregetPage— a page's complete content including HTML formatting, which is what makes summarising and extraction workcreatePage— add a page with HTML content to a notebook sectionsearchPages— 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
USE CASES
Summarising notes you have not read in months
Locate the page, pull its full content, and get the actual text back rather than a title list.
Filing a conversation as a note
Create a page with HTML content in the section you name, without switching applications.
Pulling the action items out of a meeting page
Fetch the page content and have the commitments extracted with owners and dates.
8 tools
Listed in project docs. Your client may show a different list.
listNotebooksgetNotebooklistSectionslistPagesgetPagecreatePagesearchPagesBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation.
Requires
- Node.js 16 or later
- Git
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/danosb/onenote-mcp.git
cd onenote-mcp
git clone https://github.com/modelcontextprotocol/typescript-sdk.git
cd typescript-sdk
npm install
npm run build
cd ..
npm installAdd the configuration below to your client, with the full path to onenote-mcp.mjs inside this onenote-mcp folder
MCP Clients
Cursor, Claude Desktop
{
"mcpServers": {
"onenote": {
"command": "node",
"args": [
"<YOUR_PATH_TO_ONENOTE_MCP>"
],
"env": {}
}
}
}