onenote-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ONENOTE_ACCESS_TOKEN | No | Manual token override (bypasses OAuth) | |
| ONENOTE_OAUTH_CLIENT_ID | No | OAuth client ID | |
| ONENOTE_OAUTH_CLIENT_SECRET | No | OAuth client secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list-notebooksA | List all OneNote notebooks accessible to the authenticated user. Returns notebook names, IDs, and metadata. Use this to discover available notebooks before accessing sections or pages. |
| get-notebookA | Get detailed information about a specific OneNote notebook by its ID, including its sections and section groups. Use list-notebooks first to find the notebook ID. |
| list-section-groupsA | List section groups. When notebookId is provided, lists section groups in that notebook. Otherwise lists all section groups across all notebooks. |
| get-section-groupA | Get detailed information about a specific section group, including its sections and nested section groups. |
| list-sectionsA | List sections. Provide notebookId to list sections in a notebook, sectionGroupId to list sections in a section group, or omit both to list all sections across all notebooks. |
| get-sectionA | Get detailed information about a specific section by its ID, including its parent notebook. |
| create-sectionA | Create a new section. Provide notebookId to create in a notebook, or sectionGroupId to create inside a section group. Exactly one parent must be specified. Section names must be unique within the same hierarchy level, max 50 characters, and cannot contain: ? * / : < > | & # ' % ~ |
| list-pagesA | List pages in a specific section. Returns page titles, IDs, and metadata. Always specify a sectionId to avoid errors on accounts with many sections. |
| get-pageA | Get metadata for a specific OneNote page by its ID. Returns title, timestamps, and parent info but NOT the page content. Use get-page-content to retrieve the actual HTML content. |
| get-page-contentA | Get the full HTML content of a OneNote page. The content is returned as HTML which represents the page's text, images, tables, and formatting. Use includeIds=true if you plan to update the page afterward. |
| get-page-previewA | Get a text preview of a OneNote page (up to 300 characters). Useful for quickly scanning page content without fetching the full HTML. |
| create-pageA | Create a new page in a OneNote section. The content should be provided as HTML. The HTML must be valid XHTML with a title in the tag. At minimum, provide a title; the body can be empty for a blank page. |
| update-pageA | Update the content of an existing OneNote page using JSON patch commands. Each patch specifies a target element, an action (append, insert, replace), and content. Before updating, use get-page-content with includeIds=true to get element IDs for targeting. |
| delete-pageA | Permanently delete a OneNote page. This action cannot be undone. The page is immediately and permanently removed. |
| search-pagesA | Search for OneNote pages by keyword. Searches page titles and content (including OCR text from images). Optionally scope the search to a specific section. Returns matching page metadata. |
| get-notebook-hierarchyA | Get the complete hierarchy of all notebooks, section groups, and sections. Returns a tree structure: Notebooks > Section Groups > Sections (recursively for nested section groups). This is the most efficient way to understand the user's OneNote organization. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarize-page | Summarize the content of a specific OneNote page. Fetches the page content and generates a structured summary. |
| search-notes | Help the user search across their OneNote notes. Guides through a search workflow using available tools. |
| create-note | Guide the user through creating a new OneNote page. Helps select the target notebook and section, then creates the page. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| notebooks-list | List of all OneNote notebooks accessible to the authenticated user |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jacob-hartmann/onenote-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server