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.
| Scope | Purpose |
|---|---|
| Notes.Read.All | Read notebooks, sections, and page content |
| Notes.ReadWrite.All | Create, 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.
| Tool | Category | Description |
|---|---|---|
| onenote_list_notebooks | read | List all OneNote notebooks for the authenticated user |
| onenote_get_notebook | read | Get details of a specific OneNote notebook |
| onenote_list_sections | read | List all sections in a OneNote notebook |
| onenote_list_pages | read | List all pages in a OneNote section |
| onenote_get_page | read | Get the content of a specific OneNote page |
| onenote_create_notebook | write | Create a new OneNote notebook |
| onenote_create_section | write | Create a new section in a OneNote notebook |
| onenote_create_page | write | Create a new page in a OneNote section |
| onenote_update_page | write | Update the content of a OneNote page |
| onenote_delete_page | delete | Delete a OneNote page |
Page content is 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_pagemay return an empty body. Retry after a few seconds. - Update rejected with 400 —
onenote_update_pagerequires 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.Allscope was granted. Reconnect to ensure the correct scope was approved.