azure-onenote-mcp-server

The azure-onenote-mcp-server is an automation tool built with TypeScript for managing OneNote data. This project aims to facilitate operations through an API, allowing users to easily create, update, and delete notes. It contributes to streamlining workflows and enhances productivity.

GitHub Stars

17

User Rating

Not Rated

Favorites

0

Views

30

Forks

6

Issues

1

README
OneNote MCP Server

smithery badge
npm version
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