@pan-sec/notebooklm-mcp 2026.1.5 → 2026.1.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.
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Tool Icons for MCP UX Enhancement
3
+ *
4
+ * Icons are defined as SVG data URIs for cross-platform compatibility.
5
+ * Uses simple, recognizable icons that work in both light and dark themes.
6
+ *
7
+ * @see https://modelcontextprotocol.io/specification/draft/2025-03-26/server/tools#icons
8
+ */
9
+ /**
10
+ * Create an SVG icon data URI with proper encoding
11
+ */
12
+ function svgIcon(svg, mimeType = "image/svg+xml") {
13
+ const encoded = Buffer.from(svg).toString("base64");
14
+ return {
15
+ src: `data:${mimeType};base64,${encoded}`,
16
+ mimeType,
17
+ };
18
+ }
19
+ /**
20
+ * Simple SVG templates for tool icons
21
+ */
22
+ const svgTemplates = {
23
+ // Question mark for ask_question
24
+ question: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>`,
25
+ // Book for notebooks
26
+ book: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg>`,
27
+ // Plus for add
28
+ plus: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>`,
29
+ // List for list operations
30
+ list: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/></svg>`,
31
+ // Search/magnify for search/research
32
+ search: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>`,
33
+ // Settings/gear for system tools
34
+ settings: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>`,
35
+ // Heart/health for health checks
36
+ heart: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`,
37
+ // Key for auth
38
+ key: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"/></svg>`,
39
+ // Trash for cleanup/delete
40
+ trash: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/></svg>`,
41
+ // Database for quota
42
+ database: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"/></svg>`,
43
+ // Folder for project
44
+ folder: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>`,
45
+ // Bell for webhooks
46
+ bell: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 0 1-3.46 0"/></svg>`,
47
+ // Users/session for session management
48
+ users: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>`,
49
+ // Clock for history
50
+ clock: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>`,
51
+ // Upload for document upload
52
+ upload: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></svg>`,
53
+ // File for documents
54
+ file: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"/><polyline points="13 2 13 9 20 9"/></svg>`,
55
+ // Audio for audio generation
56
+ audio: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg>`,
57
+ // Download for download
58
+ download: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>`,
59
+ // Sync/refresh for sync operations
60
+ sync: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/></svg>`,
61
+ // Edit/pencil for update
62
+ edit: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>`,
63
+ // Check for select/activate
64
+ check: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>`,
65
+ // X for remove/close
66
+ x: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>`,
67
+ // Zap for fast operations
68
+ zap: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>`,
69
+ // Globe for web/export
70
+ globe: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>`,
71
+ // Shield for security
72
+ shield: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>`,
73
+ };
74
+ /**
75
+ * Tool icons mapped to tool names
76
+ */
77
+ export const toolIcons = {
78
+ // Core research tool
79
+ ask_question: [svgIcon(svgTemplates.question)],
80
+ // Notebook management
81
+ add_notebook: [svgIcon(svgTemplates.plus)],
82
+ list_notebooks: [svgIcon(svgTemplates.list)],
83
+ get_notebook: [svgIcon(svgTemplates.book)],
84
+ select_notebook: [svgIcon(svgTemplates.check)],
85
+ update_notebook: [svgIcon(svgTemplates.edit)],
86
+ remove_notebook: [svgIcon(svgTemplates.x)],
87
+ search_notebooks: [svgIcon(svgTemplates.search)],
88
+ get_library_stats: [svgIcon(svgTemplates.database)],
89
+ export_library: [svgIcon(svgTemplates.globe)],
90
+ create_notebook: [svgIcon(svgTemplates.plus)],
91
+ sync_library: [svgIcon(svgTemplates.sync)],
92
+ batch_create_notebooks: [svgIcon(svgTemplates.plus)],
93
+ // Source management
94
+ list_sources: [svgIcon(svgTemplates.list)],
95
+ add_source: [svgIcon(svgTemplates.plus)],
96
+ remove_source: [svgIcon(svgTemplates.x)],
97
+ // Audio
98
+ generate_audio_overview: [svgIcon(svgTemplates.audio)],
99
+ get_audio_status: [svgIcon(svgTemplates.audio)],
100
+ download_audio: [svgIcon(svgTemplates.download)],
101
+ // Session management
102
+ list_sessions: [svgIcon(svgTemplates.users)],
103
+ close_session: [svgIcon(svgTemplates.x)],
104
+ reset_session: [svgIcon(svgTemplates.sync)],
105
+ // System tools
106
+ get_health: [svgIcon(svgTemplates.heart)],
107
+ setup_auth: [svgIcon(svgTemplates.key)],
108
+ re_auth: [svgIcon(svgTemplates.key)],
109
+ cleanup_data: [svgIcon(svgTemplates.trash)],
110
+ get_quota: [svgIcon(svgTemplates.database)],
111
+ set_quota_tier: [svgIcon(svgTemplates.settings)],
112
+ get_project_info: [svgIcon(svgTemplates.folder)],
113
+ // Webhooks
114
+ configure_webhook: [svgIcon(svgTemplates.bell)],
115
+ list_webhooks: [svgIcon(svgTemplates.list)],
116
+ test_webhook: [svgIcon(svgTemplates.zap)],
117
+ remove_webhook: [svgIcon(svgTemplates.x)],
118
+ // Gemini tools
119
+ deep_research: [svgIcon(svgTemplates.search)],
120
+ gemini_query: [svgIcon(svgTemplates.zap)],
121
+ get_research_status: [svgIcon(svgTemplates.clock)],
122
+ upload_document: [svgIcon(svgTemplates.upload)],
123
+ query_document: [svgIcon(svgTemplates.file)],
124
+ list_documents: [svgIcon(svgTemplates.list)],
125
+ delete_document: [svgIcon(svgTemplates.trash)],
126
+ query_chunked_document: [svgIcon(svgTemplates.file)],
127
+ // History
128
+ get_query_history: [svgIcon(svgTemplates.clock)],
129
+ get_notebook_chat_history: [svgIcon(svgTemplates.clock)],
130
+ };
131
+ /**
132
+ * Get icons for a tool by name
133
+ */
134
+ export function getToolIcons(toolName) {
135
+ return toolIcons[toolName];
136
+ }
137
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/tools/icons.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  /**
2
2
  * MCP Tools Module
3
3
  *
4
- * Exports tool definitions and handlers.
4
+ * Exports tool definitions, handlers, and enhanced metadata (icons, annotations).
5
5
  */
6
6
  export { buildToolDefinitions } from "./definitions.js";
7
7
  export { ToolHandlers } from "./handlers.js";
8
+ export { getToolIcons, toolIcons } from "./icons.js";
9
+ export { getToolMetadata, toolMetadata } from "./annotations.js";
10
+ export type { ToolMetadata } from "./annotations.js";
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * MCP Tools Module
3
3
  *
4
- * Exports tool definitions and handlers.
4
+ * Exports tool definitions, handlers, and enhanced metadata (icons, annotations).
5
5
  */
6
6
  export { buildToolDefinitions } from "./definitions.js";
7
7
  export { ToolHandlers } from "./handlers.js";
8
+ export { getToolIcons, toolIcons } from "./icons.js";
9
+ export { getToolMetadata, toolMetadata } from "./annotations.js";
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -10,39 +10,15 @@ Track where `@pan-sec/notebooklm-mcp` is listed and submission progress.
10
10
 
11
11
  | Directory | Status | URL | Notes |
12
12
  |-----------|--------|-----|-------|
13
+ | [Official MCP Registry](https://registry.modelcontextprotocol.io/) | ✅ Listed | io.github.Pantheon-Security/notebooklm-mcp-secure | Published 2026-01-24 |
13
14
  | [Glama.ai](https://glama.ai/mcp/servers) | ✅ Listed | [View Listing](https://glama.ai/mcp/servers/@Pantheon-Security/notebooklm-mcp-secure) | Auto-indexed from GitHub |
14
- | [awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) | ⚠️ Partial | chrome-mcp-secure only | Need to add notebooklm-mcp-secure |
15
+ | [PulseMCP](https://www.pulsemcp.com/servers) | Listed | [View Listing](https://www.pulsemcp.com/servers/pantheon-security-notebooklm-secure) | Auto-indexed, #601 this week |
16
+ | [awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers) | ⏳ PR Pending | [PR #1735](https://github.com/punkpeye/awesome-mcp-servers/pull/1735) | Submitted 2026-01-24 |
15
17
 
16
18
  ---
17
19
 
18
20
  ## Pending Submissions
19
21
 
20
- ### Priority 1: High Impact
21
-
22
- #### Official MCP Registry
23
- - **URL:** https://registry.modelcontextprotocol.io/
24
- - **Submit via:** PR to https://github.com/modelcontextprotocol/registry
25
- - **Status:** ⏳ Not submitted
26
- - **Notes:** Official registry backed by Anthropic, GitHub, Microsoft. High visibility.
27
- - **Submission Guide:** https://registry.modelcontextprotocol.io/docs
28
-
29
- #### awesome-mcp-servers (Add notebooklm)
30
- - **URL:** https://github.com/punkpeye/awesome-mcp-servers
31
- - **Submit via:** Pull Request
32
- - **Status:** ⏳ Not submitted
33
- - **Notes:** Already have chrome-mcp-secure listed. Add notebooklm under "Knowledge & Memory" section.
34
- - **Entry to add:**
35
- ```markdown
36
- - [notebooklm-mcp-secure](https://github.com/Pantheon-Security/notebooklm-mcp-secure) - Security-hardened NotebookLM MCP with post-quantum encryption, GDPR/SOC2 compliance, and 14 security layers. Query Google's Gemini-grounded research from Claude/AI agents.
37
- ```
38
-
39
- #### PulseMCP
40
- - **URL:** https://www.pulsemcp.com/servers
41
- - **Size:** 7,900+ servers (largest directory)
42
- - **Submit via:** Auto-indexed from npm/GitHub or manual submission
43
- - **Status:** ⏳ Not submitted
44
- - **Notes:** Check if auto-indexed. If not, contact for listing.
45
-
46
22
  ### Priority 2: Good Visibility
47
23
 
48
24
  #### MCP.so
@@ -57,18 +33,19 @@ Track where `@pan-sec/notebooklm-mcp` is listed and submission progress.
57
33
  - **Status:** ⏳ Not submitted
58
34
  - **Notes:** Has original notebooklm-mcp, not secure fork.
59
35
 
60
- #### Smithery.ai
61
- - **URL:** https://smithery.ai/
62
- - **Submit via:** Smithery CLI or web submission
63
- - **Status:** ⏳ Not submitted
64
- - **CLI:** `npx @anthropic-ai/mcp-registry add`
65
-
66
36
  #### mcp-get.com
67
37
  - **URL:** https://mcp-get.com/
68
38
  - **Submit via:** Package registry submission
69
39
  - **Status:** ⏳ Not submitted
70
40
  - **Notes:** Package manager style directory.
71
41
 
42
+ ### Requires Hosted Server
43
+
44
+ #### Smithery.ai
45
+ - **URL:** https://smithery.ai/
46
+ - **Status:** ❌ Requires remote hosting
47
+ - **Notes:** Server/Client style MCP. Would need to deploy notebooklm-mcp as a hosted service.
48
+
72
49
  ### Priority 3: Niche/Emerging
73
50
 
74
51
  #### Azure API Center
@@ -85,99 +62,29 @@ Track where `@pan-sec/notebooklm-mcp` is listed and submission progress.
85
62
 
86
63
  ---
87
64
 
88
- ## Submission Templates
89
-
90
- ### GitHub PR Template (awesome lists)
91
-
92
- ```markdown
93
- ## Add notebooklm-mcp-secure
94
-
95
- ### Description
96
- Adding security-hardened NotebookLM MCP server to the Knowledge & Memory section.
97
-
98
- ### Server Details
99
- - **Name:** notebooklm-mcp-secure
100
- - **GitHub:** https://github.com/Pantheon-Security/notebooklm-mcp-secure
101
- - **npm:** @pan-sec/notebooklm-mcp
102
- - **Category:** Knowledge & Memory / Research
103
-
104
- ### Features
105
- - Query Google NotebookLM from Claude/AI agents
106
- - Post-quantum encryption (ML-KEM-768 + ChaCha20-Poly1305)
107
- - GDPR, SOC2, CSSF compliance tools
108
- - 14 security hardening layers
109
- - Gemini Deep Research API integration
110
-
111
- ### Checklist
112
- - [x] Server is open source
113
- - [x] Server is actively maintained
114
- - [x] Server has documentation
115
- - [x] Server is published on npm
116
- ```
117
-
118
- ### Registry JSON Template
119
-
120
- ```json
121
- {
122
- "name": "@pan-sec/notebooklm-mcp",
123
- "description": "Security-hardened MCP server for NotebookLM with post-quantum encryption and enterprise compliance",
124
- "repository": "https://github.com/Pantheon-Security/notebooklm-mcp-secure",
125
- "homepage": "https://github.com/Pantheon-Security/notebooklm-mcp-secure#readme",
126
- "keywords": [
127
- "mcp",
128
- "notebooklm",
129
- "gemini",
130
- "security",
131
- "post-quantum",
132
- "gdpr",
133
- "soc2",
134
- "compliance",
135
- "claude"
136
- ],
137
- "categories": ["research", "knowledge", "security"],
138
- "author": "Pantheon Security",
139
- "license": "MIT"
140
- }
141
- ```
142
-
143
- ---
144
-
145
- ## Tracking Progress
65
+ ## Completed
146
66
 
147
- ### Completed
67
+ - [x] Official MCP Registry - Published 2026-01-24
148
68
  - [x] Glama.ai - Auto-listed
149
-
150
- ### In Progress
151
- - [ ] awesome-mcp-servers PR
152
- - [ ] Official MCP Registry submission
153
- - [ ] PulseMCP check/submission
154
-
155
- ### Backlog
156
- - [ ] MCP.so
157
- - [ ] MCPServers.org
158
- - [ ] Smithery.ai
159
- - [ ] mcp-get.com
69
+ - [x] PulseMCP - Auto-indexed
70
+ - [x] awesome-mcp-servers - PR #1735 submitted
160
71
 
161
72
  ---
162
73
 
163
- ## Tips for Submissions
74
+ ## Related Projects
164
75
 
165
- 1. **Timing:** Submit after a notable release (like security updates)
166
- 2. **Description:** Lead with security angle - differentiator from original
167
- 3. **Keywords:** Include "security", "enterprise", "compliance", "post-quantum"
168
- 4. **Screenshots:** Consider adding demo GIFs to README for visual directories
169
- 5. **Stars:** 14 stars shows traction - mention in submissions
76
+ | Project | Directories Listed |
77
+ |---------|-------------------|
78
+ | [chrome-mcp-secure](https://github.com/Pantheon-Security/chrome-mcp-secure) | awesome-mcp-servers |
79
+ | [notebooklm-mcp-secure](https://github.com/Pantheon-Security/notebooklm-mcp-secure) | Official Registry ✅, Glama ✅, PulseMCP |
170
80
 
171
81
  ---
172
82
 
173
- ## Related Projects to Cross-List
174
-
175
- Also submit these Pantheon Security MCP servers:
83
+ ## Stats
176
84
 
177
- | Project | Directories Listed |
178
- |---------|-------------------|
179
- | [chrome-mcp-secure](https://github.com/Pantheon-Security/chrome-mcp-secure) | awesome-mcp-servers ✅ |
180
- | [notebooklm-mcp-secure](https://github.com/Pantheon-Security/notebooklm-mcp-secure) | Glama ✅ |
85
+ - **PulseMCP Rank:** #601 this week, #3,227 global
86
+ - **GitHub Stars:** 14
87
+ - **npm:** @pan-sec/notebooklm-mcp v2026.1.5
181
88
 
182
89
  ---
183
90
 
@@ -0,0 +1,79 @@
1
+ # Security Fork Opportunities
2
+
3
+ MCP servers that could benefit from Pantheon Security hardening.
4
+
5
+ **Last Updated:** 2026-01-24
6
+
7
+ ---
8
+
9
+ ## High Priority (High Traffic + High Risk)
10
+
11
+ | Rank | Server | Weekly Visitors | Security Gaps | Effort |
12
+ |------|--------|-----------------|---------------|--------|
13
+ | #4 | **Filesystem** (Anthropic) | 193K | No sandboxing, no path validation, no audit logging | Medium |
14
+ | #18 | **PostgreSQL** (Anthropic) | 31.8K | SQL injection risk, no query validation, no audit trails | Medium |
15
+ | #17 | **MongoDB** (MongoDB Inc.) | 35.6K | NoSQL injection, data exfiltration, no encryption | Medium |
16
+ | #12 | **Git** (Anthropic) | 66.8K | Command execution, credential exposure, repo tampering | Medium |
17
+ | #19 | **Supabase** (Supabase) | 40.5K | Database + auth, credential exposure, API key leaks | High |
18
+
19
+ ---
20
+
21
+ ## Medium Priority (Good Traffic + Moderate Risk)
22
+
23
+ | Rank | Server | Weekly Visitors | Security Gaps | Effort |
24
+ |------|--------|-----------------|---------------|--------|
25
+ | #3 | **Fetch** (Anthropic) | 249K | URL validation, SSRF risks, data exfiltration | Low |
26
+ | #7 | **Claude Flow** (ruvnet) | 163K | Agent orchestration, prompt injection, privilege escalation | High |
27
+ | #8 | **Playwriter** (Community) | 129K | Browser automation, credential capture, DOM injection | Medium |
28
+ | #20 | **Notion** (Notion) | 26.7K | API key exposure, data access logging | Low |
29
+ | #16 | **Zapier** (Zapier) | 48.9K | 8000+ app integrations, credential management | High |
30
+
31
+ ---
32
+
33
+ ## Already Covered
34
+
35
+ | Server | Pantheon Fork | Status |
36
+ |--------|---------------|--------|
37
+ | Chrome/Playwright | [chrome-mcp-secure](https://github.com/Pantheon-Security/chrome-mcp-secure) | ✅ Published |
38
+ | NotebookLM | [notebooklm-mcp-secure](https://github.com/Pantheon-Security/notebooklm-mcp-secure) | ✅ Published |
39
+
40
+ ---
41
+
42
+ ## Security Layers to Add
43
+
44
+ Standard Pantheon Security hardening:
45
+
46
+ 1. **Input Validation** - Zod schemas, path traversal prevention
47
+ 2. **Audit Logging** - Hash-chained logs, SIEM integration
48
+ 3. **Post-Quantum Encryption** - ML-KEM-768 + ChaCha20-Poly1305
49
+ 4. **Credential Protection** - Secrets scanning, memory scrubbing
50
+ 5. **Rate Limiting** - Abuse prevention
51
+ 6. **Compliance Tools** - GDPR consent, SOC2 evidence, CSSF retention
52
+ 7. **Session Security** - Timeouts, MCP authentication
53
+ 8. **Response Validation** - Output sanitization
54
+
55
+ ---
56
+
57
+ ## Recommended First Target
58
+
59
+ **filesystem-mcp-secure**
60
+ - Highest risk (direct file system access)
61
+ - Large user base (193K weekly)
62
+ - Clear value prop: "Secure file access with sandboxing and audit trails"
63
+ - Anthropic's official = credibility for fork
64
+
65
+ ---
66
+
67
+ ## Research Links
68
+
69
+ | Server | GitHub |
70
+ |--------|--------|
71
+ | Filesystem | https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem |
72
+ | PostgreSQL | https://github.com/modelcontextprotocol/servers/tree/main/src/postgres |
73
+ | Git | https://github.com/modelcontextprotocol/servers/tree/main/src/git |
74
+ | MongoDB | https://github.com/mongodb/mcp-server |
75
+ | Fetch | https://github.com/modelcontextprotocol/servers/tree/main/src/fetch |
76
+
77
+ ---
78
+
79
+ *Track progress and prioritize based on enterprise customer demand.*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pan-sec/notebooklm-mcp",
3
- "version": "2026.1.5",
3
+ "version": "2026.1.7",
4
4
  "mcpName": "io.github.Pantheon-Security/notebooklm-mcp-secure",
5
5
  "description": "Security-hardened MCP server for NotebookLM API with enterprise compliance (GDPR, SOC2, CSSF)",
6
6
  "type": "module",
@@ -55,19 +55,19 @@
55
55
  "docs"
56
56
  ],
57
57
  "dependencies": {
58
- "@google/genai": "^1.34.0",
59
- "@modelcontextprotocol/sdk": "^1.25.2",
58
+ "@google/genai": "^1.38.0",
59
+ "@modelcontextprotocol/sdk": "^1.25.3",
60
60
  "@noble/post-quantum": "^0.2.1",
61
61
  "dotenv": "^16.4.0",
62
62
  "env-paths": "^3.0.0",
63
63
  "globby": "^14.1.0",
64
- "patchright": "^1.48.2",
64
+ "patchright": "^1.57.0",
65
65
  "pdf-lib": "^1.17.1",
66
66
  "zod": "^3.22.0"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@types/node": "^20.11.0",
70
- "tsx": "^4.7.0",
70
+ "tsx": "^4.21.0",
71
71
  "typescript": "^5.3.3"
72
72
  },
73
73
  "engines": {
package/server.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.Pantheon-Security/notebooklm-mcp-secure",
4
4
  "description": "Security-hardened NotebookLM MCP with post-quantum encryption",
5
- "version": "2026.1.5",
5
+ "version": "2026.1.7",
6
6
  "repository": {
7
7
  "url": "https://github.com/Pantheon-Security/notebooklm-mcp-secure",
8
8
  "source": "github"
@@ -11,7 +11,7 @@
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@pan-sec/notebooklm-mcp",
14
- "version": "2026.1.5",
14
+ "version": "2026.1.7",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  }