
Microsoft OneNote MCP Server
概览
The OneNote MCP Server is a powerful Model Context Protocol (MCP) server that enables AI language models (LLMs) like Claude, and other AI assistants, to securely interact with your Microsoft OneNote data. It allows for reading, writing, searching, and comprehensive editing of your OneNote notebooks, sections, and pages directly through your AI interface. This server provides a rich set of tools for advanced OneNote management, including robust text extraction, HTML content processing, and fine-grained page manipulation. - ✅ - Microsoft Graph does the work, not your machine - ✅ - fetches only top N recent pages (e.g., 70 pages for 7 days) - ✅ - no more pagination through thousands of pages - ✅ - from 60+ seconds to <5 seconds typical - ✅ - 90%+ reduction in API calls - ✅ - adjusts fetch size based on time window The server now properly supports Microsoft Teams/SharePoint notebooks with instant performance: - ✅ - survives server restarts, loads instantly (.notebook-cache.
README
以下为原文 README 节选,完整内容请查看原文。
OneNote MCP Server
The OneNote MCP Server is a powerful Model Context Protocol (MCP) server that enables AI language models (LLMs) like Claude, and other AI assistants, to securely interact with your Microsoft OneNote data. It allows for reading, writing, searching, and comprehensive editing of your OneNote notebooks, sections, and pages directly through your AI interface.
This server provides a rich set of tools for advanced OneNote management, including robust text extraction, HTML content processing, and fine-grained page manipulation.
🆕 Latest Updates (February 2026)
Query Optimization with $orderby and $top - 10-30x Performance Boost!
- ✅ Server-side sorting - Microsoft Graph does the work, not your machine
- ✅ Smart limiting - fetches only top N recent pages (e.g., 70 pages for 7 days)
- ✅ Single API call - no more pagination through thousands of pages
- ✅ Response time - from 60+ seconds to <5 seconds typical
- ✅ Rate limit friendly - 90%+ reduction in API calls
- ✅ Dynamic optimization - adjusts fetch size based on time window
Team Notebooks Support with Progressive Loading! The server now properly supports Microsoft Teams/SharePoint notebooks with instant performance:
- ✅ Disk-persisted cache - survives server restarts, loads instantly (
.notebook-cache.json) - ✅ Progressive loading - personal notebooks in <2s, teams load in background
- ✅ No timeouts - works perfectly with 50+ teams
- ✅ Cache utility -
refresh-cache.mjsto pre-populate cache for other apps - ✅ Access team notebooks from SharePoint sites
- ✅ List sections in team notebooks (no more “resource ID does not exist” errors)
- ✅ Search and get recent changes in team notebooks
- ✅ Fixed display name issues (
undefined→ proper names) - ✅ Full site-based endpoint routing — all tools (read, search, create, edit) now route through
/sites/{siteId}/onenotefor SharePoint notebooks instead of failing via/me/onenote - ✅ Edit team notebook pages — updatePageContent, appendToPage, replaceTextInPage, addNoteToPage, addTableToPage all work with team notebooks
- ✅ Create pages in team notebooks — createDailyNote and createPage now support team notebooks
- ✅ getPageByTitle searches team notebooks when personal search finds no match
Team Notebooks Documentation →
Features
- Authentication: Secure device code flow for Microsoft Graph API access.
- Read Operations:
- List notebooks, sections, and pages with full pagination support.
- Search pages by title across all notebooks.
- Advanced date-based searching across all notebooks and sections.
- Filter pages by creation or modification date (e.g., find all notes from today).
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"onenote": {
"command": "node",
"args": ["/full/path/to/your/onenote-ultimate-mcp-server/onenote-mcp.mjs"],
"env": {
// Recommended: Set AZURE_CLIENT_ID here if not set globally
"AZURE_CLIENT_ID": "YOUR_AZURE_APP_CLIENT_ID_HERE"
}
}
}
}