- Explore MCP Servers
- OneNoteMCP
Onenotemcp
What is Onenotemcp
This project is a modified version of the MCP (Multi-Channel Platform) designed specifically for OneNote, enabling better integration with personal notebooks. It has been extensively revised to work with the latest Microsoft Graph API for OneNote functionality.
Use cases
The MCP can be used for retrieving and managing personal OneNote notebooks and their contents programmatically. This includes features such as listing notebooks, accessing page contents, and potentially writing to notebooks with appropriate permissions.
How to use
To use the MCP, users need to register an application in Azure, obtain the client ID and secret, and set them in a local .env file along with a directory for caching authentication tokens. The server must be started using Node.js, and users can test functionality by sending JSON-RPC commands once the server is running.
Key features
The MCP includes enhanced functionality for personal notebooks, improved code architecture, performance optimizations such as disk caching for authentication, and the latest API support. It simplifies the codebase by removing unnecessary classes and files, making it more intuitive.
Where to use
The MCP is particularly useful in environments where integration with OneNote is needed, such as personal productivity applications, note-taking tools, or automated workflows that require managing notes, notebooks, and educational content through direct API calls.
Overview
What is Onenotemcp
This project is a modified version of the MCP (Multi-Channel Platform) designed specifically for OneNote, enabling better integration with personal notebooks. It has been extensively revised to work with the latest Microsoft Graph API for OneNote functionality.
Use cases
The MCP can be used for retrieving and managing personal OneNote notebooks and their contents programmatically. This includes features such as listing notebooks, accessing page contents, and potentially writing to notebooks with appropriate permissions.
How to use
To use the MCP, users need to register an application in Azure, obtain the client ID and secret, and set them in a local .env file along with a directory for caching authentication tokens. The server must be started using Node.js, and users can test functionality by sending JSON-RPC commands once the server is running.
Key features
The MCP includes enhanced functionality for personal notebooks, improved code architecture, performance optimizations such as disk caching for authentication, and the latest API support. It simplifies the codebase by removing unnecessary classes and files, making it more intuitive.
Where to use
The MCP is particularly useful in environments where integration with OneNote is needed, such as personal productivity applications, note-taking tools, or automated workflows that require managing notes, notebooks, and educational content through direct API calls.
Content
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" } } } }