@roomi-fields/notebooklm-mcp 1.5.2 → 1.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -22
- package/README.md +219 -201
- package/deployment/INDEX.md +0 -0
- package/deployment/PACKAGE-FILES.txt +180 -180
- package/deployment/QUICK-START.md +0 -0
- package/deployment/docs/01-INSTALL.md +0 -0
- package/deployment/docs/02-CONFIGURATION.md +0 -0
- package/deployment/docs/03-API.md +99 -13
- package/deployment/docs/04-N8N-INTEGRATION.md +0 -0
- package/deployment/docs/05-TROUBLESHOOTING.md +0 -0
- package/deployment/docs/06-NOTEBOOK-LIBRARY.md +0 -0
- package/deployment/docs/07-AUTO-DISCOVERY.md +0 -0
- package/deployment/docs/08-DOCKER.md +303 -0
- package/deployment/docs/08-WSL-USAGE.md +0 -0
- package/deployment/docs/09-MULTI-INTERFACE.md +0 -0
- package/deployment/docs/10-CONTENT-MANAGEMENT.md +0 -0
- package/deployment/docs/11-MULTI-ACCOUNT.md +0 -0
- package/deployment/docs/README.md +9 -2
- package/deployment/scripts/README.md +0 -0
- package/deployment/scripts/install.ps1 +114 -114
- package/deployment/scripts/setup-auth.ps1 +217 -217
- package/deployment/scripts/start-server.ps1 +72 -72
- package/deployment/scripts/stop-server.ps1 +51 -51
- package/deployment/scripts/test-api.ps1 +651 -651
- package/deployment/scripts/test-auth.ps1 +0 -0
- package/deployment/scripts/test-auto-discovery.ps1 +295 -295
- package/deployment/scripts/test-cors.ps1 +398 -398
- package/deployment/scripts/test-errors.ps1 +581 -581
- package/deployment/scripts/test-server.ps1 +140 -140
- package/deployment/scripts/test-sessions.ps1 +426 -426
- package/deployment/scripts/test-validation.ps1 +299 -299
- package/dist/accounts/account-manager.d.ts +15 -0
- package/dist/accounts/account-manager.d.ts.map +1 -1
- package/dist/accounts/account-manager.js +104 -0
- package/dist/accounts/account-manager.js.map +1 -1
- package/dist/accounts/auto-login-manager.d.ts +0 -0
- package/dist/accounts/auto-login-manager.d.ts.map +1 -1
- package/dist/accounts/auto-login-manager.js +45 -28
- package/dist/accounts/auto-login-manager.js.map +1 -1
- package/dist/accounts/crypto.d.ts +0 -0
- package/dist/accounts/crypto.d.ts.map +0 -0
- package/dist/accounts/crypto.js +0 -0
- package/dist/accounts/crypto.js.map +0 -0
- package/dist/accounts/index.d.ts +0 -0
- package/dist/accounts/index.d.ts.map +0 -0
- package/dist/accounts/index.js +0 -0
- package/dist/accounts/index.js.map +0 -0
- package/dist/accounts/types.d.ts +0 -0
- package/dist/accounts/types.d.ts.map +0 -0
- package/dist/accounts/types.js +0 -0
- package/dist/accounts/types.js.map +0 -0
- package/dist/auth/auth-manager.d.ts +1 -1
- package/dist/auth/auth-manager.d.ts.map +1 -1
- package/dist/auth/auth-manager.js +33 -13
- package/dist/auth/auth-manager.js.map +1 -1
- package/dist/auto-discovery/auto-discovery.d.ts +0 -0
- package/dist/auto-discovery/auto-discovery.d.ts.map +0 -0
- package/dist/auto-discovery/auto-discovery.js +0 -0
- package/dist/auto-discovery/auto-discovery.js.map +0 -0
- package/dist/cli/accounts.d.ts +0 -0
- package/dist/cli/accounts.d.ts.map +0 -0
- package/dist/cli/accounts.js +0 -0
- package/dist/cli/accounts.js.map +0 -0
- package/dist/cli/de-auth.d.ts +0 -0
- package/dist/cli/de-auth.d.ts.map +0 -0
- package/dist/cli/de-auth.js +0 -0
- package/dist/cli/de-auth.js.map +0 -0
- package/dist/cli/help.d.ts +0 -0
- package/dist/cli/help.d.ts.map +0 -0
- package/dist/cli/help.js +0 -0
- package/dist/cli/help.js.map +0 -0
- package/dist/cli/setup-auth.d.ts +0 -0
- package/dist/cli/setup-auth.d.ts.map +0 -0
- package/dist/cli/setup-auth.js +18 -10
- package/dist/cli/setup-auth.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -1
- package/dist/config.js.map +1 -1
- package/dist/content/content-generator.d.ts +0 -0
- package/dist/content/content-generator.d.ts.map +0 -0
- package/dist/content/content-generator.js +0 -0
- package/dist/content/content-generator.js.map +0 -0
- package/dist/content/content-manager.d.ts +0 -0
- package/dist/content/content-manager.d.ts.map +0 -0
- package/dist/content/content-manager.js +0 -0
- package/dist/content/content-manager.js.map +0 -0
- package/dist/content/content-templates.d.ts +0 -0
- package/dist/content/content-templates.d.ts.map +0 -0
- package/dist/content/content-templates.js +0 -0
- package/dist/content/content-templates.js.map +0 -0
- package/dist/content/index.d.ts +0 -0
- package/dist/content/index.d.ts.map +0 -0
- package/dist/content/index.js +0 -0
- package/dist/content/index.js.map +0 -0
- package/dist/content/types.d.ts +0 -0
- package/dist/content/types.d.ts.map +0 -0
- package/dist/content/types.js +0 -0
- package/dist/content/types.js.map +0 -0
- package/dist/errors.d.ts +0 -0
- package/dist/errors.d.ts.map +0 -0
- package/dist/errors.js +0 -0
- package/dist/errors.js.map +0 -0
- package/dist/http-wrapper.d.ts +0 -0
- package/dist/http-wrapper.d.ts.map +1 -1
- package/dist/http-wrapper.js +275 -7
- package/dist/http-wrapper.js.map +1 -1
- package/dist/i18n/en.json +0 -0
- package/dist/i18n/fr.json +0 -0
- package/dist/i18n/index.d.ts +0 -0
- package/dist/i18n/index.d.ts.map +0 -0
- package/dist/i18n/index.js +0 -0
- package/dist/i18n/index.js.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +0 -0
- package/dist/index.js.map +0 -0
- package/dist/library/notebook-library.d.ts +0 -0
- package/dist/library/notebook-library.d.ts.map +0 -0
- package/dist/library/notebook-library.js +0 -0
- package/dist/library/notebook-library.js.map +0 -0
- package/dist/library/types.d.ts +0 -0
- package/dist/library/types.d.ts.map +0 -0
- package/dist/library/types.js +0 -0
- package/dist/library/types.js.map +0 -0
- package/dist/session/browser-session.d.ts +0 -0
- package/dist/session/browser-session.d.ts.map +1 -1
- package/dist/session/browser-session.js +215 -91
- package/dist/session/browser-session.js.map +1 -1
- package/dist/session/session-manager.d.ts +0 -0
- package/dist/session/session-manager.d.ts.map +0 -0
- package/dist/session/session-manager.js +0 -0
- package/dist/session/session-manager.js.map +0 -0
- package/dist/session/shared-context-manager.d.ts +0 -0
- package/dist/session/shared-context-manager.d.ts.map +1 -1
- package/dist/session/shared-context-manager.js +38 -5
- package/dist/session/shared-context-manager.js.map +1 -1
- package/dist/startup/startup-manager.d.ts +60 -0
- package/dist/startup/startup-manager.d.ts.map +1 -0
- package/dist/startup/startup-manager.js +468 -0
- package/dist/startup/startup-manager.js.map +1 -0
- package/dist/stdio-http-proxy.d.ts +0 -0
- package/dist/stdio-http-proxy.d.ts.map +0 -0
- package/dist/stdio-http-proxy.js +91 -16
- package/dist/stdio-http-proxy.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +55 -34
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +0 -0
- package/dist/types.d.ts.map +0 -0
- package/dist/types.js +0 -0
- package/dist/types.js.map +0 -0
- package/dist/utils/citation-extractor.d.ts +6 -7
- package/dist/utils/citation-extractor.d.ts.map +1 -1
- package/dist/utils/citation-extractor.js +138 -303
- package/dist/utils/citation-extractor.js.map +1 -1
- package/dist/utils/cleanup-manager.d.ts +0 -0
- package/dist/utils/cleanup-manager.d.ts.map +0 -0
- package/dist/utils/cleanup-manager.js +0 -0
- package/dist/utils/cleanup-manager.js.map +0 -0
- package/dist/utils/logger.d.ts +0 -0
- package/dist/utils/logger.d.ts.map +0 -0
- package/dist/utils/logger.js +0 -0
- package/dist/utils/logger.js.map +0 -0
- package/dist/utils/page-utils.d.ts +0 -0
- package/dist/utils/page-utils.d.ts.map +1 -1
- package/dist/utils/page-utils.js +12 -13
- package/dist/utils/page-utils.js.map +1 -1
- package/dist/utils/stealth-utils.d.ts +0 -0
- package/dist/utils/stealth-utils.d.ts.map +0 -0
- package/dist/utils/stealth-utils.js +0 -0
- package/dist/utils/stealth-utils.js.map +0 -0
- package/docs/ADDING_A_LANGUAGE.md +0 -0
- package/docs/ARCHITECTURE_MIGRATION_STUDY.md +0 -0
- package/docs/CHROME_PROFILE_LIMITATION.md +0 -0
- package/docs/MULTI_ACCOUNT_SYSTEM.md +0 -0
- package/docs/archive/auto-discovery-complet.md +906 -0
- package/package.json +4 -2
- package/scripts/add-totp.ts +110 -0
- package/scripts/archive/add-and-activate-notebook.ps1 +0 -0
- package/scripts/archive/add-new-notebook.ps1 +0 -0
- package/scripts/archive/add-rom1pey.ps1 +0 -0
- package/scripts/archive/add-rpmonster.ps1 +0 -0
- package/scripts/archive/add-source-debug.ps1 +0 -0
- package/scripts/archive/add-source-e2e.ps1 +0 -0
- package/scripts/archive/add-source-visible.ps1 +0 -0
- package/scripts/archive/add-test-notebook.ps1 +0 -0
- package/scripts/archive/add-test-source.ps1 +0 -0
- package/scripts/archive/capture-screen.ps1 +0 -0
- package/scripts/archive/change-language.mjs +0 -0
- package/scripts/archive/change-language.ts +0 -0
- package/scripts/archive/check-account.ps1 +0 -0
- package/scripts/archive/check-notebook-2.ps1 +0 -0
- package/scripts/archive/check-test-notebook.ps1 +0 -0
- package/scripts/archive/create-notebook-auto.ps1 +0 -0
- package/scripts/archive/create-notebook.ps1 +0 -0
- package/scripts/archive/create-rom1pey-notebook.ps1 +0 -0
- package/scripts/archive/create-rom1pey.ps1 +0 -0
- package/scripts/archive/create-test-notebook-fresh.ps1 +0 -0
- package/scripts/archive/create-test-notebook.ps1 +0 -0
- package/scripts/archive/debug-add-source-auto.ps1 +0 -0
- package/scripts/archive/debug-add-source.ps1 +0 -0
- package/scripts/archive/debug-add-text-source.ps1 +0 -0
- package/scripts/archive/debug-home.ps1 +0 -0
- package/scripts/archive/debug-selectors.ps1 +0 -0
- package/scripts/archive/debug-sources-panel.ps1 +0 -0
- package/scripts/archive/debug-ui.ps1 +0 -0
- package/scripts/archive/discover-home.ps1 +0 -0
- package/scripts/archive/kill-automation-chrome.ps1 +0 -0
- package/scripts/archive/list-my-notebooks.ps1 +0 -0
- package/scripts/archive/navigate-home-visible.ps1 +0 -0
- package/scripts/archive/navigate-home.ps1 +0 -0
- package/scripts/archive/run-e2e-english.ps1 +0 -0
- package/scripts/archive/run-e2e-rom1pey-v2.ps1 +0 -0
- package/scripts/archive/run-e2e-rom1pey.ps1 +0 -0
- package/scripts/archive/setup-english-test.ps1 +0 -0
- package/scripts/archive/setup-test-notebook.ps1 +0 -0
- package/scripts/archive/simple-add-source.ps1 +0 -0
- package/scripts/archive/t10.ps1 +0 -0
- package/scripts/archive/t20.ps1 +0 -0
- package/scripts/archive/t30.ps1 +0 -0
- package/scripts/archive/t31.ps1 +0 -0
- package/scripts/archive/t32.ps1 +0 -0
- package/scripts/archive/t39.ps1 +0 -0
- package/scripts/archive/t40.ps1 +0 -0
- package/scripts/archive/t53.ps1 +0 -0
- package/scripts/archive/t54.ps1 +0 -0
- package/scripts/archive/t55.ps1 +0 -0
- package/scripts/archive/t9.ps1 +0 -0
- package/scripts/archive/test-access.ps1 +0 -0
- package/scripts/archive/test-add-delete-source.ps1 +0 -0
- package/scripts/archive/test-add-source-visible.ps1 +0 -0
- package/scripts/archive/test-add-source.ps1 +0 -0
- package/scripts/archive/test-add-text-debug.ps1 +0 -0
- package/scripts/archive/test-add-text-source.ps1 +0 -0
- package/scripts/archive/test-add-url-source.ps1 +0 -0
- package/scripts/archive/test-ask-ascii.ps1 +0 -0
- package/scripts/archive/test-ask-cnv.ps1 +0 -0
- package/scripts/archive/test-ask-headed.ps1 +0 -0
- package/scripts/archive/test-ask-ifs.ps1 +0 -0
- package/scripts/archive/test-ask-now.ps1 +0 -0
- package/scripts/archive/test-ask-real.ps1 +0 -0
- package/scripts/archive/test-ask-visible.ps1 +0 -0
- package/scripts/archive/test-create-notebook.ps1 +0 -0
- package/scripts/archive/test-create-then-add.ps1 +0 -0
- package/scripts/archive/test-delete-source.ps1 +0 -0
- package/scripts/archive/test-e2e-notebook.ps1 +0 -0
- package/scripts/archive/test-english-notebook.ps1 +0 -0
- package/scripts/archive/test-english.ps1 +0 -0
- package/scripts/archive/test-full-custom-instructions.ps1 +0 -0
- package/scripts/archive/test-full-infographic.ps1 +0 -0
- package/scripts/archive/test-full-language.ps1 +0 -0
- package/scripts/archive/test-full-presentation.ps1 +0 -0
- package/scripts/archive/test-full-report.ps1 +0 -0
- package/scripts/archive/test-full-source-selection.ps1 +0 -0
- package/scripts/archive/test-full-video-brief.ps1 +0 -0
- package/scripts/archive/test-full-video-explainer.ps1 +0 -0
- package/scripts/archive/test-full-video-styles.ps1 +0 -0
- package/scripts/archive/test-generate-report.ps1 +0 -0
- package/scripts/archive/test-generate-study-guide.ps1 +0 -0
- package/scripts/archive/test-headed-ask.ps1 +0 -0
- package/scripts/archive/test-headed-now.ps1 +0 -0
- package/scripts/archive/test-headed.ps1 +0 -0
- package/scripts/archive/test-hello.ps1 +0 -0
- package/scripts/archive/test-i18n-studio.ps1 +0 -0
- package/scripts/archive/test-i18n.ps1 +0 -0
- package/scripts/archive/test-manual-headed.ps1 +0 -0
- package/scripts/archive/test-mathieu-quota.ps1 +0 -0
- package/scripts/archive/test-notebook-1.ps1 +0 -0
- package/scripts/archive/test-notebook-2-sources.ps1 +0 -0
- package/scripts/archive/test-notebook1.ps1 +0 -0
- package/scripts/archive/test-personal-notebook.ps1 +0 -0
- package/scripts/archive/test-rate-limit.ps1 +0 -0
- package/scripts/archive/test-real-ask.ps1 +0 -0
- package/scripts/archive/test-real-ask2.ps1 +0 -0
- package/scripts/archive/test-rom1pey.ps1 +0 -0
- package/scripts/archive/test-rotation-complete.ps1 +0 -0
- package/scripts/archive/test-rotation.ps1 +0 -0
- package/scripts/archive/test-show-browser.ps1 +0 -0
- package/scripts/archive/test-update-notebook.ps1 +0 -0
- package/scripts/archive/verify-language-slow.ps1 +0 -0
- package/scripts/archive/verify-language.ps1 +0 -0
- package/scripts/check-server.ps1 +0 -0
- package/scripts/docker-entrypoint.sh +25 -0
- package/scripts/mcp-proxy-hidden.ps1 +31 -0
- package/scripts/mcp-wsl-helper.sh +146 -146
- package/scripts/start-server-hidden.vbs +13 -0
- package/scripts/start-server.ps1 +0 -0
- package/scripts/start-vnc.sh +37 -0
- package/scripts/stop-server.bat +5 -0
- package/scripts/stop-server.ps1 +0 -0
- package/scripts/switch-account-language.sh +0 -0
- package/scripts/test-account.ps1 +0 -0
|
@@ -1,140 +1,140 @@
|
|
|
1
|
-
#!/usr/bin/env pwsh
|
|
2
|
-
#Requires -Version 5.1
|
|
3
|
-
|
|
4
|
-
<#
|
|
5
|
-
.SYNOPSIS
|
|
6
|
-
Quick test script - NotebookLM MCP HTTP Server
|
|
7
|
-
|
|
8
|
-
.DESCRIPTION
|
|
9
|
-
Basic validation tests to verify that the server is working
|
|
10
|
-
|
|
11
|
-
.PARAMETER BaseUrl
|
|
12
|
-
Server base URL (default: http://localhost:3000)
|
|
13
|
-
|
|
14
|
-
.EXAMPLE
|
|
15
|
-
.\test-server.ps1
|
|
16
|
-
Run tests on http://localhost:3000
|
|
17
|
-
|
|
18
|
-
.EXAMPLE
|
|
19
|
-
.\test-server.ps1 -BaseUrl "http://localhost:8080"
|
|
20
|
-
Run tests on a different port
|
|
21
|
-
|
|
22
|
-
.NOTES
|
|
23
|
-
Version: 1.3.0
|
|
24
|
-
Prerequisites: The server must be started
|
|
25
|
-
#>
|
|
26
|
-
|
|
27
|
-
param(
|
|
28
|
-
[string]$BaseUrl = "http://localhost:3000"
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
Write-Host "╔══════════════════════════════════════════════════════════╗" -ForegroundColor Cyan
|
|
32
|
-
Write-Host "║ NotebookLM MCP - Quick Validation Tests ║" -ForegroundColor Cyan
|
|
33
|
-
Write-Host "╚══════════════════════════════════════════════════════════╝" -ForegroundColor Cyan
|
|
34
|
-
Write-Host ""
|
|
35
|
-
Write-Host "Server being tested: $BaseUrl" -ForegroundColor Gray
|
|
36
|
-
Write-Host ""
|
|
37
|
-
|
|
38
|
-
$allPassed = $true
|
|
39
|
-
|
|
40
|
-
# Test 1: Health Check
|
|
41
|
-
Write-Host "Test 1: Health Check" -ForegroundColor Yellow
|
|
42
|
-
Write-Host " GET $BaseUrl/health" -ForegroundColor Gray
|
|
43
|
-
|
|
44
|
-
try {
|
|
45
|
-
$response = Invoke-RestMethod -Uri "$BaseUrl/health" -Method Get -TimeoutSec 5
|
|
46
|
-
if ($response.success -eq $true) {
|
|
47
|
-
Write-Host " ✅ PASS - Server operational" -ForegroundColor Green
|
|
48
|
-
Write-Host " Authenticated: $($response.data.authenticated)" -ForegroundColor Gray
|
|
49
|
-
Write-Host " Sessions: $($response.data.sessions)" -ForegroundColor Gray
|
|
50
|
-
Write-Host " Notebooks: $($response.data.library_notebooks)" -ForegroundColor Gray
|
|
51
|
-
} else {
|
|
52
|
-
Write-Host " ❌ FAIL - success=false" -ForegroundColor Red
|
|
53
|
-
$allPassed = $false
|
|
54
|
-
}
|
|
55
|
-
} catch {
|
|
56
|
-
Write-Host " ❌ FAIL - $($_.Exception.Message)" -ForegroundColor Red
|
|
57
|
-
$allPassed = $false
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
Write-Host ""
|
|
61
|
-
|
|
62
|
-
# Test 2: List Notebooks
|
|
63
|
-
Write-Host "Test 2: List Notebooks" -ForegroundColor Yellow
|
|
64
|
-
Write-Host " GET $BaseUrl/notebooks" -ForegroundColor Gray
|
|
65
|
-
|
|
66
|
-
try {
|
|
67
|
-
$response = Invoke-RestMethod -Uri "$BaseUrl/notebooks" -Method Get -TimeoutSec 5
|
|
68
|
-
if ($response.success -eq $true) {
|
|
69
|
-
Write-Host " ✅ PASS - Endpoint working" -ForegroundColor Green
|
|
70
|
-
$count = $response.data.notebooks.Count
|
|
71
|
-
Write-Host " Notebooks found: $count" -ForegroundColor Gray
|
|
72
|
-
} else {
|
|
73
|
-
Write-Host " ❌ FAIL - success=false" -ForegroundColor Red
|
|
74
|
-
$allPassed = $false
|
|
75
|
-
}
|
|
76
|
-
} catch {
|
|
77
|
-
Write-Host " ❌ FAIL - $($_.Exception.Message)" -ForegroundColor Red
|
|
78
|
-
$allPassed = $false
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
Write-Host ""
|
|
82
|
-
|
|
83
|
-
# Test 3: Ask Question (optional - requires authentication and notebook)
|
|
84
|
-
Write-Host "Test 3: Ask Question (authentication + notebook required)" -ForegroundColor Yellow
|
|
85
|
-
Write-Host " POST $BaseUrl/ask" -ForegroundColor Gray
|
|
86
|
-
|
|
87
|
-
# Get notebooks to use the first available one
|
|
88
|
-
try {
|
|
89
|
-
$notebooks = Invoke-RestMethod -Uri "$BaseUrl/notebooks" -Method Get -TimeoutSec 5
|
|
90
|
-
$firstNotebookId = if ($notebooks.data.notebooks.Count -gt 0) { $notebooks.data.notebooks[0].id } else { $null }
|
|
91
|
-
} catch {
|
|
92
|
-
$firstNotebookId = $null
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if ($firstNotebookId) {
|
|
96
|
-
$body = @{
|
|
97
|
-
question = "Connection test: just answer OK"
|
|
98
|
-
notebook_id = $firstNotebookId
|
|
99
|
-
} | ConvertTo-Json
|
|
100
|
-
|
|
101
|
-
Write-Host " Using notebook: $firstNotebookId" -ForegroundColor Gray
|
|
102
|
-
|
|
103
|
-
try {
|
|
104
|
-
$response = Invoke-RestMethod -Uri "$BaseUrl/ask" -Method Post -Body $body -ContentType "application/json" -TimeoutSec 60
|
|
105
|
-
if ($response.success -eq $true) {
|
|
106
|
-
Write-Host " ✅ PASS - Question processed" -ForegroundColor Green
|
|
107
|
-
Write-Host " Answer length: $($response.data.answer.Length) chars" -ForegroundColor Gray
|
|
108
|
-
Write-Host " Session ID: $($response.data.session_id)" -ForegroundColor Gray
|
|
109
|
-
} else {
|
|
110
|
-
Write-Host " ⚠️ WARN - $($response.error)" -ForegroundColor Yellow
|
|
111
|
-
Write-Host " (Normal if not authenticated)" -ForegroundColor Gray
|
|
112
|
-
}
|
|
113
|
-
} catch {
|
|
114
|
-
Write-Host " ⚠️ WARN - $($_.Exception.Message)" -ForegroundColor Yellow
|
|
115
|
-
Write-Host " (Normal if authentication not configured)" -ForegroundColor Gray
|
|
116
|
-
}
|
|
117
|
-
} else {
|
|
118
|
-
Write-Host " ⚠️ SKIP - No notebook configured" -ForegroundColor Yellow
|
|
119
|
-
Write-Host " To test: add a notebook with POST /notebooks" -ForegroundColor Gray
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
Write-Host ""
|
|
123
|
-
Write-Host "════════════════════════════════════════════════════════════" -ForegroundColor Gray
|
|
124
|
-
Write-Host ""
|
|
125
|
-
|
|
126
|
-
if ($allPassed) {
|
|
127
|
-
Write-Host "✅ ALL TESTS PASSED!" -ForegroundColor Green
|
|
128
|
-
Write-Host ""
|
|
129
|
-
Write-Host "📖 Next steps:" -ForegroundColor Cyan
|
|
130
|
-
Write-Host " - Check the API documentation: .\deployment\docs\03-API.md" -ForegroundColor White
|
|
131
|
-
Write-Host " - Integrate with n8n: .\deployment\docs\04-N8N-INTEGRATION.md" -ForegroundColor White
|
|
132
|
-
Write-Host ""
|
|
133
|
-
} else {
|
|
134
|
-
Write-Host "❌ SOME TESTS FAILED" -ForegroundColor Red
|
|
135
|
-
Write-Host ""
|
|
136
|
-
Write-Host "📖 Check the troubleshooting guide:" -ForegroundColor Yellow
|
|
137
|
-
Write-Host " .\deployment\docs\05-TROUBLESHOOTING.md" -ForegroundColor White
|
|
138
|
-
Write-Host ""
|
|
139
|
-
exit 1
|
|
140
|
-
}
|
|
1
|
+
#!/usr/bin/env pwsh
|
|
2
|
+
#Requires -Version 5.1
|
|
3
|
+
|
|
4
|
+
<#
|
|
5
|
+
.SYNOPSIS
|
|
6
|
+
Quick test script - NotebookLM MCP HTTP Server
|
|
7
|
+
|
|
8
|
+
.DESCRIPTION
|
|
9
|
+
Basic validation tests to verify that the server is working
|
|
10
|
+
|
|
11
|
+
.PARAMETER BaseUrl
|
|
12
|
+
Server base URL (default: http://localhost:3000)
|
|
13
|
+
|
|
14
|
+
.EXAMPLE
|
|
15
|
+
.\test-server.ps1
|
|
16
|
+
Run tests on http://localhost:3000
|
|
17
|
+
|
|
18
|
+
.EXAMPLE
|
|
19
|
+
.\test-server.ps1 -BaseUrl "http://localhost:8080"
|
|
20
|
+
Run tests on a different port
|
|
21
|
+
|
|
22
|
+
.NOTES
|
|
23
|
+
Version: 1.3.0
|
|
24
|
+
Prerequisites: The server must be started
|
|
25
|
+
#>
|
|
26
|
+
|
|
27
|
+
param(
|
|
28
|
+
[string]$BaseUrl = "http://localhost:3000"
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
Write-Host "╔══════════════════════════════════════════════════════════╗" -ForegroundColor Cyan
|
|
32
|
+
Write-Host "║ NotebookLM MCP - Quick Validation Tests ║" -ForegroundColor Cyan
|
|
33
|
+
Write-Host "╚══════════════════════════════════════════════════════════╝" -ForegroundColor Cyan
|
|
34
|
+
Write-Host ""
|
|
35
|
+
Write-Host "Server being tested: $BaseUrl" -ForegroundColor Gray
|
|
36
|
+
Write-Host ""
|
|
37
|
+
|
|
38
|
+
$allPassed = $true
|
|
39
|
+
|
|
40
|
+
# Test 1: Health Check
|
|
41
|
+
Write-Host "Test 1: Health Check" -ForegroundColor Yellow
|
|
42
|
+
Write-Host " GET $BaseUrl/health" -ForegroundColor Gray
|
|
43
|
+
|
|
44
|
+
try {
|
|
45
|
+
$response = Invoke-RestMethod -Uri "$BaseUrl/health" -Method Get -TimeoutSec 5
|
|
46
|
+
if ($response.success -eq $true) {
|
|
47
|
+
Write-Host " ✅ PASS - Server operational" -ForegroundColor Green
|
|
48
|
+
Write-Host " Authenticated: $($response.data.authenticated)" -ForegroundColor Gray
|
|
49
|
+
Write-Host " Sessions: $($response.data.sessions)" -ForegroundColor Gray
|
|
50
|
+
Write-Host " Notebooks: $($response.data.library_notebooks)" -ForegroundColor Gray
|
|
51
|
+
} else {
|
|
52
|
+
Write-Host " ❌ FAIL - success=false" -ForegroundColor Red
|
|
53
|
+
$allPassed = $false
|
|
54
|
+
}
|
|
55
|
+
} catch {
|
|
56
|
+
Write-Host " ❌ FAIL - $($_.Exception.Message)" -ForegroundColor Red
|
|
57
|
+
$allPassed = $false
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
Write-Host ""
|
|
61
|
+
|
|
62
|
+
# Test 2: List Notebooks
|
|
63
|
+
Write-Host "Test 2: List Notebooks" -ForegroundColor Yellow
|
|
64
|
+
Write-Host " GET $BaseUrl/notebooks" -ForegroundColor Gray
|
|
65
|
+
|
|
66
|
+
try {
|
|
67
|
+
$response = Invoke-RestMethod -Uri "$BaseUrl/notebooks" -Method Get -TimeoutSec 5
|
|
68
|
+
if ($response.success -eq $true) {
|
|
69
|
+
Write-Host " ✅ PASS - Endpoint working" -ForegroundColor Green
|
|
70
|
+
$count = $response.data.notebooks.Count
|
|
71
|
+
Write-Host " Notebooks found: $count" -ForegroundColor Gray
|
|
72
|
+
} else {
|
|
73
|
+
Write-Host " ❌ FAIL - success=false" -ForegroundColor Red
|
|
74
|
+
$allPassed = $false
|
|
75
|
+
}
|
|
76
|
+
} catch {
|
|
77
|
+
Write-Host " ❌ FAIL - $($_.Exception.Message)" -ForegroundColor Red
|
|
78
|
+
$allPassed = $false
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
Write-Host ""
|
|
82
|
+
|
|
83
|
+
# Test 3: Ask Question (optional - requires authentication and notebook)
|
|
84
|
+
Write-Host "Test 3: Ask Question (authentication + notebook required)" -ForegroundColor Yellow
|
|
85
|
+
Write-Host " POST $BaseUrl/ask" -ForegroundColor Gray
|
|
86
|
+
|
|
87
|
+
# Get notebooks to use the first available one
|
|
88
|
+
try {
|
|
89
|
+
$notebooks = Invoke-RestMethod -Uri "$BaseUrl/notebooks" -Method Get -TimeoutSec 5
|
|
90
|
+
$firstNotebookId = if ($notebooks.data.notebooks.Count -gt 0) { $notebooks.data.notebooks[0].id } else { $null }
|
|
91
|
+
} catch {
|
|
92
|
+
$firstNotebookId = $null
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if ($firstNotebookId) {
|
|
96
|
+
$body = @{
|
|
97
|
+
question = "Connection test: just answer OK"
|
|
98
|
+
notebook_id = $firstNotebookId
|
|
99
|
+
} | ConvertTo-Json
|
|
100
|
+
|
|
101
|
+
Write-Host " Using notebook: $firstNotebookId" -ForegroundColor Gray
|
|
102
|
+
|
|
103
|
+
try {
|
|
104
|
+
$response = Invoke-RestMethod -Uri "$BaseUrl/ask" -Method Post -Body $body -ContentType "application/json" -TimeoutSec 60
|
|
105
|
+
if ($response.success -eq $true) {
|
|
106
|
+
Write-Host " ✅ PASS - Question processed" -ForegroundColor Green
|
|
107
|
+
Write-Host " Answer length: $($response.data.answer.Length) chars" -ForegroundColor Gray
|
|
108
|
+
Write-Host " Session ID: $($response.data.session_id)" -ForegroundColor Gray
|
|
109
|
+
} else {
|
|
110
|
+
Write-Host " ⚠️ WARN - $($response.error)" -ForegroundColor Yellow
|
|
111
|
+
Write-Host " (Normal if not authenticated)" -ForegroundColor Gray
|
|
112
|
+
}
|
|
113
|
+
} catch {
|
|
114
|
+
Write-Host " ⚠️ WARN - $($_.Exception.Message)" -ForegroundColor Yellow
|
|
115
|
+
Write-Host " (Normal if authentication not configured)" -ForegroundColor Gray
|
|
116
|
+
}
|
|
117
|
+
} else {
|
|
118
|
+
Write-Host " ⚠️ SKIP - No notebook configured" -ForegroundColor Yellow
|
|
119
|
+
Write-Host " To test: add a notebook with POST /notebooks" -ForegroundColor Gray
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
Write-Host ""
|
|
123
|
+
Write-Host "════════════════════════════════════════════════════════════" -ForegroundColor Gray
|
|
124
|
+
Write-Host ""
|
|
125
|
+
|
|
126
|
+
if ($allPassed) {
|
|
127
|
+
Write-Host "✅ ALL TESTS PASSED!" -ForegroundColor Green
|
|
128
|
+
Write-Host ""
|
|
129
|
+
Write-Host "📖 Next steps:" -ForegroundColor Cyan
|
|
130
|
+
Write-Host " - Check the API documentation: .\deployment\docs\03-API.md" -ForegroundColor White
|
|
131
|
+
Write-Host " - Integrate with n8n: .\deployment\docs\04-N8N-INTEGRATION.md" -ForegroundColor White
|
|
132
|
+
Write-Host ""
|
|
133
|
+
} else {
|
|
134
|
+
Write-Host "❌ SOME TESTS FAILED" -ForegroundColor Red
|
|
135
|
+
Write-Host ""
|
|
136
|
+
Write-Host "📖 Check the troubleshooting guide:" -ForegroundColor Yellow
|
|
137
|
+
Write-Host " .\deployment\docs\05-TROUBLESHOOTING.md" -ForegroundColor White
|
|
138
|
+
Write-Host ""
|
|
139
|
+
exit 1
|
|
140
|
+
}
|