onenote-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ONENOTE_SCOPES | No | Graph permissions. Default: Notes.ReadWrite offline_access | |
| ONENOTE_CLIENT_ID | No | Microsoft application ID. Default: built in, if set by the maintainer | |
| ONENOTE_TENANT_ID | No | Tenant ID: common, consumers, organizations, or a tenant GUID. Default: common | |
| ONENOTE_ALLOW_WRITE | No | Set to false to disable all write tools. Default: true | |
| ONENOTE_SKIP_DOTENV | No | Ignore .env entirely, for predictable config. Default: unset | |
| ONENOTE_TOKEN_CACHE | No | Where credentials are cached. Default: OS config dir | |
| ONENOTE_REDIRECT_PORT | No | Pin the sign-in callback port. Default: random | |
| ONENOTE_DEFAULT_SECTION | No | Section new pages go to when unspecified. Default: unset | |
| ONENOTE_ALLOW_DEVICE_CODE | No | Use device code flow instead of a browser. Default: false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| authStatusA | Report whether the user is signed in to Microsoft, which account is cached, and where the token cache lives. Safe to call at any time; never triggers a sign-in prompt. |
| authenticateA | Begin sign-in to the Microsoft account that owns the OneNote notebooks. Returns immediately with the instruction the user must follow (a browser is opened, or a device code is shown). It does NOT wait for the user to finish -- poll |
| signOutA | Remove the cached Microsoft account and delete the local token cache file. The user must authenticate again afterwards. |
| getOutlineA | START HERE for anything structural. Returns every notebook, section group, and section in ONE call, with IDs and readable paths like "Learn / Cooking". Use this instead of chaining listNotebooks then listSections — it is one request instead of several, and it correctly includes sections nested inside section groups. |
| listNotebooksA | List notebooks only. Prefer |
| listSectionsA | List sections, including those nested inside section groups. Prefer |
| listPagesA | List pages, most recently modified first. Pass a section NAME to scope to one section; omit it to list across all sections. |
| getPageA | Read one page by ID. Returns readable text by default; pass format="html" for the raw XHTML, and includeIds=true if you intend to modify the page afterwards. |
| searchPagesA | Find pages by title (fast — one request). Set searchContent=true to also scan page bodies. OneNote provides no server-side full-text search, so that fetches candidate pages; it runs them in parallel and stops early once enough matches are found, but it is still much slower than a title search. Pass |
| createPageA | Create a new page. Pass the section by NAME — no lookup needed first. If a default section is configured, |
| appendToPageA | Add content to the end (or start) of an existing page without replacing it. |
| createSectionB | Create a new section inside a notebook. |
| deletePageA | Permanently delete a page. This cannot be undone -- confirm the page title with the user before calling. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/JonEricDelaCruz/onenote-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server