OneNote

MCP server for browsing and interacting with OneNote web app using browser-use automation
  • 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.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational