Connecteur MCP qui permet a Perplexity Desktop de creer et alimenter des notebooks Google NotebookLM automatiquement.
Teste et fonctionnel sur Windows 10/11 avec Python 3.14, ngrok v3, Perplexity Desktop.
- Ce que ca fait
- Comptes et APIs necessaires
- Prerequis logiciels
- Installation complete
- Tests de connexion
- Demarrage quotidien
- Configuration Perplexity Desktop
- Depannage
- Architecture
Perplexity Desktop -> ngrok (tunnel HTTPS) -> mcp_server.py -> NotebookLM
- Vous posez une question dans Perplexity Desktop
- Perplexity appelle le serveur MCP via ngrok
- Le serveur cree un notebook dans NotebookLM avec la reponse comme source
- Vous retrouvez vos recherches organisees dans NotebookLM
Avant de commencer, vous avez besoin de 3 comptes et leurs cles/tokens. Tout est gratuit.
- Pourquoi : NotebookLM est un service Google. Le CLI
nlmutilise votre compte Google pour creer et modifier des notebooks. - Creer : https://accounts.google.com/signup (gratuit)
- NotebookLM : https://notebooklm.google.com (gratuit, connectez-vous avec votre compte Google)
- Aucune cle API a generer : l'authentification se fait via le navigateur (
nlm auth login).
Limite gratuite : jusqu'a 100 notebooks, 50 sources par notebook.
- Pourquoi : Perplexity Desktop ne peut appeler que des URLs HTTPS publiques. ngrok cree un tunnel securise entre Internet et votre ordinateur.
- Creer : https://ngrok.com (gratuit)
- Obtenir l'Authtoken :
- Connectez-vous sur https://dashboard.ngrok.com
- Allez dans "Your Authtoken" : https://dashboard.ngrok.com/get-started/your-authtoken
- Copiez le token (commence par
2...) - Collez-le dans votre terminal :
ngrok config add-authtoken VOTRE_TOKEN_ICI
Plan gratuit : 1 tunnel actif, URL aleatoire qui change a chaque redemarrage. Plan payant : URL fixe (domaine personnalise).
Ou trouver le token :
https://dashboard.ngrok.com/get-started/your-authtoken
^
Cliquez ici apres connexion
- Pourquoi : Perplexity Desktop (version bureau) supporte le protocole MCP pour appeler des outils externes.
- Telecharger : https://www.perplexity.ai/desktop
- Aucun token API necessaire pour le MCP local : il suffit d'ajouter l'URL du serveur dans les parametres.
- Note : la version web de Perplexity ne supporte pas MCP. Il faut obligatoirement l'application bureau.
| Service | Compte | Token/Cle | Ou le trouver |
|---|---|---|---|
| Google NotebookLM | Compte Google | Aucun (auth navigateur) | https://accounts.google.com |
| ngrok | Compte ngrok | Authtoken | https://dashboard.ngrok.com/get-started/your-authtoken |
| Perplexity Desktop | Compte Perplexity | Aucun (config URL) | https://www.perplexity.ai/desktop |
Telecharger : https://www.python.org/downloads/
IMPORTANT : cochez "Add Python to PATH" lors de l'installation.
Verification :
python --version
# Doit afficher : Python 3.x.xTelecharger : https://ngrok.com/download (choisir Windows)
- Extraire
ngrok.exedans un dossier de votre choix (ex:C:\ngrok\) - Ajouter ce dossier au PATH Windows, ou placer
ngrok.exedansC:\Windows\System32\ - Configurer votre token :
ngrok config add-authtoken VOTRE_TOKEN_ICIVerification :
ngrok version
# Doit afficher : ngrok version 3.x.xpip install notebooklm-cliConnexion a votre compte Google :
nlm auth login
# Un navigateur s'ouvre -> connectez-vous avec votre compte GoogleVerification :
nlm notebook list
# Doit lister vos notebooks NotebookLM existantsTelecharger : https://www.perplexity.ai/desktop
# 1. Cloner le repo
git clone https://github.com/OCLOUX/perplexity-notebooklm-connector.git
cd perplexity-notebooklm-connector
# 2. Lancer le script d'installation
powershell -ExecutionPolicy Bypass -File OCLOUX-NotebookLMConnector.ps1Le script verifie automatiquement Python, ngrok et nlm, puis lance les tests.
# 1. Cloner le repo
git clone https://github.com/OCLOUX/perplexity-notebooklm-connector.git
cd perplexity-notebooklm-connector
# 2. Verifier que tout est installe
python --version
ngrok version
nlm --version
# 3. Verifier la connexion NotebookLM
nlm notebook list
# 4. Lancer les tests de connexion
powershell -ExecutionPolicy Bypass -File test_connection.ps1Avant de configurer Perplexity, verifiez que tout fonctionne :
powershell -ExecutionPolicy Bypass -File test_connection.ps1Ce script verifie dans l'ordre :
- Python disponible
- ngrok disponible
- nlm disponible et authentifie
- Serveur MCP demarre sur le port 3000
- Endpoint
/healthrepond correctement - Endpoint
/mcprepond au protocole JSON-RPC
Sortie attendue :
[1/6] Python.............. OK (3.14.x)
[2/6] ngrok............... OK (3.39.x)
[3/6] nlm................. OK
[4/6] NotebookLM auth..... OK (X notebooks trouves)
[5/6] Serveur MCP......... OK (http://127.0.0.1:3000/health)
[6/6] Protocole MCP....... OK (initialize -> 200)
Tous les tests passent ! Vous pouvez lancer OCLOUX-NotebookLMConnector-start.ps1
Une seule commande pour tout demarrer :
powershell -ExecutionPolicy Bypass -File OCLOUX-NotebookLMConnector-start.ps1Ce script :
- Demarre
mcp_server.pydans une fenetre PowerShell - Demarre
ngrok http 127.0.0.1:3000dans une autre fenetre - Affiche l'URL ngrok a copier dans Perplexity Desktop
- Copie automatiquement l'URL dans le presse-papiers
A relancer a chaque demarrage de Windows (l'URL ngrok change a chaque fois sur le plan gratuit).
- Ouvrez Perplexity Desktop
- Allez dans Settings -> MCP Servers (ou Parametres -> Serveurs MCP)
- Cliquez Add Server / Ajouter un serveur
- Remplissez :
- Name :
NotebookLM - URL :
https://VOTRE-URL.ngrok-free.app/mcp(remplacez par l'URL affichee parOCLOUX-NotebookLMConnector-start.ps1)
- Name :
- Cliquez Save / Enregistrer
- Perplexity detecte automatiquement les 3 outils :
list_notebooks- lister vos notebookscreate_notebook- creer un notebook avec du texteadd_source_to_notebook- ajouter une source a un notebook existant
L'URL ngrok change a chaque redemarrage (plan gratuit). Pensez a la mettre a jour dans Perplexity.
ngrok ne trouve pas le serveur. Verifiez que mcp_server.py est bien demarre :
curl http://127.0.0.1:3000/health
# Doit repondre : {"ok": true, "server": "notebooklm-mcp", "version": "8.2.0"}Si pas de reponse -> relancer le serveur :
cd mcp_server
python mcp_server.pyngrok doit etre lance avec
ngrok http 127.0.0.1:3000(IPv4 explicite), pasngrok http 3000qui peut utiliser IPv6[::1]sur Windows et echouer.
Windows curl utilise IPv6 par defaut. Utilisez toujours :
curl http://127.0.0.1:3000/health # OK - IPv4 explicite
# et NON :
curl http://localhost:3000/health # peut aller sur [::1]nlm auth login
# Reconnectez-vous avec votre compte Googlenetstat -ano | findstr :3000
# Notez le PID, puis :
taskkill /PID <PID> /FC'est normal - Perplexity / ngrok ferme parfois la connexion apres avoir recu la reponse. Le serveur l'ignore silencieusement depuis la v8.2.
perplexity-notebooklm-connector/
|-- README.md <- Ce fichier
|-- OCLOUX-NotebookLMConnector.ps1 <- Script d'installation automatique
|-- OCLOUX-NotebookLMConnector-start.ps1 <- Demarrage tout-en-un (serveur + ngrok)
|-- test_connection.ps1 <- Tests de connexion complets (6 etapes)
`-- mcp_server/
|-- mcp_server.py <- Serveur MCP HTTP (v8.2)
|-- start_mcp_server.ps1 <- Demarrer le serveur seul
`-- start_with_ngrok.ps1 <- Demarrer serveur + ngrok
[Perplexity Desktop]
|
| HTTPS POST /mcp (JSON-RPC 2.0, spec MCP 2025-06-18)
v
[ngrok tunnel] (https://xxx.ngrok-free.app)
| forward vers
v
[mcp_server.py :3000] <- ThreadingHTTPServer Python sur 127.0.0.1
| appelle
v
[nlm CLI] <- notebooklm-cli (pip)
| API Google OAuth
v
[Google NotebookLM] <- https://notebooklm.google.com
| Outil | Description | Parametres |
|---|---|---|
list_notebooks |
Liste tous vos notebooks | aucun |
create_notebook |
Cree un notebook avec du texte | title, text, source_title, urls |
add_source_to_notebook |
Ajoute une source a un notebook existant | notebook_id, text ou url, source_title |
| Version | Changements |
|---|---|
| v8.2 | ThreadingHTTPServer - resout les 502 ngrok sur requetes simultanees |
| v8.1 | HOST force sur 127.0.0.1 - resout ERR_NGROK_8012 (IPv6) |
| v8 | do_DELETE ajoute - resout 501 sur fermeture de session MCP |
| v7 | Mcp-Session-Id - spec MCP 2025-06-18 |
Projet maintenu par OCLOUX