8 nouveaux tools MCP (set_session_credentials, clear_session_credentials, create_document, delete_document, move_document, duplicate_document, update_document_title, list_my_documents) qui nécessitent un cookie de session Docs valide. La config DOCS_INSTANCE_URL devient optionnelle : l'instance est détectée depuis les liens.
- Lancer le serveur MCP sans
DOCS_INSTANCE_URLdans l'env. - Appeler
list_documentsvia tools/call → réponse attendue :{code: "INSTANCE_NOT_SET", ...}. - Appeler
read_document({doc_url: "https://notes.liiib.re/docs/<UUID>/"})→ l'instance est settled, le doc est lu. - Appeler
list_documentsà nouveau → marche.
- Récupérer ton
docs_sessionidetcsrftokendepuis Chrome ou Firefox (cf. README). - Appeler
set_session_credentials({docs_sessionid, csrftoken}). - Appeler
create_document({title: "Test"})→ un doc top-level est créé chez toi. - Appeler
create_document({title: "Sub", parent_id: <id>})→ un sous-doc est créé sous le précédent. - Vérifier sur
notes.liiib.re/docs/qu'ils sont bien listés sous ton compte. - Cleanup :
delete_document({doc_id: <id_top>}).
set_session_credentials({docs_sessionid: "...", csrftoken: "...", instance_url: "https://notes.liiib.re"}).read_document({doc_url: "https://other-docs.example/docs/<UUID>/"})→ réponse attendue :INSTANCE_MISMATCH.clear_session_credentials()(n'affecte pas l'instance).- Recommencer avec une URL de la nouvelle instance + nouveau
set_session_credentials({..., instance_url: "https://other-docs.example"}).
Difficile à tester en moins de 12h. Alternative :
set_session_credentials({docs_sessionid: "valeur_invalide", csrftoken: "..."}).- Appeler
create_document({title: "x"})→ le serveur retourne401/403, le client renvoieAUTH_REQUIREDvariant "expired".
Tester unitairement : console.log(store) après set ne révèle pas la valeur (cf. tests/credentials.test.ts).
export DOCS_INSTANCE_URL=https://notes.liiib.reexport DOCS_INTEGRATION_SESSIONID=<valeur>export DOCS_INTEGRATION_CSRFTOKEN=<valeur>npm run test:integration:auth- Sortie attendue : 8 étapes,
✅ v0.2 integration test PASSED. Tous les docs créés sont supprimés à la fin.
- Compat v0.1 préservée : si
DOCS_INSTANCE_URLest définie, le MCP fonctionne exactement comme avant. - Lecture de docs publics : reste anonyme, pas de credentials nécessaires (comportement v0.1 préservé).