IntegrateIntegrate
Integrations

OneNote Integration

Manage OneNote notebooks, sections, pages, and section creation through Microsoft Graph

The OneNote integration provides access to manage OneNote notebooks, sections, pages, and section creation through Microsoft Graph through the Integrate MCP server.

Installation

The OneNote integration is included with the SDK:

import { onenoteIntegration } from "integrate-sdk/server";

Setup

1. Create an OneNote OAuth App

  1. Go to Azure Portal — App Registrations
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the OneNote integration to your server configuration. The integration automatically reads ONENOTE_CLIENT_ID and ONENOTE_CLIENT_SECRET from your environment variables:

import { createMCPServer, onenoteIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    onenoteIntegration({
      scopes: ["offline_access", "User.Read", "Notes.ReadWrite.All"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

onenoteIntegration({
  clientId: process.env.CUSTOM_ONENOTE_ID,
  clientSecret: process.env.CUSTOM_ONENOTE_SECRET,
      scopes: ["offline_access", "User.Read", "Notes.ReadWrite.All"], // Optional
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";

await client.authorize("onenote");
const result = await client.onenote.listNotebooks({});

console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, onenoteIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [onenoteIntegration()],
});

Configuration Options

Prop

Type

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • offline_access
  • User.Read
  • Notes.ReadWrite.All

Tools

onenote_list_notebooks

List notebooks

Prop

Type

onenote_get_notebook

Get notebook

Prop

Type

onenote_list_sections

List sections

Prop

Type

onenote_create_section

Create section

Prop

Type

onenote_list_pages

List pages

Prop

Type

onenote_get_page

Get page

Prop

Type

Notes

  • Category: Productivity
  • Authentication mode: OAuth

On this page