JUHE API Marketplace
ZubeidHendricks avatar
MCP Server

OneNote MCP Server

Enables AI language models to interact with Microsoft OneNote via a standardized interface, supporting notebook and page management through natural language.

17
GitHub Stars
8/23/2025
Last Updated
MCP Server Configuration
1{
2 "name": "onenote",
3 "command": "mcp-server-onenote",
4 "env": {
5 "AZURE_TENANT_ID": "",
6 "AZURE_CLIENT_ID": "",
7 "AZURE_CLIENT_SECRET": ""
8 }
9}
JSON9 lines

README Documentation

OneNote MCP Server

smithery badge Verified on MseeP

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 ID
  • AZURE_CLIENT_ID: Your Azure application (client) ID
  • AZURE_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

  1. Go to Azure Portal and navigate to App registrations
  2. Create a new registration
  3. Add Microsoft Graph API permissions:
    • Notes.ReadWrite.All
    • Notes.Read.All
  4. Create a client secret
  5. 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

MseeP.ai Security Assessment Badge

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

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source