Multi Research Agents vs Notebooklm MCP Secure | AllMCPs
Side-by-Side Model Context Protocol Comparison
Multi Research Agents vs Notebooklm MCP Secure
In-depth architectural comparison of the Multi Research Agents and Notebooklm MCP Secure MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Multi Research Agents
Research · Local stdio
Quality: 43/100 (Fair) | Auth: API Key required
Notebooklm MCP Secure
Research · Local stdio
Quality: 61/100 (Good) | Auth: other
Verdict Summary: Choose Multi Research Agents if you need specialized Research tools running via a local process. Choose Notebooklm MCP Secure if your workspace requires Research integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Multi Research Agents when:
You need dedicated capabilities in the Research domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (BYOK (Pay Provider Direct)).
You have access to required keys: OPEN_ROUTER_API_KEY.
a KTOR server/ MCP server written in Kotlin applying multi-agents schools in a flexible research system to be used with coding or for research any general case.
Query Google NotebookLM from Claude/AI agents with 14 security hardening layers. Session-based conversations, notebook library management, and source-grounded research responses.
Category & Scope
Tools & Capabilities Breakdown
Multi Research Agents Tools (6)
MCP DeepResearch tool
Ktor REST search endpoint
Parallel specialized subagents
Iterative agent deployment
Web search and content fetching
OpenRouter model access
Notebooklm MCP Secure Tools (25)
ask_question
NotebookLM notebook Q&A via browser automation.
No active notebook is selected.
Use list_notebooks and select_notebook to choose one, or pass notebook_url.
No Gemini API key is required, but browser authentication must be valid.
If login is required, use the setup_auth tool and verify with get_health (or ask the user to run the notebooklm.auth-setup prompt for a guided walkthrough).
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Multi Research Agents is categorized under Research and uses a local stdio subprocess. In contrast, Notebooklm MCP Secure belongs to Research using local stdio subprocess. Select Multi Research Agents when you need capabilities focused on research and Notebooklm MCP Secure when you require tools for research.
Add a NotebookLM notebook to the local library after explicit user confirmation. Provide the NotebookLM URL plus concise metadata: name, description, topics, and optional use cases/tags. Do not infer missing metadata; ask the user first.
list_notebooks
List all library notebooks with metadata (name, topics, use cases, URL). Use this to present options, then ask which notebook to use for the task.
get_notebook
Get detailed information about a specific notebook by ID
select_notebook
Set a notebook as the active default (used when ask_question has no notebook_id).
## When To Use
- User switches context: "Let's work on React now"
- User asks explicitly to activate a notebook
- Obvious task change requires another notebook
## Auto-Switching
- Safe to auto-switch if the context is clear and you announce it:
"Switching to React notebook for this task..."
- If ambiguous, ask: "Switch to [notebook] for this task?"
## Example
User: "Now let's build the React frontend"
You: "Switching to React notebook..." (call select_notebook)
update_notebook
Update notebook metadata based on user intent.
## Pattern
1) Identify target notebook and fields (topics, description, use_cases, tags, url)
2) Propose the exact change back to the user
3) After explicit confirmation, call this tool
## Examples
- User: "React notebook also covers Next.js 14"
You: "Add 'Next.js 14' to topics for React?"
User: "Yes" → call update_notebook
- User: "Include error handling in n8n description"
You: "Update the n8n description to mention error handling?"
User: "Yes" → call update_notebook
Tip: You may update multiple fields at once if requested.
remove_notebook
Dangerous — requires explicit user confirmation.
## Confirmation Workflow
1) User requests removal ("Remove the React notebook")
2) Look up full name to confirm
3) Ask: "Remove '[notebook_name]' from your library? (Does not delete the actual NotebookLM notebook)"
4) Only on explicit "Yes" → call remove_notebook
Never remove without permission or based on assumptions.
Example:
User: "Delete the old React notebook"
You: "Remove 'React Best Practices' from your library?"
User: "Yes" → call remove_notebook
search_notebooks
Search library by query (name, description, topics, tags). Use to propose relevant notebooks for the task and then ask which to use.
create_notebook
Create a new NotebookLM notebook with sources programmatically.
## What This Tool Does
- Creates a NEW notebook in your NotebookLM account
- Uploads sources (URLs, text, files) to the notebook
- Returns the notebook URL for immediate use
- Optionally adds to your local library
## Supported Source Types
- **url**: Web page URL (documentation, articles, etc.)
- **text**: Raw text content (code, notes, etc.)
- **file**: Local file path (PDF, DOCX, TXT)
## Example Usage
Create a notebook from API documentation:
```json
{
"name": "React Docs",
"sources": [
{ "type": "url", "value": "https://react.dev/reference/react" }
]
}
```
Create a notebook with multiple sources:
```json
{
"name": "Security Research",
"sources": [
{ "type": "url", "value": "https://owasp.org/Top10" },
{ "type": "file", "value": "/path/to/security-report.pdf" },
{ "type": "text", "value": "Custom notes...", "title": "My Notes" }
],
"description": "Security best practices and research",
"topics": ["security", "owasp", "best-practices"]
}
```
## NotebookLM Limits (Free Tier)
- 100 notebooks maximum
- 50 sources per notebook
- 500k words per source
- 50 queries per day
## Notes
- Requires authentication (run setup_auth first)
- Creates notebook with sharing set to private by default
- Large files may take longer to process
sync_library
Sync your local library with actual NotebookLM notebooks.
## What This Tool Does
- Navigates to NotebookLM and extracts all your notebooks
- Compares with local library entries
- Detects stale entries (notebooks deleted or URLs changed)
- Identifies notebooks not in your library
- Optionally auto-removes stale entries
## When To Use
- Library seems out of sync with NotebookLM
- After deleting notebooks in NotebookLM
- To discover new notebooks to add
- Before setting up automation workflows
## Output
Returns a sync report with:
- **matched**: Library entries that match actual notebooks
- **staleEntries**: Library entries with no matching notebook (candidates for removal)
- **missingNotebooks**: NotebookLM notebooks not in library (candidates for adding)
- **suggestions**: Recommended actions
## Example Usage
```json
{ "auto_fix": false }
```
With auto-fix to remove stale entries:
```json
{ "auto_fix": true }
```
list_sources
List sources in a notebook. Provide notebook_id or notebook_url; if neither is provided, the active notebook from the local library is used. Returns source id, title, type, and status.
add_source
Add a source to an existing NotebookLM notebook.
If neither `notebook_id` nor `notebook_url` is provided, this tool uses the currently active notebook from the local library.
## Source Types
- **url**: Web page URL
- **text**: Text content (paste)
- **file**: Local file path (PDF, DOCX, TXT)
## Example
```json
{
"notebook_id": "my-notebook",
"source": {
"type": "url",
"value": "https://docs.example.com/api"
}
}
```