OneNote MCP Server
A Model Context Protocol (MCP) server implementation for Microsoft OneNote, enabling AI language models to interact with OneNote through a standardized interface.
Features
Notebook Management
List all notebooks
Create new notebooks
Get notebook details
Delete notebooks
Section Management
List sections in a notebook
Create new sections
Get section details
Delete sections
Page Management
List pages in a section
Create new pages with HTML content
Read page content
Update page content
Delete pages
Search pages across notebooks
Related MCP server: doc-tools-mcp
Installation
Installing from npm (Recommended)
The package is now available on the npm registry as of April 27, 2025.
Running the Package
After installation, you can run the package using:
Or with npx:
Installing via Smithery
To install OneNote Server for Claude Desktop automatically via Smithery:
Installing from GitHub
Configuration
Set the following environment variables:
AZURE_TENANT_ID: Your Azure tenant IDAZURE_CLIENT_ID: Your Azure application (client) IDAZURE_CLIENT_SECRET: Your Azure client secret
Using with MCP Client
Add this to your MCP client configuration (e.g. Claude Desktop):
Azure App Registration
Go to Azure Portal and navigate to App registrations
Create a new registration
Add Microsoft Graph API permissions:
Notes.ReadWrite.All
Notes.Read.All
Create a client secret
Copy the tenant ID, client ID, and client secret for configuration
Development
Contributing
See CONTRIBUTING.md for information about contributing to this repository.
License
This project is licensed under the MIT License - see the LICENSE file for details
Changelog
0.1.0 (2025-04-27)
Initial release
Core functionality for OneNote notebook, section, and page management
Published to npm registry
0.1.1 (2025-04-27)
Added executable bin to package.json
Fixed issue where npx command couldn't determine executable to run
Updated README with clear running instructions