Access and Manage OneNote Data
OneNote MCP Server reads and creates OneNote notebooks, sections, and pages through Microsoft Graph, with device code auth.
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
Read OneNote notebooks, sections, and pages.
Create new OneNote content (notebooks, sections, pages).
Convert HTML content to text for AI processing.
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
Read content from Microsoft OneNote notebooks, sections, or pages with optional metadata and content.
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.