- Home
- MCP servers
- OneNote
OneNote
- javascript
4
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"hwillgit-onenote-mcp": {
"command": "python",
"args": [
"-m",
"onenote_mcp"
]
}
}
}You can run a Python-based MCP server that automates browsing and interacting with shared OneNote notebooks. It lets AI assistants navigate notebooks, read and write page content, search, and take screenshots, all through MCP-compatible clients.
How to use
You use the OneNote MCP Server by running it locally or integrating it with an MCP host. Start the server in standalone mode to control OneNote directly from your MCP client, or configure a client to launch the server as part of its MCP setup. Once running, you can launch OneNote with a shared notebook URL, browse notebooks, sections, and pages, read or append page content, create new pages, search Across OneNote, and capture screenshots of the current view. The server maintains state across the session so your workflow can be stateful across multiple actions.
How to install
# Prerequisites
Python 3.10 or higher
Playwright
A Python environment with pip
A shared OneNote notebook URL that is accessible without authentication
# Install the package in editable mode
cd onenote-mcp
pip install -e .
# Install Playwright browsers
playwright install
Run the server in standalone mode
python -m onenote_mcp
## Configuration and usage notes
To integrate the OneNote MCP Server with an MCP host, use the standard Python command to start the server as shown in the example configuration: you can run the server by invoking Python with the module name for the server.
{ "type": "stdio", "name": "onenote", "command": "python", "args": ["-m", "onenote_mcp"] }
## Security and access considerations
Only notebooks shared via a public link (no authentication) are supported. Keep in mind that browser automation can be sensitive to UI changes in the web app, so occasional updates to the server may be needed if the OneNote web interface changes.
## Troubleshooting
If the server cannot connect to OneNote, verify that the shared notebook URL is accessible without login. If selectors fail during automation, the OneNote UI may have changed and you may need to update the automation selectors in the server code. Check the server logs for error messages to guide your fixes.
## Available tools
### launch\_onenote
Launch the OneNote web app with a shared notebook URL to start a session.
### get\_all\_notebooks
List all notebooks available in the current session.
### get\_all\_sections
List all sections within the currently opened notebook.
### get\_all\_pages
List all pages within the current section.
### navigate\_to\_notebook\_by\_name
Navigate to a specific notebook by its name.
### navigate\_to\_section\_by\_name
Navigate to a specific section by name.
### navigate\_to\_page\_by\_name
Navigate to a specific page by name.
### get\_current\_page\_content
Retrieve the content of the currently opened page.
### add\_content\_to\_page
Append content to the current page.
### create\_new\_page\_with\_name
Create a new page with the given name.
### search\_in\_onenote
Search OneNote for specific terms across notebooks, sections, and pages.
### take\_screenshot
Capture a screenshot of the current OneNote view.
### get\_onenote\_state
Return current state information such as current notebook/section/page and session status.
### close\_onenote
Terminate the OneNote session and clean up resources.