OneNote MCP Server
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
Copy
npm install -g mcp-server-onenote
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):
Copy
{
"mcpServers": {
"onenote": {
"command": "npx",
"args": ["-y", "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
Copy
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Lint
npm run lint
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
Enables AI language models to interact with Microsoft OneNote via a standardized interface, supporting notebook and page management through natural language.