Microsoft OneNote MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Microsoft OneNote MCP or direct API to create notes, search notebooks, update pages, and organize sections through natural language.

Microsoft OneNote logoMicrosoft OneNote
Oauth2

Microsoft OneNote is a digital notebook for capturing notes, drawings, research, and web clippings. It keeps notebooks, sections, and pages organized across devices so ideas stay easy to find.

71 Tools

Try Microsoft OneNote now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Microsoft OneNote
Try asking
TOOLS

Supported Tools

Every Microsoft OneNote action and event your agent gets out of the box.

Copy notebook in group

Copies a OneNote notebook to the Notebooks folder in the destination Documents library.

Copy notebook in site

Copies a OneNote notebook to the destination site in the SharePoint documents library.

Copy section to notebook (site context)

Copies a OneNote section to a specific notebook within a SharePoint site.

Copy section to notebook (user)

Copies a OneNote section to a specific notebook for a specified user.

Copy group section to section group

Copies a OneNote section from a Microsoft 365 group's notebook into another section group.

Copy section to section group (user)

Copies a OneNote section to a specific section group for a specified user.

Copy site page to section

Copies a OneNote page from a SharePoint site to a destination section.

Copy user page to section

Copy a OneNote page from a user's notebook to a specified section.

Count notebook section group sections

Gets the count of OneNote sections within a section group in a user's notebook.

Count site notebook section group sections

Gets the count of sections within a OneNote section group in a SharePoint site notebook.

Create group notebook

Creates a new OneNote notebook within a Microsoft 365 group.

Create group OneNote page

Creates a new OneNote page in the default section of the default notebook for a Microsoft 365 group.

Create section in section group

Creates a new OneNote section within a specified section group of a Microsoft 365 group.

Create user notebook

Creates a new OneNote notebook for the signed-in user.

Create section in user's section group

Creates a new OneNote section within a specified section group of a notebook for the signed-in user.

Create OneNote page in section

Creates a new OneNote page in a specific section for the signed-in user.

Create section group in group notebook

Creates a new section group within a OneNote notebook that belongs to a Microsoft 365 group.

Create section in site notebook

Creates a new OneNote section within a specified notebook in a SharePoint site.

Create section in user notebook

Creates a new OneNote section within a specified notebook for a specific user.

Create user OneNote page

Creates a new OneNote page in the default section of the default notebook for a specific user.

Create section in user section group

Creates a new OneNote section within a specified section group for a specific user.

Create user section page

Creates a new OneNote page in a specific section of a user's notebook.

Delete page content from section group section

Deletes the HTML content of a OneNote page within a section in a section group in a Microsoft 365 group's OneNote workspace.

Delete OneNote page from section

Delete a specific OneNote page from a section within a notebook in a group.

Delete OneNote page from site

Deletes a OneNote page from a SharePoint site.

Delete user OneNote page from section

Deletes a OneNote page from a section within a section group in a user's notebook.

Delete OneNote page for user

Deletes a OneNote page from a user's OneNote workspace.

Get a OneNote section from a group

Retrieves a specific OneNote section from a Microsoft 365 group.

Get OneNote resource content by ID

Retrieves the binary content of a specific OneNote resource using its ID.

Get OneNote page content from section

Retrieves the HTML content of a specific OneNote page from a section for the signed-in user.

Get notebook from web URL

Retrieves a OneNote notebook by using its web URL path.

Get notebook section group

Retrieves a specific section group from a OneNote notebook within a Microsoft 365 group.

Get group OneNote operation status

Retrieves the status of a long-running OneNote operation for a group.

Get a OneNote page from a section group section

Retrieves a specific OneNote page from a section within a section group in a Microsoft 365 group's notebook.

Get site OneNote operation status

Retrieves the status of a long-running OneNote operation for a SharePoint site.

Get OneNote page content for user

Gets the HTML content of a specific OneNote page for a user.

Get a OneNote page

Retrieves metadata and properties of a specific OneNote page from the authenticated user's notebooks.

Get recent notebooks

Retrieves a list of recently accessed OneNote notebooks for the signed-in user.

Get a OneNote section by ID

Retrieves a specific OneNote section by its ID from the current user's OneNote.

Get OneNote page from site

Retrieves a specific OneNote page from a SharePoint site.

Get site notebook page preview

Retrieves a text preview of a specific OneNote page from a section within a section group in a SharePoint site-hosted notebook.

Get a OneNote section from a site

Retrieves a specific OneNote section from a SharePoint site.

Get OneNote page from site section group section

Retrieves a specific OneNote page from a section within a section group in a SharePoint site notebook.

Get user notebook

Retrieves the properties and relationships of a OneNote notebook by ID for a specific user.

Get a OneNote page from user

Retrieves a specific OneNote page from a user's OneNote notebooks.

Get parent section group from user section

Retrieves the parent section group of a OneNote section within a user's notebook.

List group notebooks

List OneNote notebooks owned by a Microsoft 365 group or Teams team.

