OneNote MCP
An MCP server for Microsoft OneNote that supports personal notebooks and caches credentials for authentication.
Forked from ZubeidHendricks/azure-onenote-mcp-server see that page for the original README.md
About
An MCP for OneNote. Forked and revised extensively, now works with personal notebooks. Updated to the latest MCP API. Supports caching credentials.
Improvements
Functionality
- Fixed
getPageContent
functionality by implementing ReadableStream - Successfully implemented API calls against personal notebooks
- Updated index and tools to use the latest MCP version
Code Architecture
- Simplified codebase by removing classes that weren't necessary
- Many unnecessary files removed
Authentication & Performance
- Implemented disk caching for authentication credentials
- Updated package dependencies
- Added dotenv support for direct testing capabilities
Azure App Registration
- Go to Azure Portal and navigate to App registrations
- Create a new registration for OneNoteMCP
- Add Microsoft Graph API permissions:
- Notes.Read
- Notes.Read.All
- (optionally add Notes.Write permissions, but there is a risk of losing your notes)
- Create a client secret
- Copy the client ID/secret for configuration
- In the manifest set
signInAudience
toAzureADandPersonalMicrosoftAccount
MCP Server setup
Put the client ID/secret n your .env
file locally as well as in Claude desktop.
The AUTH_CACHE_DIR
should be the directory where you want the generated API access token to be stored.
AZURE_CLIENT_ID=\
AZURE_CLIENT_SECRET=
AUTH_CACHE_DIR="C:\\git\\azure-onenote-mcp-server\\.cache"
Run server manually first to generate the credentials that will be cached and used by Claude desktop when it runs the server later on.
npm install
npm build
npm run
You can test the API works by running this command directly once the server starts up and logs in.
{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "listNotebooks", "arguments": {}}}
Claude MCP config
{
"mcpServers": {
"onenote": {
"command": "node",
"args": ["C:\\git\\azure-onenote-mcp-server\\dist\\index.js"],
"env": {
"AZURE_CLIENT_ID": "...",
"AZURE_CLIENT_SECRET": "...",
"AUTH_CACHE_DIR": "C:\\git\\azure-onenote-mcp-server\\.cache"
}
}
}
}
Related Servers
YouTube Uploader MCP
Upload videos to YouTube using OAuth2 authentication. Requires a Google OAuth 2.0 client secret file.
Offorte
Create and send business proposals using AI with Offorte.
Notion
Connects AI assistants to your Notion workspace, allowing you to search, create, and manage content using natural language.
Jean Memory
Premium memory consistent across all AI applications.
Trello
Interact with Trello boards, lists, and cards using the Trello REST API.
Unreasonable Thinking Server
A tool for bold and unconventional problem-solving, generating unique solutions by branching and tracking thoughts.
Canvas Assignment Assistant
Programmatically interact with Canvas/Instructure courses and assignments.
Splid MCP
A Model Context Protocol (MCP) server that exposes Splid (splid.app) via tools, powered by the reverse‑engineered splid-js client.
Twenty CRM
Interact with the Twenty CRM API through chat-based tools.
Jira & Confluence MCP Servers
MCP servers for interacting with Jira and Confluence APIs.