Mcp Onenote — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Onenote (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Un serveur Model Context Protocol (MCP) pour Microsoft OneNote, permettant à des agents IA comme Claude Desktop de lire, créer et analyser des notebooks, sections et pages OneNote — y compris l'extraction automatique du contenu des images via Claude Vision.
git clone https://github.com/FRESHSK/mcp_onenote.git
cd mcp_onenote_01
npm installCette étape permet d'obtenir un Client ID pour accéder à l'API Microsoft Graph.
MCP OneNotePublic client/native → http://localhostAprès avoir créé l'app Azure AD, tu dois accorder les permissions nécessaires pour accéder à OneNote.
| Permission | Description |
|---|---|
User.Read | Lire le profil de l'utilisateur connecté |
Notes.Read | Lire les notebooks OneNote |
Notes.Create | Créer des notebooks et pages |
Notes.ReadWrite | Lire et modifier les notebooks OneNote |
ℹ️ Si tu n'es pas admin, les permissions seront accordées lors de la première connexion via Device Code Flow.
Résultat attendu dans Azure Portal :
✅ User.Read (Delegated) - Granted
✅ Notes.Read (Delegated) - Granted
✅ Notes.Create (Delegated) - Granted
✅ Notes.ReadWrite (Delegated) - Grantedcp .env.example .envÉditer .env :
MICROSOFT_CLIENT_ID=ton-client-id-azure
MICROSOFT_TENANT_ID=common
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxx
TOKEN_CACHE_PATH=./token_cache.json⚠️ Ne jamais committer le fichier.env— il est dans.gitignore
Le serveur a besoin d'un token Microsoft pour accéder à OneNote. Lance ce script une fois :
node debug_auth.jsTu verras dans le terminal :
To sign in, use a web browser to open the page
https://microsoft.com/devicelogin and enter the code XXXXXXXXtoken_cache.json sera créé automatiquement✅ Cette étape n'est nécessaire qu'une seule fois. Le token se renouvelle automatiquement.
Éditer le fichier claude_desktop_config.json de Claude Desktop :
C:\Users\<user>\AppData\Roaming\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": {
"onenote": {
"command": "node",
"args": [
"C:\\chemin\\absolu\\vers\\mcp_onenote_01\\server.js"
],
"env": {
"TOKEN_CACHE_PATH": "C:\\chemin\\absolu\\vers\\mcp_onenote_01\\token_cache.json"
}
}
}
}⚠️ Le TOKEN_CACHE_PATH absolu est important pour que Claude Desktop trouve le bon fichier de token.Fermer et relancer Claude Desktop. Le MCP OneNote sera disponible.
| Outil | Description | Paramètres |
|---|---|---|
list_notebooks | Liste tous les notebooks | — |
list_sections | Liste les sections d'un notebook | notebookId |
list_pages | Liste les pages d'une section | sectionId |
read_content | Lit le contenu d'une page (texte + images) | pageId, extract_images (bool, défaut: true) |
create_notebook | Crée un nouveau notebook | displayName |
create_section | Crée une nouvelle section | notebookId, displayName |
create_page | Crée une nouvelle page | sectionId, htmlContent |
Quand extract_images: true (par défaut), le tool read_content :
<img> pointant vers l'API GraphPour désactiver cette fonctionnalité :
read_content(pageId: "...", extract_images: false)mcp_onenote_01/
├── server.js # Serveur MCP principal
├── debug_auth.js # Script d'authentification initiale
├── .env # Variables d'environnement (non commité)
├── .env.example # Template des variables d'environnement
├── .gitignore # Fichiers ignorés par Git
├── claude_desktop_config.json # Exemple de config Claude Desktop
├── token_cache.json # Cache du token MSAL (non commité)
└── package.json # Dépendances Node.js| Package | Usage |
|---|---|
@modelcontextprotocol/sdk | Serveur MCP |
@azure/msal-node | Authentification Microsoft |
@anthropic-ai/sdk | Claude Vision pour les images |
node-fetch | Requêtes HTTP |
dotenv | Variables d'environnement |
.env contenant les clés est dans .gitignoretoken_cache.json contenant les tokens Microsoft est dans .gitignoreLe MCP ne répond pas dans Claude Desktop ? → Vérifier les logs : AppData\Roaming\Claude\logs\mcp-server-onenote.log
Le token expire et redemande l'authentification ? → S'assurer que TOKEN_CACHE_PATH pointe vers le bon chemin absolu dans claude_desktop_config.json → Relancer node debug_auth.js pour renouveler le token
Erreur `media_type` sur les images ? → Le code normalise automatiquement vers image/png si le type n'est pas supporté par l'API Anthropic
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.