OneNote-MCP-For-GeminiSpark
OneNote-MCP-For-GeminiSpark
Ein robuster Model Context Protocol (MCP)-Server für die Microsoft OneNote-Integration mit Gemini Spark. Dieses Repository enthält Code, Konfiguration und Beispiele, um OneNote-Inhalte mit GeminiSpark-Workflows zu synchronisieren, OneNote-Notizen in GeminiSpark-fähige Formate zu exportieren und häufige Automatisierungsszenarien zu demonstrieren.
🎯 Was dieses Projekt tut
Verwandeln Sie Ihre OneNote-Notizbücher in eine KI-zugängliche Wissensbasis:
Alle Ihre Notizbücher, Abschnitte und Seiten auflisten
Seiteninhalte lesen für Analysen und Suche
Natürlichsprachliche Abfragen wie „Zeig mir meine DevOps-Notizen“ oder „Finde Seiten zur Projektplanung“
Sichere OAuth-Authentifizierung mit Microsoft Graph API
Ausfallsichere Fehlerbehandlung mit detailliertem Debugging
Related MCP server: OneNote MCP Server
✨ Warum diese Implementierung
Im Gegensatz zu anderen OneNote-MCP-Servern bietet dieser:
✅ Funktioniert tatsächlich – umfassend mit echten OneNote-Daten getestet
✅ Vollständige Funktionalität – alle Kernoperationen von OneNote implementiert
✅ Robuste Authentifizierung – zweistufiger Geräteflow, der Randfälle behandelt
✅ Produktionsreif – ordnungsgemäße Fehlerbehandlung und Protokollierung
✅ Einfache Einrichtung – detaillierte Anweisungen für nicht-technische Benutzer
🚀 Schnellstart
Voraussetzungen
Python 3.10+
uv-Paketmanager (empfohlen) oder pip
Google Gemini-Konto
Microsoft Azure-Konto (kostenlos)
1. uv installieren (falls Sie es nicht haben)
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# or with Homebrew
brew install uv2. Klonen und Einrichten
git clone https://github.com/yourusername/onenote-mcp-server.git
cd onenote-mcp-server
# Create virtual environment and install dependencies
uv sync3. Azure-App-Registrierung
Sie müssen eine Azure-App erstellen, um auf OneNote zuzugreifen. Keine Sorge, es ist kostenlos und dauert nur 5 Minuten:
Gehen Sie zum Azure-Portal (melden Sie sich mit Ihrem Microsoft-Konto an)
Navigieren Sie zu Azure Active Directory → App-Registrierungen → Neue Registrierung
Füllen Sie das Formular aus:
Name: „OneNote MCP Server“ (oder wie Sie möchten)
Unterstützte Kontotypen: „Konten in einem beliebigen Organisationsverzeichnis und persönliche Microsoft-Konten“
Klicken Sie auf Registrieren
Kopieren Sie die Anwendungs-ID (Client-ID) – Sie werden sie benötigen!
4. Berechtigungen hinzufügen
Noch in Ihrer Azure-App:
Gehen Sie zu API-Berechtigungen → Berechtigung hinzufügen
Wählen Sie Microsoft Graph → Delegierte Berechtigungen
Fügen Sie diese Berechtigungen hinzu:
Notes.Read– OneNote-Notizbücher lesenNotes.ReadWrite– OneNote-Inhalte erstellen/ändern (optional, aber empfohlen)User.Read– Benutzerprofil lesenOffline.access– Zugriff auf das Aktualisierungstoken (Refresh Token) erlauben
Klicken Sie auf Administratorzustimmung erteilen (die Schaltfläche oben)
Gehen Sie zu Manifest → Aktualisieren Sie signInAudience auf AzureADandPersonalMicrosoftAccount und requestedAccessTokenVersion auf 2, und speichern Sie.
5. Azure-Aktualisierungstoken generieren (einmalige Aktivität)
Aktualisieren Sie die Azure-Client-ID in refresh_token.py und führen Sie die Datei in der Eingabeaufforderung (cmd) aus.
Ein Browserfenster wird geöffnet. Melden Sie sich mit Ihrer Microsoft-ID an.
Nach erfolgreicher Anmeldung wird in der Eingabeaufforderung ein Token generiert.
6. MCP-Server in der Cloud/lokal bereitstellen
z. B. für die Google Cloud-Bereitstellung führen Sie den folgenden Befehl aus.
gcloud run deploy onenote-mcp-server --source . --region us-central1 --set-env-vars="AZURE_REFRESH_TOKEN=YOUR_AZURE_REFRESH_TOKEN,AZURE_CLIENT_ID=YOUR_ACTUAL_CLIENT_ID" --allow-unauthenticatedNach der Bereitstellung wird die MCP-Server-URL generiert.
7. Benutzerdefinierte Connected App in Gemini Spark einrichten
Klicken Sie auf Connected Apps
Füllen Sie die MCP-Server-URL/sse aus (vergessen Sie nicht, /sse am Ende der URL hinzuzufügen)
Gehen Sie zu den erweiterten Einstellungen → Azure-Client-ID ausfüllen
Klicken Sie auf „Redirect-URI kopieren“ und gehen Sie zum Azure-Portal --> Azure-Client-App --> Authentifizierung --> Redirect-URIs --> URI hinzufügen --> Web --> Fügen Sie den kopierten Link ein --> Entfernen Sie alle anderen Redirect-URIs
Klicken Sie im Dialogfeld „Connected App“ auf „Weiter“ und folgen Sie den Bildschirmanweisungen.
Der OneNote-MCP-Server wird im Bildschirm „Connected App“ erstellt.
Verwendung
Sobald die Connected App eingerichtet ist, versuchen Sie diese Aufgaben in Gemini Spark:
List my OneNote notebooks
Show me sections in my Work notebook
What pages are in my Ideas section?
Read the content of my "Project Plan" page🛠 Fehlerbehebung
„Keine Tools verfügbar“ im Bildschirm „Connected Apps“ in Gemini Spark
Stellen Sie sicher, dass Sie die Redirect-URI vom Bildschirm kopiert und in der Microsoft-Azure-App korrekt aktualisiert haben.
Überprüfen Sie, ob Ihre Cloud-Bereitstellung des MCP-Servers für nicht authentifizierten Zugriff aktiviert ist.
Stellen Sie sicher, dass uv installiert ist:
uv --version
Authentifizierungsprobleme
Safari-OAuth-Probleme: Safari verarbeitet die OAuth-Weiterleitung von Microsoft möglicherweise nicht richtig – verwenden Sie stattdessen Firefox oder Chrome.
„nativeclient“-Eingabeaufforderungen: Normales Microsoft-OAuth-Verhalten, aber wenn die Authentifizierung blockiert wird, versuchen Sie einen anderen Browser.
Empfohlene Browser: Firefox (nachweislich funktionsfähig), Chrome oder Edge für beste Kompatibilität.
Fehler „Befehl nicht gefunden“
Stellen Sie sicher, dass sich uv in Ihrem PATH befindet.
Alternative: Ersetzen Sie
"uv"durch"python"in der Konfiguration und verwenden Sie den vollständigen Pfad zu Ihrem Python-Interpreter.
Fehler „Zugriff verweigert“
Überprüfen Sie die Dateiberechtigungen in Ihrem Projektverzeichnis.
🏗 Entwicklung
Projektstruktur
onenote-mcp-server/
├── onenote_mcp_server.py # Main server implementation
├── pyproject.toml # Dependencies and metadata
├── refresh_token.py # Generate Refresh Token
├── README.md # This file
├── LICENSE # MIT License
└── .gitignore # Git ignore rulesHauptfunktionen
Vollständige Graph-API-Integration: Alle OneNote-Operationen werden unterstützt.
Robuste Fehlerbehandlung: Detaillierte Protokollierung und kontrollierte Fehlerzustände.
FastMCP-Framework: Saubere, wartbare Codestruktur.
Konfiguration über Umgebungsvariablen: Sichere Handhabung von Anmeldeinformationen.
Neue Funktionen hinzufügen
Der Server ist mit FastMCP aufgebaut, wodurch sich leicht neue Tools hinzufügen lassen:
if method == "tools/list":
await custom_send({"type": "http.response.start", "status": 200, "headers": [(b"content-type", b"application/json")]})
tools = [
# Your implementation here
return 🤝 Mitwirken
Beiträge sind willkommen! Bitte:
Forken Sie das Repository
Erstellen Sie einen Feature-Branch
Fügen Sie Tests für neue Funktionen hinzu
Reichen Sie einen Pull-Request ein
📄 Lizenz
MIT-Lizenz – siehe Datei LICENSE für Details.
🙏 Danksagungen
Erstellt mit dem FastMCP-Framework
Verwendet die Microsoft Graph API für den OneNote-Zugriff
Inspiriert von der großartigen Arbeit von purpleslurple
⚠️ Wichtige Hinweise
Dieser Server liest/schreibt nur Daten, auf die Sie bereits Zugriff haben.
Die Anmeldeinformationen Ihrer Azure-App bleiben auf Ihrem Rechner.
Die gesamte Authentifizierung erfolgt direkt zwischen Ihnen und Microsoft.
Es werden keine Daten an Dritte gesendet.
Mit ❤️ erstellt für die Gemini Spark + OneNote-Community
Verwandeln Sie Ihr OneNote in eine KI-zugängliche Wissensbasis!
This server cannot be deployed
Maintenance
Related MCP Connectors
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA pure-local Microsoft OneNote MCP server for Windows that controls the OneNote desktop app through the local OneNote COM API without needing Azure, Microsoft Graph, API keys, or OAuth.1MIT
- AlicenseNot gradedqualityAmaintenanceA local MCP server that lets AI assistants read and edit OneNote pages on Windows via COM automation, without cloud authentication.1MIT
- AlicenseAqualityAmaintenanceMCP server that enables AI assistants to interact with Microsoft OneNote, allowing listing, reading, searching, and creating notes.191MIT
- AlicenseNot gradedqualityDmaintenanceA secure MCP server for Microsoft OneNote via the Graph API, enabling listing/reading notebooks, sections, and pages, with optional gated write tools. Read-only by default and deployable to Azure Container Apps.9 npmMIT