Microsoft OneNote

The Microsoft OneNote connector lets AI agents browse notebooks, read page content, create new notebooks and sections, and write or update pages — all through the Microsoft Graph API using OAuth 2.0. Your credentials are stored encrypted in MCPGate's vault and are never exposed to the AI client.

Required scopes#

MCPGate requests the following Microsoft Graph OAuth scopes when you connect a OneNote account. All scopes are requested up front so you don't need to re-authorise when enabling additional tools.

ScopePurpose
Notes.Read.AllRead notebooks, sections, and page content
Notes.ReadWrite.AllCreate, update, and delete pages and notebooks

Tool reference#

The OneNote connector exposes 10 tools: 5 read, 4 write, and 1 delete. Use the MCP Apps page to enable or disable individual tools per app, and the Guardrails page to add fine-grained rules on top.

ToolCategoryDescription
onenote_list_notebooksreadList all OneNote notebooks for the authenticated user
onenote_get_notebookreadGet details of a specific OneNote notebook
onenote_list_sectionsreadList all sections in a OneNote notebook
onenote_list_pagesreadList all pages in a OneNote section
onenote_get_pagereadGet the content of a specific OneNote page
onenote_create_notebookwriteCreate a new OneNote notebook
onenote_create_sectionwriteCreate a new section in a OneNote notebook
onenote_create_pagewriteCreate a new page in a OneNote section
onenote_update_pagewriteUpdate the content of a OneNote page
onenote_delete_pagedeleteDelete a OneNote page

Page content is HTML

OneNote pages are stored as HTML. onenote_create_page and onenote_update_page accept HTML content in the request body. The AI should produce valid OneNote HTML — unsupported elements are silently stripped by the API.

Common guardrail recipes#

Read-only access#

Enable only the five read tools and deny all write and delete tools. This is ideal for agents that search and summarise notes without ever modifying them.

Contribute preset#

Enable read tools plus all four write tools (onenote_create_notebook, onenote_create_section, onenote_create_page, onenote_update_page). Deny onenote_delete_page. This lets the agent add and edit notes without being able to destroy content.

Restrict to a specific notebook#

Apply the allow_values template to write tools targeting the notebook_id or section_id field. Provide the IDs of the notebook(s) the agent is permitted to write to, so it cannot create or modify pages in other notebooks.

Troubleshooting#

  • Page content missing after creation — The OneNote API processes page HTML asynchronously. If you read a page immediately after creating it,onenote_get_page may return an empty body. Retry after a few seconds.
  • Update rejected with 400onenote_update_page requires a valid JSON Patch body targeting OneNote HTML elements. Ensure the AI is generating a well-formed patch document.
  • Notebooks not listed — Notebooks stored on SharePoint are only visible if the Notes.Read.All scope was granted. Reconnect to ensure the correct scope was approved.