Get the FREE Ultimate OpenClaw Setup Guide →

azure-onenote

MCP server from ZubeidHendricks/azure-onenote-mcp-server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio zubeidhendricks-azure-onenote-mcp-server npx -y mcp-server-onenote \
  --env AZURE_CLIENT_ID="<YOUR_CLIENT_ID>" \
  --env AZURE_TENANT_ID="<YOUR_TENANT_ID>" \
  --env AZURE_CLIENT_SECRET="<YOUR_CLIENT_SECRET>"

How to use

This MCP server implements a standardized interface for Microsoft OneNote, exposing functionality to manage notebooks, sections, and pages. It enables AI language models and MCP clients to perform operations such as listing notebooks, creating new notebooks, and retrieving details; managing sections within notebooks; and creating, reading, updating, deleting, and searching pages (including creating pages with HTML content). To use it, configure your MCP client to point at this server with the required Azure credentials in the environment. The server authorizes via Azure AD and uses Microsoft Graph permissions Notes.ReadWrite.All and Notes.Read.All to interact with OneNote data. After startup, you can call the server through the MCP protocol using the predefined server name (onenote) and pass any needed environment variables in your client configuration.

Typical workflow: configure your MCP client (e.g., Claude Desktop) to connect to the OneNote MCP server using the provided command and environment variables. Then use the client features to list notebooks, create sections, add and fetch pages, and perform searches across notebooks. Because authentication is handled with Azure credentials, ensure your Azure app registration has the correct permissions and a valid client secret, tenant, and client ID before starting the server.

How to install

Prerequisites:

  • Node.js (LTS) and npm installed on your system
  • Access to an Azure AD app registration with Graph API permissions as described in the README

Installation steps (recommended):

# Install the MCP server globally from npm (recommended)
npm install -g mcp-server-onenote

# Run the server (uses the built-in executable)
mcp-server-onenote

Alternative: run via npx (no global install required)

npx -y mcp-server-onenote

If you prefer to install from GitHub, you can use:

npm install -g github:ZubeidHendricks/azure-onenote-mcp-server

Configuration notes during startup:

  • Set environment variables for Azure authentication before starting the server (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET).
  • Ensure the running process has network access to Azure AD and Microsoft Graph endpoints.
  • If using Smithery or other deployment tools, adapt the command accordingly to execute the MCP server binary.

Additional notes

Tips and common issues:

  • Ensure Azure Graph API permissions Notes.ReadWrite.All and Notes.Read.All are granted and consented in the registered app; after updating permissions, re-authenticate as needed.
  • Store Azure credentials securely; avoid embedding secrets directly in client configurations. Prefer environment-based secret management where possible.
  • If you encounter authentication failures, double-check the tenant ID, client ID, and client secret in AZURE_TENANT_ID, AZURE_CLIENT_ID, and AZURE_CLIENT_SECRET.
  • When upgrading the package, verify that the MCP server name (onenote) remains consistent in client configurations to avoid connection errors.
  • The server supports creating pages with HTML content; ensure HTML is well-formed to prevent content issues.
  • Use the MCP client to test notebook, section, and page workflows incrementally to isolate permission or data model issues.

Related MCP Servers

Sponsor this space

Reach thousands of developers