Microsoft OneNote
live ProductivitySaaSMicrosoft OneNote via Graph API: browse notebooks and sections, list pages, and read full note content for the signed-in Microsoft 365 user.
Tools
list_notebooks List the OneNote notebooks in the signed-in user's Microsoft 365 / OneNote account. Returns each notebook's id, display name, created/last-modified times, and whether it is the default notebook. Use t
No parameters required.
Try it
list_sections List the sections in a OneNote notebook (Microsoft 365). Pass a notebook_id to list that notebook's sections, or omit it to list all sections across every notebook. Returns each section's id, display
No parameters required.
Try it
list_pages List OneNote pages (Microsoft 365 notes). Pass a section_id to list pages in that section, or omit it to list recent pages across all notebooks (newest first). Optionally filter with a free-text searc
No parameters required.
Try it
get_page_content Get the full HTML content of a single OneNote page (Microsoft 365 note) by its ID. Returns the page body as HTML. Use after list_pages to read a user's OneNote note in full.
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/microsoft_onenote/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' curl -X POST https://gateway.pipeworx.io/microsoft_onenote/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_notebooks","arguments":{}}}' Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("list_notebooks", {}); // Or ask in plain English:
const answer = await px.ask("microsoft onenote via graph api: browse notebooks and sections, list pages, and read full note content for the signed-in microsoft 365 user");