Skip to main content
Glama

OneNote MCP Server

by hwillGIT
README.md3.56 kB
# 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 ```bash # 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: ```bash 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: ```json { "mcpServers": { "onenote": { "command": "python", "args": ["-m", "onenote_mcp"] } } } ``` 2. Launch Claude Desktop, which will automatically start the OneNote MCP server 3. 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

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hwillGIT/onenote-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server