About OneNote MCP Server
OneNote MCP Server is an MCP server for Microsoft OneNote that lets AI language models manage notebooks, sections and pages through a standard interface. It is published as an npm package and accesses data through the Microsoft Graph API.
Key features
- 01Create, list, read and delete notebooks and sections
- 02Create and update pages with HTML content
- 03Search pages across notebooks
- 04Authentication with Azure app credentials
Use cases
- 01Letting an AI model read or organize OneNote pages
- 02Creating notebooks and sections from an MCP client
- 03Searching pages across multiple notebooks
MCP support
This project is an MCP server that exposes OneNote notebook, section and page management as tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEOneNote 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
Installation
Installing from npm (Recommended)
npm install -g mcp-server-onenote
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:
mcp-server-onenote
Or with npx:
npx mcp-server-onenote
Installing via Smithery
To install OneNote Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @modelcontextprotocol/server-onenote --client claude
Installing from GitHub
npm install -g github:ZubeidHendricks/azure-onenote-mcp-server
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):
{
"mcpServers": {
"onenote": {
"command": "mcp-server-onenote",
"env": {
"AZURE_TENANT_ID": "<YOUR_TENANT_ID>",
"AZURE_CLIENT_ID": "<YOUR_CLIENT_ID>",
"AZURE_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>"
}
}
}
}
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
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Lint
npm run lint
# Run locally
npm start
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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
