azure-onenote-mcp-server
The OneNote MCP Server is a Model Context Protocol implementation that facilitates the interaction of AI language models with Microsoft OneNote through a standardized interface, offering comprehensive notebook, section, and page management capabilities.
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
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 for information about contributing to this repository.
License
This project is licensed under the MIT License - see the 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