A Model Context Protocol (MCP) server implementation for Microsoft OneNote, enabling AI language models to interact with OneNote through a standardized interface.
2 stars2 watching1 forks

OneNote MCP Server

smithery badge

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 via Smithery

To install OneNote Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @modelcontextprotocol/server-onenote --client claude

Manual Installation

npm install -g mcp-server-onenote

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": "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

  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

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

Features

notebooks
sections
pages
search
create
delete
update
list

Category

Knowledge & Memory