MCP Connector

Access and Manage OneNote Data

OneNote MCP Server reads and creates OneNote notebooks, sections, and pages through Microsoft Graph, with device code auth.

Works with microsoft graph apionenoteazure

26
Spark score
out of 100
Updated May 2025
Version 1.0.0
Models
universal

Add to Favorites

Why it matters

Integrate AI assistants with Microsoft OneNote, enabling them to read and write notebook content. This asset facilitates structured data access for AI-driven tasks.

Outcomes

What it gets done

01

Read OneNote notebooks, sections, and pages.

02

Create new OneNote content (notebooks, sections, pages).

03

Convert HTML content to text for AI processing.

04

Authenticate with Microsoft Graph API for secure access.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-onenote | bash

Capabilities

Tools your agent gets

onenote-read

Read content from Microsoft OneNote notebooks, sections, or pages with optional metadata and content.

onenote-create

Create new content in Microsoft OneNote, including pages, sections, or notebooks with HTML content.

Overview

OneNote MCP Server

OneNote MCP Server gives an AI assistant read and create access to Microsoft OneNote notebooks, sections, and pages through the Graph API. Use it when an AI assistant needs to read from or write to Microsoft OneNote directly.

What it does

OneNote MCP Server is an MCP server that gives an AI assistant access to Microsoft OneNote, reading and writing notebooks, sections, and pages through the Microsoft Graph API. It also converts HTML content to plain text, useful for feeding OneNote pages into RAG pipelines more cleanly.

When to use - and when NOT to

Use it when you want an AI assistant to read existing OneNote content or create new notebooks, sections, or pages, with HTML-formatted content. It requires a Microsoft Azure account with a registered application, a CLIENT_ID, and the appropriate Graph API permissions, Notes.Read and Notes.ReadWrite, so it depends on Azure app registration being done first. Authentication uses device code flow: on first run, a code is generated and written to device-code.txt, which you enter at the URL Microsoft provides, after which tokens are cached in token-cache.json so you don't have to repeat the flow on every run.

Capabilities

onenote-read reads content from OneNote notebooks, sections, or pages, with optional metadata and content details. onenote-create creates new content in OneNote, including pages, sections, or notebooks, with HTML content. Beyond the two tools, the server handles HTML-to-text conversion for cleaner downstream processing, and caches authentication tokens so repeated runs don't require re-authenticating via device code each time.

How to install

From source:

git clone [repository]
npm install
npm run build
npm start

Or via Docker:

mkdir -p data
docker build -t onenote-mcp-server .
docker run -d --name onenote-mcp-server -e CLIENT_ID=your-client-id -v $(pwd)/data:/app/dist onenote-mcp-server

For Claude Desktop, set the server directory to your cloned repository, the command to npm run build && npm start, and add the CLIENT_ID environment variable with your Microsoft Azure Application Client ID.

Who it's for

Developers who want an AI assistant to read from or write to Microsoft OneNote directly, provided they're willing to register an Azure application and complete a one-time device code authentication flow.

Source README

An MCP server that provides AI assistants with access to Microsoft OneNote, enabling reading and writing data to OneNote notebooks, sections, and pages using the Microsoft Graph API.

Installation

From Source Code

git clone [repository]
npm install
npm run build
npm start

Docker

mkdir -p data
docker build -t onenote-mcp-server .
docker run -d --name onenote-mcp-server -e CLIENT_ID=your-client-id -v $(pwd)/data:/app/dist onenote-mcp-server

Configuration

Claude Desktop

Set the server directory to your cloned repository
Set the command to: npm run build && npm start
Add environment variable:
- Name: CLIENT_ID
- Value: [Your Microsoft Azure Application Client ID]

Available Tools

Tool Description
onenote-read Reading content from Microsoft OneNote notebooks, sections, or pages with optional metadata and content...
onenote-create Creating new content in Microsoft OneNote, including pages, sections, or notebooks with HTML content...

Features

  • Read notebooks, sections, and pages from OneNote
  • Create new notebooks, sections, and pages in OneNote
  • Convert HTML content to text for improved RAG processing
  • Authentication via device code flow with Microsoft Graph API
  • Token caching for persistent authentication
  • Docker support for containerized deployment

Environment Variables

Required

  • CLIENT_ID - Your Microsoft Azure application Client ID for authentication## Notes

Requires a Microsoft Azure account with a registered application and API permissions (Notes.Read, Notes.ReadWrite). Uses device code flow authentication-on first run, a code is generated and saved to device-code.txt, which must be entered at the provided URL. Tokens are cached in token-cache.json for future use.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.