- Home
- MCP servers
- OneNote
OneNote
- javascript
20
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"zubeidhendricks-azure-onenote-mcp-server": {
"command": "mcp-server-onenote",
"args": [],
"env": {
"AZURE_CLIENT_ID": "YOUR_CLIENT_ID",
"AZURE_TENANT_ID": "YOUR_TENANT_ID",
"AZURE_CLIENT_SECRET": "YOUR_CLIENT_SECRET"
}
}
}
}You can run the OneNote MCP Server locally to enable AI language models to interact with OneNote notebooks, sections, and pages through a standardized interface. This server handles notebook, section, and page operations so you can automate notes, content retrieval, updates, and searches from your MCP-enabled clients.
How to use
Once the OneNote MCP Server is running, you can perform common operations from your MCP client. You can list all notebooks, create new notebooks, view details for a notebook, and delete notebooks. Within a notebook, you can list sections, create new sections, read section details, and delete sections. For content in OneNote pages, you can list pages in a section, create new pages with HTML content, read page content, update it, delete pages, and search across notebooks. These capabilities let you build workflows that generate, organize, and retrieve notes directly from your AI-enabled apps.
How to install
# Prerequisites: ensure you have Node.js and npm installed
# 1) Install the MCP OneNote server globally (recommended)
npm install -g mcp-server-onenote
# 2) Run the server
mcp-server-onenote
# Alternative: run via npx without a global install
npx mcp-server-onenote
# Optional: install via Smithery for CLI-based setup (Claude client example)
# This will install and configure for the Claude client
npx -y @smithery/cli install @modelcontextprotocol/server-onenote --client claude
# Optional: install from GitHub (Azure OneNote MCP server variant)
npm install -g github:ZubeidHendricks/azure-onenote-mcp-server
Configuration and security
Configure Azure credentials to enable access to OneNote through Microsoft Graph. You will register an Azure application and provide credentials to the MCP server.
Required environment variables
- AZURE_TENANT_ID: Your Azure tenant ID
- AZURE_CLIENT_ID: Your Azure application (client) ID
- AZURE_CLIENT_SECRET: Your Azure client secret
Azure app registration steps you will follow in your Azure portal:
- Go to App registrations and create a new registration
- Add Microsoft Graph API permissions: Notes.ReadWrite.All and Notes.Read.All
- Create a client secret and note the tenant ID, client ID, and client secret for configuration
Client configuration example for an MCP client (e.g., Claude Desktop) will include the server entry with the necessary environment variables when you launch the server.
Development and running locally
# Install dependencies for the local project (if you clone a repo instead of using the package)
npm install
# Run tests
npm test
# Build the project
npm run build
# Lint the code
npm run lint
# Start the server locally
mcp-server-onenote
Notes and troubleshooting
If you encounter authentication or permission issues, verify that your Azure app has the correct Microsoft Graph API permissions and that your client secret is valid. Ensure the environment variables are correctly exported in the shell or configured in your MCP client setup before starting the server.
Available tools
Notebook management
List notebooks, create notebooks, get notebook details, and delete notebooks.
Section management
List sections in a notebook, create sections, get section details, and delete sections.
Page management
List pages in a section, create pages with HTML content, read and update page content, delete pages, and search pages across notebooks.