OneNote MCP Server

OneNote MCP Server avatar

by hwillGIT

onenotemcpBrowser Automation

MCP server for browsing and interacting with OneNote web app using browser-use automation

What is OneNote MCP Server

OneNote MCP Server

An MCP (Model Context Protocol) server for browsing and interacting with OneNote web app using browser automation. This server enables AI assistants and other MCP-compatible clients to programmatically browse and interact with OneNote notebooks that are shared via web links.

Features

  • Navigate OneNote's hierarchical structure (notebooks, sections, pages)
  • Read page content from OneNote
  • Add new content to existing pages
  • Create new pages
  • Search within OneNote
  • Take screenshots of the current view
  • Maintain state across the session

Requirements

  • Python 3.10 or higher
  • browser-use 0.1.40 or higher
  • MCP SDK 1.2.0 or higher
  • Playwright
  • Internet connection
  • A shared OneNote notebook URL (must be accessible without authentication)

Installation

# Clone the repository or create the project structure
# Then navigate to the project directory
cd onenote-mcp

# Install the package and dependencies
pip install -e .

# Install Playwright browsers
playwright install

Usage

Standalone Mode

You can run the server directly with:

python -m onenote_mcp

Integration with Claude Desktop or other MCP hosts

  1. Configure your Claude Desktop to use the OneNote MCP server by editing the configuration file:
{
  "mcpServers": {
    "onenote": {
      "command": "python",
      "args": ["-m", "onenote_mcp"]
    }
  }
}
  1. Launch Claude Desktop, which will automatically start the OneNote MCP server
  2. Use the available tools in your chat with Claude:
Can you help me navigate my OneNote notebook at https://example.com/my-shared-notebook? 
First, please launch OneNote with this URL and tell me what notebooks are available.

Available Tools

  • launch_onenote(shared_url): Launch the OneNote web app with a shared notebook URL
  • get_all_notebooks(): List all available notebooks
  • get_all_sections(): List all sections in the current notebook
  • get_all_pages(): List all pages in the current section
  • navigate_to_notebook_by_name(notebook_name): Go to a specific notebook
  • navigate_to_section_by_name(section_name): Go to a specific section
  • navigate_to_page_by_name(page_name): Go to a specific page
  • get_current_page_content(): Get the content of the current page
  • add_content_to_page(content): Add content to the current page
  • create_new_page_with_name(page_name): Create a new page
  • search_in_onenote(search_term): Search OneNote for specific terms
  • take_screenshot(): Take a screenshot of the current view
  • get_onenote_state(): Get the current state information
  • close_onenote(): Close the OneNote session and clean up resources

How It Works

This MCP server uses browser-use, a browser automation framework, to interact with the OneNote web interface. It creates a bridge between MCP-compatible AI assistants and the OneNote web application, enabling programmatic control of OneNote functions.

Limitations

  • Only works with OneNote notebooks that are shared with a public link (no authentication)
  • The server may need adjustments if the OneNote web interface changes
  • Browser automation can be somewhat fragile and dependent on the UI structure
  • Performance may vary based on network conditions and OneNote's responsiveness

Troubleshooting

  • If the server fails to connect to OneNote, ensure the shared link is accessible without login
  • If selectors fail, the OneNote UI may have changed - check the server code
  • For other issues, check the server logs for error details

License

MIT

Leave a Comment

Comments section will be available soon. Stay tuned!

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.