Skip to main content
Glama

onenote-mcp

Ein lokaler MCP-Server, mit dem Claude deine OneNote-Notizbücher lesen kann – einschließlich der Bilder, die du hineingefügt hast.

Er spricht mit der OneNote-Desktop-Anwendung über deren COM-Schnittstelle. Es gibt keine Azure-App-Registrierung und keine Mandantenzustimmung. Nichts verlässt den Rechner.

Warum es das gibt

Der Microsoft 365-Connector unterstützt OneNote nicht. Er lehnt Anfragen mit mime type 'application/msonenote' is not allowed ab. Jede Graph-API-Route benötigt eine Entra-App-Registrierung mit Notes.ReadWrite.All, was in einem Unternehmensmandanten eine IT-Anfrage bedeutet. Die Desktop-COM-API braucht keins von beidem.

Related MCP server: MCP OneNote Server

Was er kann

  • Durchsucht jedes geöffnete Notizbuch, einschließlich des Texts in eingefügten Screenshots, denn der eigene Suchindex von OneNote deckt auch OCR ab.

  • Liest eine Seite als Text, zusammen mit einer Liste der Bilder auf der Seite.

  • Gibt diese Bilder als Abbildungen zurück, verkleinert, damit sie sinnvoll in ein Transkript passen.

Er ist schreibgeschützt. Er kann nichts ändern, erstellen oder löschen.

Voraussetzungen

  • Windows mit installierter OneNote-Desktop-Anwendung. Die OneNote-App aus dem Microsoft Store ist ein anderes Programm und hat keine COM-Schnittstelle.

  • Python 3.11 oder neuer. Die Bitarchitektur (32-Bit oder 64-Bit) spielt keine Rolle.

Installieren

python -m venv .venv
.venv\Scripts\python.exe -m pip install -e .

Registrieren

.mcp.json in diesem Projektordner registriert den Server für dieses Projekt. Um ihn überall zu verwenden:

claude mcp add onenote -s user -- C:\path\to\onenote_COM_mcp\.venv\Scripts\python.exe -m onenote_mcp.server

Der gleiche Befehl funktioniert für Claude Desktop und die VS-Code-Erweiterung.

Tools

Tool

Was es dir liefert

list_notebooks

Geöffnete Notizbücher und deren Abschnitte, sowie ob jedes Notizbuch persönlich oder auf einer Teamwebsite liegt

list_pages

Die Seiten unter einem Notizbuch, einer Abschnittsgruppe oder einem Abschnitt

search_pages

Seiten, die zu einer Suche passen, bereichsübergreifend oder unter einer eingeschränkten Gültigkeitsbereich

get_page

Eine Seite als Text plus eine Auflistung ihrer enthaltenen Bilder. Keine Pixel.

get_page_images

Die Bilder, nach Index, verkleinert auf max_edge

get_page und get_page_images sind bewusst getrennt. Eine Seite kann ein Dutzend Screenshots in Originalgröße enthalten, und das Lesen ihres Texts sollte nicht alle davon ins Gespräch ziehen.

Frag get_page nach include_ocr, wenn du den Text haben möchtest, den OneNote in einem Bild erkannt hat. Das reicht oft, um eine Frage zu beantworten, ohne das Bild überhaupt abzurufen.

Der erste Aufruf ist langsam

Der Serverkontakt nimmt OneNote erst beim ersten Tool-Aufruf auf. Dieser Aufruf startet OneNote, falls es geschlossen ist, was eine Weile dauern kann. Spätere Aufrufe sind schnell: Ein Abschnitt mit zehn Seiten liest sich in etwa zwei Sekunden.

Entwicklung

.venv\Scripts\python.exe -m pytest        # no OneNote needed
.venv\Scripts\python.exe tools\smoke.py   # live check, needs OneNote

Lies CLAUDE.md, bevor du com.py änderst. Die COM-Schnittstelle hat zwei Fallstricke, deren Entdeckung einen Tag kostet, und einer davon beendet den OneNote-Prozess.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables Claude to read and write to local Microsoft OneNote notebooks by parsing backup files and utilizing the OneNote COM API. It allows for searching notes, creating pages, and appending content without requiring Azure registration or API keys.
    10
    4
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables Claude to sign in with a Microsoft account and read, write, search, create, move, and organize notebooks, section groups, sections, and pages, including drawing Mermaid or SVG diagrams rendered into notes. It also fetches embedded images and page contents as Markdown so handwritten-note workflows and checkboxes can be managed conversationally.
    19 npm
    MIT

Appeared in Searches