OneNote (Microsoft 365)
Let your AI work in OneNote: browse notebooks, sections and pages, read pages, create notebooks, sections and pages, and add notes to existing pages. OneNote for work or school and personal OneNote through Microsoft Graph, signed in with your Microsoft account.
7-day free trial · No credit card · EU-hosted
Ask OneNote anything
Try a real prompt against OneNote (Microsoft 365) via AnythingMCP — Claude calls the tools, returns the answer. Press Enter on your own message to install on Cloud.
Install OneNote on CloudClaude is AI and can make mistakes. Please double-check responses.
Setup in 2 minutes
- 1Start a free trial on cloud.anythingmcp.com.
- 2Click OneNote (Microsoft 365) in the connector store. Paste credentials when prompted.
- 3Mint an MCP API key and point your AI client at the generated MCP URL.
Guides for OneNote
Step-by-step setup for the most popular AI clients.
Setting up OneNote (Microsoft 365)
From the connector definition itself: where to find the credentials, what they need to be allowed to do, and which API this adapter talks to.
OneNote
This connector works with the signed-in user's OneNote notebooks through Microsoft Graph v1.0 (https://graph.microsoft.com/v1.0, /me/onenote): browse notebooks, section groups, sections and pages, read pages, create notebooks, sections and pages, and add to or change existing pages. It works with OneNote for work or school (Microsoft 365) and with personal OneNote. Everything runs as the user who authorized the connector: the AI sees and changes exactly what that user can.
Setup (one-time, about 10 minutes)
- Open https://entra.microsoft.com (or https://portal.azure.com) → Applications → App registrations → New registration.
- Name it (e.g. "AnythingMCP Microsoft 365") and choose the supported account types:
- Accounts in this organizational directory only (single tenant): only your organisation's users can sign in. Set
MICROSOFT_TENANT_IDto the Directory (tenant) ID shown on the app's Overview page (a GUID), or to your domain such ascontoso.onmicrosoft.com. - Accounts in any organizational directory (multi-tenant): set
MICROSOFT_TENANT_IDtoorganizations. - ... and personal Microsoft accounts: set
MICROSOFT_TENANT_IDtocommon(work, school and personal accounts) orconsumers(personal accounts only). The value must match the app's account type, otherwise Microsoft refuses the sign-in (AADSTS50194 or AADSTS50020).
- Accounts in this organizational directory only (single tenant): only your organisation's users can sign in. Set
- Under Redirect URI pick platform Web and enter
https://cloud.anythingmcp.com/api/mcp-oauth/callbackon AnythingMCP Cloud, or<your AnythingMCP URL>/api/mcp-oauth/callbackwhen you host AnythingMCP yourself. It must match character for character (AADSTS50011 otherwise). - API permissions → Add a permission → Microsoft Graph → Delegated permissions: add
offline_access,User.Read,Notes.ReadWrite. - Certificates & secrets → New client secret. Copy the secret Value (not the Secret ID); it is shown once. Note its expiry date: when it expires the connector stops working until you paste a new one.
- Paste the Application (client) ID into
MICROSOFT_CLIENT_ID, the secret value intoMICROSOFT_CLIENT_SECRET, the tenant value from step 2 intoMICROSOFT_TENANT_ID, and install. - On the connector page click Authorize with Provider and sign in with the account whose notebooks the AI should work with. The refresh token is stored encrypted and access tokens (about 1 hour) are renewed automatically.
One Entra app for all Microsoft connectors: the app registration made for the Outlook connector works here as well. Open it, add the delegated permissions from step 4 under API permissions, keep the same redirect URI, and reuse the same MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET and MICROSOFT_TENANT_ID. Each connector asks only for its own scopes when you authorize it. The permissions per connector:
- Outlook:
Mail.ReadWrite,Mail.Send,Calendars.ReadWrite - OneDrive:
Files.ReadWrite - Excel:
Files.ReadWrite(plusFiles.ReadWrite.Allfor workbooks in SharePoint or shared with the user) - SharePoint:
Sites.ReadWrite.AllandFiles.ReadWrite.All - OneNote:
Notes.ReadWrite - Microsoft To Do:
Tasks.ReadWrite - Planner:
Tasks.ReadWriteEvery connector also needsoffline_accessandUser.Read.
Admin consent: these delegated permissions normally do not need an administrator, but many organisations turn off user consent. If the sign-in shows "Need admin approval" (AADSTS65001 or AADSTS90094), a tenant administrator opens the app registration → API permissions → Grant admin consent for <organisation> once; afterwards every user can authorize. Each connector still works only with what the account that signed in may see.
Scopes: offline_access User.Read Notes.ReadWrite. offline_access is what makes Microsoft issue a refresh token; without it the connector stops an hour after authorizing. Notes.ReadWrite covers the user's own notebooks. For notebooks other people shared with the user (work or school), add Notes.ReadWrite.All to the app registration, replace Notes.ReadWrite with it in the connector's OAuth settings and authorize again. For a read-only setup, use offline_access User.Read Notes.Read, authorize again, and disable microsoft_onenote_create_notebook, microsoft_onenote_create_section, microsoft_onenote_create_page, microsoft_onenote_append_to_page and microsoft_onenote_update_page.
Confirm writes: before creating a notebook, section or page, or changing a page, tell the user what you are about to write and where, and wait for a yes.
Switched off at install: microsoft_onenote_delete_page. Turn it on per tool only if the AI should delete pages.
Structure: notebook → section groups (optional folders, can nest) → sections → pages. Find a notebook with microsoft_onenote_list_notebooks, its sections with microsoft_onenote_list_notebook_sections (sections inside section groups with microsoft_onenote_list_notebook_section_groups and microsoft_onenote_list_section_group_sections), or all sections at once with microsoft_onenote_list_sections. Then microsoft_onenote_list_section_pages lists a section's pages.
Finding pages: microsoft_onenote_list_pages lists pages across notebooks, newest change first. Search titles with filter = contains(tolower(title),'budget'); filter on lastModifiedDateTime ge 2026-09-01 for recent pages. Graph does not search page text; open candidate pages with microsoft_onenote_get_page_content. Users with very many OneNote items get error 10008 from microsoft_onenote_list_pages; go section by section then.
Reading: microsoft_onenote_get_page_content returns the page as HTML. Read the text from it and leave the markup out of your answer. Images appear as links to Graph resources that only open with the user's sign-in; ink drawings are not included. Very long pages are cut off at about 200 KB.
Writing
microsoft_onenote_create_pagebuilds the page from atitleandbody_html. Use well-formed HTML (close every tag, write&as&).<p data-tag="to-do">Call Anna</p>makes a checkbox;<img src="https://...">pulls a public image into the page. Uploading files or images from the user's computer is not supported here.microsoft_onenote_append_to_pageadds HTML at the end of a page: the easy way to add notes.microsoft_onenote_update_pagesends change commands: replace the title ({"target":"title","action":"replace","content":"New title"}), insert next to or replace an element. To replace an element, read the page withinclude_idstrue and use the element's generatedid(e.g.p:{33f8a242-...}{40}, no#). Ids change after each update; read again before the next change.- Writes that succeed return no content (HTTP 204) for updates and the new object (HTTP 201) for creates.
Pagination: list answers carry @odata.nextLink while more results exist. Call the same tool again with skip set to the $skip value in that link (and the same top). Pages come 20 at a time unless top (at most 100) says otherwise.
Rate limits: Microsoft Graph throttles OneNote per user and per app. A throttled call answers 429 with Retry-After; wait and retry.
Common errors
- 401
InvalidAuthenticationToken: the authorization was revoked or the client secret expired. Paste a new secret if needed and click Authorize with Provider again. - 403 (code 40004 or 40002):
Notes.ReadWriteis missing or not consented, or the notebook is shared read-only with the user. - 404 or code 20102/20112: the id is wrong or the item was deleted.
- 20117: a notebook or section with that name already exists there. 20115/20153/20155: the name has a forbidden character or is too long (notebooks 128, sections 50 characters).
- 20120, 20134 or 20149: the update command's target was not found; read the page again with
include_idstrue. 20121/20122/20141: the action does not fit the target (for example a replace on adata-idparagraph). - 10008 or 20266 on
microsoft_onenote_list_pages: too many OneNote items for a cross-notebook query; list per section. - 30105/30108: the user's OneDrive for Business is not set up yet; the user opens OneDrive once, or the admin checks the licence.
Out of scope here: uploading images or files into pages, ink, page previews, copying pages or sections, and notebooks of groups or SharePoint sites.
Your AI is two clicks away from OneNote (Microsoft 365).
Install the connector, paste your credentials, ask your AI a question. 7-day free trial, no credit card.