List notebook section groups

Retrieves a list of section groups from the specified notebook within a Microsoft 365 group.

List pages from a group notebook section

Lists all OneNote pages from a specific section within a notebook in a Microsoft 365 group.

List section group sections

Lists all OneNote sections from a specific section group within a Microsoft 365 group's OneNote.

List joined teams

List Microsoft Teams that a user is a direct member of.

List pages in section

Retrieves a list of OneNote pages from a specific section for the current user.

List group OneNote pages

Lists all OneNote pages from a Microsoft 365 group.

List group section group section groups

Lists all section groups from a specified parent section group within a Microsoft 365 group's OneNote notebook.

List pages from a group section

Lists all OneNote pages from a specific section in a Microsoft 365 group.

List site notebooks

List OneNote notebooks stored in a SharePoint site.

List site notebook section groups

Retrieves a list of section groups from the specified notebook within a SharePoint site.

Get OneNote page content from SharePoint site

Retrieves the HTML content of a specific OneNote page within a SharePoint site.

List site sections

Retrieves a list of OneNote sections from a SharePoint site.

List user notebooks

Lists all OneNote notebooks accessible by a specific user.

List user notebook sections

Lists all OneNote sections from a specified notebook belonging to a user.

Resolve SharePoint site by URL

Resolve a SharePoint site URL or hostname and path to a Microsoft Graph site resource.

Search SharePoint sites

Search SharePoint sites available through Microsoft Graph.

Update my OneNote page content

Update the content of a OneNote page for the signed-in user.

Update my OneNote section

Updates the navigation property sections in me.

Update OneNote page content

Update the content of a OneNote page within a Microsoft 365 group using HTML patch commands.

Update section in site notebook

Updates a OneNote section within a notebook in a SharePoint site.

Update site OneNote page content

Update the content of a OneNote page within a SharePoint site.

Update site section group section

Updates a OneNote section within a section group in a SharePoint site notebook.

Update section in user notebook

Updates a OneNote section within a user's notebook.

Validate OneNote credentials

Validates OneNote API credentials by attempting to access the user's notebooks.

SETUP GUIDE

Connect Microsoft OneNote MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["onenote"],
  mcp: true,
});
Create a session scoped to Microsoft OneNote and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Create a new OneNote page in my Work notebook titled Standup Notes with today's action items.",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Microsoft OneNote request
SETUP GUIDE

Connect Microsoft OneNote API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["onenote"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Microsoft OneNote
3

Run Microsoft OneNote tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Create a new OneNote page in my Work notebook titled Standup Notes with today's action items." }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the Microsoft OneNote tool calls through the session, and print the final answer

Why Use Composio?

AI Native Microsoft OneNote Integration

  • Supports both Microsoft OneNote MCP and direct API based integrations, so your agent can work the way your stack already works
  • Structured, LLM-friendly schemas for reliable tool execution across notebooks, sections, and pages
  • Rich coverage for reading, writing, and querying your Microsoft OneNote workspace without bespoke integration code

Managed Auth

  • Bring your Microsoft OAuth credentials, then let Composio handle token storage, refresh, and lifecycle management
  • Central place to manage, scope, and revoke Microsoft OneNote access for users and agents
  • Per user and per environment credentials instead of hard-coded secrets sitting in your app

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what OneNote action ran, when, and on whose behalf
  • Built for natural language workflows like finding project notes, creating meeting summaries, and updating research pages

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Microsoft OneNote
  • Scoped, least privilege access to Microsoft OneNote notebooks, sections, and pages
  • Full audit trail of agent actions to support review, debugging, and compliance
FRAMEWORKS

Use Microsoft OneNote with any AI Agent Framework

Choose a Framework you want to connect Microsoft OneNote with

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Microsoft OneNote requires connections to go through your own OAuth app. You register it once with Microsoft OneNote, add its client ID and secret in the Composio dashboard, and from then on everyone connects by signing in to Microsoft OneNote as usual. Composio handles the rest of the flow and the token refresh.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Microsoft OneNote connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

When you connect a Microsoft OneNote account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Microsoft OneNote as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Exactly the ones Microsoft OneNote lists on its consent screen when you connect. Review that screen before approving. If you connect a work account, your Microsoft OneNote administrator may need to approve the app first, and you can revoke the access inside Microsoft OneNote whenever you want.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Microsoft OneNote connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

Composio refreshes Microsoft OneNote tokens automatically, so day to day you do nothing. If you revoke access inside Microsoft OneNote, or Microsoft OneNote invalidates the session, the connection shows as expired in Composio and the agent stops acting on that account until you reconnect it, which is a single sign-in.

Composio's free plan includes 100,000 tool calls per month with no credit card, which covers most personal Microsoft OneNote use. Paid plans add higher limits and team features. Your Microsoft OneNote plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Microsoft OneNote accounts).

With Composio, you connect Microsoft OneNote once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Microsoft OneNote.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Microsoft OneNote tool your agent needs.Free to start.

Start building